specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Checkly providerId: checkly generated: '2026-08-29' method: searched source: https://www.checklyhq.com/docs/api-reference/overview docs: https://www.checklyhq.com/docs/api-reference/overview created: '2026-05-04' modified: '2026-08-29' supersedes: >- The 2026-05-04 bulk-sweep scaffold that previously occupied this file. Every number in it (10 rpm free, 100 rpm pro, monthly request quotas, X-RateLimit-* headers) was a template default and none of it matched Checkly. It has been replaced with what Checkly actually publishes. description: >- Published rate limits for the Checkly Public API. Checkly documents one global ceiling in prose and notes that some routes carry custom limits documented per route. It publishes no rate-limit response headers, which is the notable gap: 223 of 225 operations declare a 429, but nothing tells a client how much budget is left before it arrives. tags: - Monitoring - Testing - Rate Limiting limits: - name: Default public API limit scope: per-account metric: requests limit: 600 window: 60s timeFrame: minute burst: null applies_to: most routes of the Checkly Public API source: https://www.checklyhq.com/docs/api-reference/overview quote: For most of our routes, that limit is 600 requests every 60 seconds. - name: Per-route custom limits scope: per-endpoint metric: requests limit: null window: null applies_to: routes that override the default note: >- Checkly states that routes with custom rate limits document the limit in that route's own documentation. No aggregate list of those routes or their limits is published, and no custom limit appears as an x- extension in the OpenAPI, so a client cannot enumerate them ahead of time. limit_count: 2 headers: limit: null remaining: null reset: null retryAfter: null policy: null documented: false observed: false evidence: >- Grepped the harvested contract for X-RateLimit, RateLimit- and Retry-After - zero header definitions on any response. A live unauthenticated GET https://api.checklyhq.com/v1/checks on 2026-08-29 returned HTTP 401 with no rate-limit headers of any kind (only Cloudflare edge headers, HSTS and the standard security headers). responseCodes: throttled: 429 quotaExceeded: 402 note: >- 429 TooManyRequestsError is the throttle signal and is declared on 223 of 225 operations. 402 PaymentRequiredError is a different failure and is declared on 26 operations - it means the account's plan or entitlement does not cover the resource, and backing off will never clear it. quotas: note: >- Checkly does not meter the API itself by volume. What is metered is the product - monitors, browser-check runs, API-check runs, RCA invocations - and those quotas live on the plan. See plans/checkly-plans-pricing.yml. Two MCP tools, trigger-checks and trigger-root-cause-analysis, are documented as consuming that execution quota. gaps: - No rate-limit response headers, documented or observed. - No Retry-After on throttled responses, so backoff timing is guesswork. - Custom per-route limits are acknowledged but never enumerated. maintainers: - FN: Kin Lane email: kin@apievangelist.com