{"openapi":"3.1.0","info":{"title":"r88z directory API","version":"1.0.0","description":"SaaS, startup and AI agent directories, in one queryable catalog. Read only, no authentication, CORS enabled."},"servers":[{"url":"https://r88z.com"}],"paths":{"/api/directories":{"get":{"operationId":"listDirectories","summary":"Search and filter directories","parameters":[{"name":"q","in":"query","required":false,"description":"Case insensitive match on name, domain or category. (string)","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Exact category name(s), e.g. `AI Tools,Launchpad`. (string (csv))","schema":{"type":"string"}},{"name":"pricing","in":"query","required":false,"description":"Listing price model. (csv of free|freemium|paid|unknown)","schema":{"type":"string"}},{"name":"link_type","in":"query","required":false,"description":"Backlink rel reported for the listing. (csv of dofollow|nofollow|conditional|unknown)","schema":{"type":"string"}},{"name":"dr_min","in":"query","required":false,"description":"Minimum reported Ahrefs Domain Rating. Excludes entries with no DR. (integer 0-100)","schema":{"type":"integer"}},{"name":"dr_max","in":"query","required":false,"description":"Maximum reported Ahrefs Domain Rating. (integer 0-100)","schema":{"type":"integer"}},{"name":"agent_friendly","in":"query","required":false,"description":"Only directories an unattended agent can submit to: free path, no badge or backlink, not OAuth only, no phone, work email or credit card, no hard captcha, not failed. (1)","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"AZN8 verification state. `live` = listing confirmed on a public page. (csv of live|submitted|pending|failed)","schema":{"type":"string"}},{"name":"no_account","in":"query","required":false,"description":"Submission needs no account (`auth=none`). (1)","schema":{"type":"string"}},{"name":"no_captcha","in":"query","required":false,"description":"Captcha is none or Turnstile. Unknown captcha is excluded. (1)","schema":{"type":"string"}},{"name":"no_badge","in":"query","required":false,"description":"No badge, backlink or reciprocal link required. (1)","schema":{"type":"string"}},{"name":"instant","in":"query","required":false,"description":"Listing goes live on save (`review=instant`). (1)","schema":{"type":"string"}},{"name":"api","in":"query","required":false,"description":"The directory offers an API or JSON submit endpoint. (1)","schema":{"type":"string"}},{"name":"sort","in":"query","required":false,"description":"Default `-dr` (highest DR first). (dr|-dr|name|-name)","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Page size for API responses. Default 100. (integer 1-2000)","schema":{"type":"integer"}},{"name":"offset","in":"query","required":false,"description":"Number of results to skip. (integer)","schema":{"type":"integer"}},{"name":"format","in":"query","required":false,"description":"Response format. CSV returns the whole filtered set.","schema":{"enum":["json","csv","md"]}}],"responses":{"200":{"description":"Matching directories","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"},"next":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"directories":{"type":"array","items":{"$ref":"#/components/schemas/Directory"}}}}},"text/csv":{"schema":{"type":"string"}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/api/directories/{id}":{"get":{"operationId":"getDirectory","summary":"Get one directory","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"format","in":"query","required":false,"schema":{"enum":["json","md"]}}],"responses":{"200":{"description":"The directory","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Directory"}},"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"Unknown id"}}}},"/api/categories":{"get":{"operationId":"listCategories","summary":"Categories with counts and catalog stats","responses":{"200":{"description":"Categories"}}}}},"components":{"schemas":{"Directory":{"type":"object","required":["id","name","url","domain","category","pricing","link_type","sources"],"properties":{"id":{"type":"string","example":"product-hunt"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"domain":{"type":"string"},"submit_url":{"anyOf":[{"type":"string","format":"uri"},{"type":"null"}]},"category":{"type":"string"},"pricing":{"enum":["free","freemium","paid","unknown"]},"domain_rating":{"anyOf":[{"type":"integer","minimum":0,"maximum":100},{"type":"null"}]},"link_type":{"enum":["dofollow","nofollow","conditional","unknown"]},"agent":{"anyOf":[{"type":"object","properties":{"friendly":{"type":"boolean"},"status":{"enum":["live","submitted","pending","failed"]},"auth":{"anyOf":[{"enum":["none","email_password","magic_link","oauth_only"]},{"type":"null"}]},"oauth_providers":{"type":"array","items":{"type":"string"}},"captcha":{"anyOf":[{"type":"string"},{"type":"null"}]},"badge_required":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"extra_requirements":{"type":"array","items":{"type":"string"}},"email_verification":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"review":{"anyOf":[{"enum":["instant","queue"]},{"type":"null"}]},"review_days":{"anyOf":[{"type":"integer"},{"type":"null"}]},"api_submit":{"anyOf":[{"type":"boolean"},{"type":"null"}]},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}},{"type":"null"}]},"sources":{"type":"array","items":{"type":"string"}},"snapshot_date":{"type":"string","format":"date"}}}}}}