{"name":"ClinAds Public API","version":"1.0.0","description":"Read-only JSON access to everything published on getclinads.com. No key, no auth, CORS open. Served as static files.","documentation":"https://getclinads.com/developers","openapi":"https://getclinads.com/openapi.json","markdown_access":"Append `.md` to any page URL for Markdown — https://getclinads.com/dental-ads.md, https://getclinads.com/index.md.","generated":"2026-09-25","endpoints":{"https://getclinads.com/api/v1":"This index.","https://getclinads.com/api/v1/site.json":"Product facts: what ClinAds is, channels, industries, contact.","https://getclinads.com/api/v1/pages.json":"Every indexable page, with its section and Markdown URL.","https://getclinads.com/api/v1/posts.json":"Blog posts with title, description and publish date.","https://getclinads.com/api/v1/tools.json":"The free, no-signup clinic ad generators and audit tools."},"rate_limit":{"requests":600,"window_seconds":60,"policy_header":"\"default\";q=600;w=60","enforced_by":"Cloudflare edge protections; a rejection is 429 with Retry-After.","notes":"No RateLimit-Remaining is sent: these endpoints are static files and nothing counts down."},"versioning":{"current":"v1","scheme":"URL path (/api/v1)","compatibility":"Additive only within a major version: fields may be added, never renamed, retyped or removed. A breaking change ships as /api/v2 alongside /api/v1.","deprecated":false,"deprecation_notice_days":180,"signals":["Deprecation header (RFC 9745) on every response from the deprecated version","Sunset header (RFC 8594) carrying the retirement date","deprecated: true in this payload","a dated note at https://getclinads.com/developers#versioning"],"policy_url":"https://getclinads.com/developers#versioning"}}