Skip to main content
DZap rate-limits requests to keep the API responsive. Limits are applied per-IP without an API key, and per-key with one. See Authentication for how to send a key.

Limits

The unauthenticated build limit is low enough to hit during normal development — five builds per minute. Use an API key while iterating.

Response headers

Rate-limited responses carry:
x-ratelimit-reset is an ISO-8601 timestamp, not a Unix epoch. x-ratelimit-window is the window length in seconds.

When you hit a limit

You’ll get 429 Too Many Requests:
retryAfter is in seconds. Retry with exponential backoff.
The 429 body is an error object, not the shape the endpoint normally returns. Code that parses a success shape without checking the status first reads it as empty — an empty token list looks like “this chain is unsupported” rather than “you are rate limited”. Check the status before parsing.

Best practices

  • Batch where possible/v1/quotes accepts an array in data. One request, many quotes.
  • Cache quotes briefly — quotes are short-lived; cache server-side if you re-render the same pair.
  • Use an API key in production — per-key limits are higher and more predictable than per-IP.

Need more headroom?

Email support@dzap.io with your projected req/sec and use case.
Last modified on July 28, 2026