Rate limiting caps how many requests a client can make in a time window. It protects the service from overload and abuse, and it protects you from runaway scripts.
How limits work in the SyllHost API
- The limit is set per account and applies per key. The default is 60 requests per minute.
- Over the limit you receive
429 rate_limitedand aRetry-Afterheader with the seconds to wait. - Repeated invalid keys from one IP are blocked for a while.
- You can read your limit with
GET /account(rate_limit_per_minute).
What a 429 looks like
HTTP/1.1 429 Too Many Requests
Retry-After: 23
{"error": {"code": "rate_limited", "message": "Too many requests."}}
How to stay within limits
- Cache catalogue data. Plans and domain prices change rarely. Cache
/productsand/domains/tldsfor minutes or hours. - Avoid polling in tight loops. Poll a pending service every 30 to 60 seconds, not every second.
- Use pagination properly. Request
per_page=100instead of many small pages. - Queue background work and process it at a steady rate.
- Respect Retry-After. Sleep for that many seconds before retrying.
Simple handling in code
if r.status_code == 429:
time.sleep(int(r.headers.get("Retry-After", 5)))
# then retry the same request (same Idempotency-Key if it was an order)
Need a higher limit?
If your integration legitimately needs more, contact us. Limits are configurable per account.
Related: REST API error handling and key security.
Why limits exist
Without limits, one faulty script can send thousands of requests a minute and slow the service for everyone. Limits also stop credential-guessing attacks. They are a safety net for you as much as for the provider: a bug in your loop is stopped before it does real damage.
A polite client
- Spread requests evenly instead of bursts.
- Use a queue with a worker that sleeps between calls.
- Stop immediately on 401 or 403 instead of hammering the API.
- Add jitter to retries so many workers do not retry at the same second.
Estimating your needs
Count requests per customer action. A checkout might use one domain check, one order and a couple of polls, around 5 to 10 calls. With a limit of 60 per minute you can handle several customers per minute comfortably. Only large batch jobs need a higher limit or throttling.
FAQ
Does a 429 charge me?
No. A rate-limited request is rejected before any action is taken.
Are limits per IP or per key?
Per key. Failed authentication attempts are additionally throttled per IP.
Build with our API: read the Reseller API reference and the step-by-step guide. API access is enabled per account, so contact us to request it.