Guides

Read the X-Quota-Used and X-Quota-Limit headers correctly

Every response from the API, successful or not, carries a set of headers describing exactly where you stand against your allowance. Reading them correctly means understanding what each one counts.

The core pair

X-Quota-Limit is the size of your current allowance, either the free daily allowance or the effective limit under an Unlimited package. X-Quota-Used is how many requests have counted against that allowance so far in the current period. Subtracting one from the other by hand is unnecessary, since X-Quota-Free-Remaining already does that for you.

HTTP/1.1 200 OK
X-Quota-Limit: 2500
X-Quota-Used: 1840
X-Quota-Free-Remaining: 660
X-Quota-Network-Used: 1840
X-Credits-Remaining: 0.00
X-Key-IPs-Used: 1
X-Key-IPs-Limit: 3
X-Quota-Reset: 2026-09-22T00:00:00Z

Key usage versus network usage

X-Quota-Used reflects usage tied to your key, while X-Quota-Network-Used reflects usage from the surrounding network, since the free allowance is shared across every IPv4 address in the same /24 and every IPv6 address in the same /48, whether or not a key is involved. If a key is called from several servers behind the same address block, the network figure will climb faster than any single server would expect from its own traffic.

The IP slot pair

X-Key-IPs-Used and X-Key-IPs-Limit describe a different thing entirely: how many distinct source addresses have used this particular key recently, against the rolling limit of two or three addresses allowed per key. A key called from a single server will show a steady 1 here. A key shared across several unrelated servers, or copied into a script that ends up running from many machines, will climb toward the limit, which is worth watching separately from your request quota, since it can block a key even when plenty of free requests remain.

Credits and reset time

X-Credits-Remaining shows your prepaid balance once you have moved past the free allowance and are drawing on credit at €0.0001 a request. X-Quota-Reset tells you exactly when the current daily allowance resets, which is more reliable than assuming a fixed time based on your own clock.

What to build against these headers

A dashboard, an alert, or just a log line that reads these headers after every call gives you a live picture of usage with no separate reporting call needed, since the numbers arrive on the response you already made. Reading them costs nothing extra, since they ride along on every request you were already sending, whether that request succeeded or came back as an error.

A mistake worth avoiding

Reading these headers only when something goes wrong means you find out about a quota problem at the same moment your users do. Log at least X-Quota-Free-Remaining and X-Credits-Remaining on a regular schedule, or after every call in a low-traffic integration, so a slow climb toward the limit shows up as a trend in a dashboard rather than as a sudden batch of 429 responses.

Reading quota headers on every response, rather than waiting for a 429 to notice a problem, is the difference between a graceful slowdown and a surprised one. The full header list is documented on the rate limits page.