11 Oct 2026

API Rate Limiting Explained: 429 Errors and How to Handle Them

← All posts

API Rate Limiting Explained: 429 Errors and How to Handle Them

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_limited and a Retry-After header 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

  1. Cache catalogue data. Plans and domain prices change rarely. Cache /products and /domains/tlds for minutes or hours.
  2. Avoid polling in tight loops. Poll a pending service every 30 to 60 seconds, not every second.
  3. Use pagination properly. Request per_page=100 instead of many small pages.
  4. Queue background work and process it at a steady rate.
  5. 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.

Related posts

How to Find Out Who Owns a Domain Name (WHOIS Lookup Guide)

How to Start Using SyllHost: Step-by-Step Beginner Guide (2026)

How to Check a Domain's Expiry Date (3 Easy Ways)

Contact us