Per-key request rates, monthly quotas and what counts as billable.
Two limits apply: a rate limit on how fast you can call the API, and a monthly quota on how many billable enrichments you can make. Both depend on your plan; see Pricing.
Rate limit
Each API key has a requests-per-second limit with a small burst allowance, so short spikes are fine.
Every request counts, including requests that return no merchant and requests that fail. A batch is one request.
Above the limit you get 429 with the code rate_limited and a Retry-After header in seconds.
HTTP/1.1 429 Too Many Requests
Retry-After: 1
{"error": {"code": "rate_limited", "message": "Rate limit of 2 requests per second exceeded. Retry after the Retry-After header.", "request_id": "req_…"}}
Need more throughput for a backlog? Use batch: 100 descriptors cost one request against the rate limit.
Monthly quota
An enrichment is billable when it returns a merchant, whether the answer came from the cache or the AI. Results with merchant: null are free.
Quotas follow UTC calendar months and reset on the 1st.
When the quota is used up, enrichment requests return 402 with the code quota_exceeded.
A batch with more items than your remaining quota is rejected as a whole, so you never get a partial batch.
Checking your usage
GET /v1/usage returns your plan, how much of this month's quota you have used, what remains, and a daily breakdown. See the reference.