Limits and retries
Rate limits
| REST API | 120 requests per minute per account |
| Website search while signed out | 30 searches per minute per IP |
| Sign in, sign up and password reset | 5 attempts per minute per IP |
Over the limit you get 429 rate_limited. Wait a minute. Check many names in one search call (up to 50) rather than one call each.
Idempotency
Registration and renewal accept an Idempotency-Key header or idempotency_key field (up to 100 characters). Reusing a key returns the first order instead of buying again, even if the first request is still running. Use a value tied to the purchase in your system, like signup-8271, so retries after a crash still match.
What's safe to retry
| Situation | Retry? |
|---|---|
| Timeout or 5xx on register or renew | Yes, with the same idempotency key. Or poll GET /orders. |
processing order | Don't re-order. Poll GET /orders/{id} every few seconds, or wait for the webhook. |
price_changed | Only after the payer agrees to the new price, with a new max_price. |
| Reads, DNS and nameserver changes | Yes. Adding the same DNS record twice creates two records, so list first. |
Size limits
- Search: up to 50 domains per call. Suggestions: up to 30.
- Nameservers: 2 to 6. DNS TTL: 300 to 86400 seconds.
- Registration terms: 1 to 10 years, within each extension's range in
GET /prices.