Billing and limits
You pay per request, at a price set by the shape of the request rather than by the platform answering it. All 18 endpoints are priced from the same three-line list, which is why adding a platform does not add a price.
Three classes
One record by id.
A single call with nothing carried over from a previous one.
Several ids in one call.
One request stands in for several, and carries a body rather than a key.
Keyword search, paginated for you.
Every page past the first has to be continued from the one before it, and the results arrive framed rather than plain.
Prices are held to a millionth of a dollar, so a hundred lookups is exactly $0.10 and not almost. Which class a route falls in is on its page and in the sidebar.
Charged on success, and only then
A request is billed when it comes back 200. Anything else — a failure on our side, a platform that would not answer, a body that did not validate — is recorded in your usage at $0.00 and never reaches your balance.
- Failures still count against the day. An attempt costs us capacity whether or not it comes back with an answer, so the daily counter moves either way.
- Refusals do not. A request turned away for going too fast never reaches the counter at all.
- The free plan meters at zero. Every call is written to your usage at $0.00, so the shape of your traffic is visible before there is a bill attached to it.
- Every charge is a line in the ledger. Route, class, status and price, per request.
Four plans
Evaluation. Every call meters at $0.00 and the ceiling is hard.
Pay as you go, at the list price above.
Production volume, at the list price above.
Negotiated volume. Prices are per-account from here.
The two ceilings
The daily ceiling is the real limit. The per-second burst only stops one caller emptying a day's allowance in a minute; it is not a throughput tier and raising it will not get you more requests per day. Either can be raised on an account without moving it to a different plan.
Both refusals carry Retry-After. For a burst it is one second. For a daily ceiling it counts down to 00:00 UTC, so it is a wait measured in hours and worth branching on rather than retrying into.
429 Too Many Requests
retry-after: 1
{"error":"too many requests per second for this plan; slow down and retry",
"code":"rate_limited"}
429 Too Many Requests
retry-after: 41235
{"error":"this plan allows 5000 requests per day; the counter resets at 00:00 UTC",
"code":"daily_limit_reached"}The order things are checked
Burst bucket, then the daily counter, then the price, then your balance, then the work. A caller who is simply going too fast is turned away before anything is looked up — which is why a 429 is cheap for both of us.
Because the balance is checked before the work rather than after it, requests running in parallel can each pass that check before any of them charges. The overdraw is bounded by your burst limit times the price — cents, at the top plan — and it is recorded in the ledger rather than hidden.
The same numbers, laid out for someone deciding rather than someone integrating, are on pricing.