References
REST API
Query the registry with simple HTTP requests. No auth required.
Endpoints
/api/programsList all programs (?q=, ?category=, ?type=, ?verified=)
/api/programs/{slug}Get program details by slug
/api/categoriesList all categories with program counts
Example
cookieDays and the payout fields are left out when a program does not publish them. For a program with verified false, cookieDays, approval, approvalTime and payoutMethods are left out and payout is an empty object until its terms are checked against the program's own page, and sentences of its free text that state them are dropped; its commission is returned but unconfirmed. Programs with status paused, discontinued or no_program are returned by slug but not in search results or category counts.
curl "https://openaffiliate.dev/api/programs?q=database&type=recurring&verified=true"
# Response
[
{
"slug": "supabase",
"name": "Supabase",
"commission": { "type": "recurring", "rate": "10%" },
"cookieDays": 60,
"category": "Database",
"verified": true,
...
}
]Brands with no affiliate program
status no_program means no public affiliate program could be found on the brand's own site; discontinued means the brand closed it. GET /api/programs/{slug} still answers for these, with the same shape as any program so existing clients keep working, but with no terms in it:
commissionis a placeholder:type"none",rate"No affiliate program",mode"unknown",valuenull.payoutis an empty object. Cookie, signup, approval and restriction fields are left out.answeris the page's answer: "No (checked <date>).", then the source and quote fromstatusNote.alternativeslists verified programs in the same category that pay cash, each withslug,name,commissionandurl. It can be empty.
curl "https://openaffiliate.dev/api/programs/openrouter"
# Response
{
"slug": "openrouter",
"name": "OpenRouter",
"status": "no_program",
"commission": { "type": "none", "rate": "No affiliate program", "mode": "unknown", "value": null, "currency": "USD" },
"payout": {},
"answer": "No (checked 2026-10-12). OpenRouter has no public affiliate program. ...",
"alternatives": [
{ "slug": "kyma-api", "name": "Kyma API", "commission": "12% recurring/18mo", "url": "https://openaffiliate.dev/programs/kyma-api" }
],
...
}