🔍

Request rate limits

Requests are rate-limited per plan. The window is 15 seconds. If you exceed the limit, the API returns HTTP 429 and you must wait for the window to reset before retrying.

PlanRequests per 15 s
Free1
Basic5
Pro30
Expert75

Bulk requests and construct limits

A single POST /bulk request can contain multiple constructs, up to a per-plan limit. See Bulk / Multiple Assets for the plan-by-plan construct limits and an example of the 429 response when you exceed them.

Handling 429 responses

When rate-limited, the API returns:

429 Too Many Requests
{ "error": "Rate limit exceeded. Your plan allows 30 requests per 15 seconds." }

Wait until the 15-second window expires, then retry. Do not retry immediately in a tight loop — that will keep triggering 429s.

For long-running applications, consider using WebSocket streaming, which maintains one persistent connection and pushes updates without counting per-poll requests.