Each plan includes a monthly request allowance. Every API shares the same tiers — the plan you're on sets your volume, and one key works across every endpoint.
| Plan | Requests / month | Best for |
|---|---|---|
| Free | 100 | Start building, no card required. |
| Starter | 2,000 | For small apps and side projects. |
| Pro | 10,000 | For production workloads. |
| Scale | 50,000 | For high-volume integrations. |
Beta: only the Free plan is live today — paid tiers are marked “Coming soon” on the pricing page. The caps above are what each plan will grant.
Your plan counts HTTP calls, and every call counts the same. What changes is the work behind it — which is why fresh=1 is rate-limited separately.
| Request | Counts against your plan | What happens behind it |
|---|---|---|
| Within the cache window | 1 call | Served from the stored snapshot. No upstream request, no classification. |
| Cache expired | 1 call | The last good copy is served immediately and the refresh runs in the background, so you do not wait for it. |
?fresh=1 | 1 call | Forces the upstream fetch and the classification before answering. Subject to a five-minute minimum between successful refreshes per subject and to a cooldown after a source failure — both reported through Retry-After and the refreshDeferred fields, so a deferred refresh answers with data rather than an error. |
Calling fresh=1 in a loop does not get you fresher data: inside the five-minute window it returns the same reading and the response says so. Poll the cached endpoint instead.
Once you reach your monthly cap, further requests return 429 Too Many Requests with a message noting the limit. Requests succeed again after the monthly reset, or immediately if you upgrade to a higher tier. See Errors for the full response shape.
Need more volume? Compare plans and upgrade anytime.