Developers
Markdowners exposes a small read-only API for scripts and AI agents, plus an llms.txt index at the site root. No API key required — every endpoint below reads only published, public content.
llms.txt
A machine-readable index of the site (https://llmstxt.org convention): the top modules by rating, the full category list, and links to these docs.
curl https://markdowners.com/llms.txtGET /api/v1/modules/{username}/{slug}
Full metadata, body, and declared dependencies for one published module. Returns 404 if the module doesn't exist or isn't published.
curl "https://markdowners.com/api/v1/modules/markdowners/stripe-integration"{
"module": {
"username": "markdowners",
"slug": "stripe-integration",
"title": "Stripe Integration",
"description": "...",
"category": "payments",
"subcategory": "stripe",
"language": "en",
"license": "CC-BY-4.0",
"rating": { "average": 4.6, "count": 12 },
"downloads": 340,
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-02T00:00:00.000Z",
"body": "..."
},
"dependencies": [
{ "username": "markdowners", "slug": "webhook-handling", "kind": "requires", "position": 0 }
],
"urls": {
"html": "https://markdowners.com/m/markdowners/stripe-integration",
"raw": "https://markdowners.com/m/markdowners/stripe-integration/raw"
}
}GET /api/v1/compile
Compiles one or more modules into a single instructions file — the same compiler the site's Stack Builder uses. "modules" is a comma-separated list of "username/slug" pairs (1–50). "target" picks the output format (defaults to "generic"); "resolveDeps" controls whether required dependencies are auto-included (defaults to "true").
curl "https://markdowners.com/api/v1/compile?modules=markdowners/stripe-integration&target=claude"{
"filename": "CLAUDE.md",
"content": "...",
"warnings": [],
"suggestions": [],
"tokenEstimate": 812
}Errors
Every non-2xx response is { error: { code, message } } with a matching HTTP status: 400 for a malformed request, 404 for an unknown or unpublished module, 422 if a compile request exceeds the compiler's depth/module limits, 429 once you hit the rate limit.
{ "error": { "code": "module_not_found", "message": "Unknown or unpublished module: \"acme/missing\"." } }Rate limits
Per-IP, per-hour. Module lookups share the same generous limit as the rest of the site's read APIs; compiles are capped more tightly since they do real work. Limits aren't published as exact numbers — treat 429 responses as a signal to back off and retry later.
CLI
A command-line client for this API is coming soon.
Terms
Using this API is subject to the same Terms of Service as the rest of the site. Read the Terms of Service.