Plans Beta
The public plan matrix — prices and every per-plan limit — readable straight from the API, so a billing page or upgrade prompt in your own product never drifts out of date. Reference data; this endpoint takes no url.
Unlimited values are returned as null, because JSON has no representation for infinity.
Authentication
Send your API key as an X-API-Key header, or as a key query parameter. Available on every plan, including Free — plans differ only in requests per day. This call costs one request against your daily quota, which is shared across every key on the account. See Authentication.
Query parameters
| Name | Type | Description |
|---|---|---|
key optional | string | Your API key, if not sent as the X-API-Key header. |
Request
Response
- {
- "plans": [
- { "plan": "free", "label": "Free", "monthlyUsd": 0,
- "limits": { "sites": 1, "keywordsPerProject": 5, "apiRequestsPerDay": 100,
- "uptimeMonitors": 5, "seats": 1, "exports": false,
- "whiteLabel": false, "api": true } },
- { "plan": "enterprise", "label": "Enterprise", "monthlyUsd": null,
- "limits": { "sites": null, "apiRequestsPerDay": null } }
- ],
- "note": "null in limits means unlimited / negotiated fair use.",
- "usage": { "used": 1, "dailyLimit": 100, "tier": "free" }
- }
Response fields
| Field | Type | Description |
|---|---|---|
plans[].plan | string | The plan key — free, starter, growth, scale, enterprise. |
plans[].monthlyUsd | number | null | Monthly list price in USD. null on Enterprise (negotiated). |
plans[].limits | object | Every limit for that plan. apiRequestsPerDay is the one that governs this API. |
note | string | Reminds you that null in limits means unlimited / fair use. |
There is no per-endpoint plan gating on this API — every plan, Free included, can call every endpoint. Plans differ only in apiRequestsPerDay. See Rate limits.
Errors
| Status | When |
|---|---|
401 | Missing or invalid API key. |
429 | Burst rate limit (60 req/10s per IP, 30 req/10s per key) or your daily quota. See Rate limits. |
503 | Plan data is unavailable on this server. This check runs before authentication. |
Errors return { "error": "…" }; see Errors.