Skip to main content
Every authenticated response reports your current quota state, and requests are governed by two independent limits. This page explains both, plus the error bodies you should handle.

Response envelope

All endpoints return the same envelope:

metadata.credit

Treat credit as optional. It is omitted for unauthenticated requests, demo/playground responses, and briefly right after a monthly reset (a stale snapshot is dropped rather than shown wrong — it returns on the next request).

Two kinds of limit

Exceeding either limit returns 429 Too Many Requests.
  1. Rate limit — a short-term cap on how fast you can call the API.
  2. Credit quota — the number of requests your plan includes per window.
Key rules for the credit quota:
  • Monthly plans reset on the 1st of each month at 00:00:00 UTC. credit.resetAt always tells you the exact next reset time. Some plans instead use a lifetime quota that does not reset (no resetAt).
  • Only successful requests count. Requests that return an error — 4xx (including auth, validation, and rate-limit errors) and 5xx — do not consume credit.
  • The quota is per account, shared across all API keys on that account.
Exact rate limits and monthly credit allowances depend on your plan. See the pricing page for the figures that apply to you.

429 Too Many Requests

When a quota is exhausted the API returns 429 with a descriptive errorMessage. The status code is always 429; the message reports how much of the quota was used and, for monthly plans, when it resets:
Lifetime-quota plans return the equivalent message without a reset time. The 429 body also carries the same metadata.credit block described above.
If your client parses error text: the 429 errorMessage wording changed. Match on the 429 status code, not on the message string.

Richer detail with showError=true

Appending ?showError=true (supported across endpoints) adds a human-readable errorDetail with next-step guidance:
For lifetime-quota plans, errorDetail instead advises contacting support to raise the limit.