SKULabs enforces several bucket-based rate limits that you may encounter while using our API. Additionally, some endpoints have special rate limits or account-level locks to prevent abuse of bulk endpoints.
Per-api-key limits
You are limited to 2 requests per second per API key.
Per-account limits
You are limited to your planβs associated rate limit, broken up into hourly buckets. As of August 2024:
- Basic - 1000/day in buckets of 41/hour
- Premium - 100β000/day in buckets of 4β166/hour
- Enterprise - 300β000/day in buckets of 12β500/hour
- Enterprise 2X (Paid) in buckets of 25β000/hour
- Enterprise 4X (Paid) in buckets of 50β000/hour
Endpoint limits
It is rare, but certain endpoints have custom rate limits, you may need to dynamically wait in these cases.
Endpoint locks
Some endpoints have locks that prevent multiple requests from being processed simultaneously by API for the entire account. These are typically actions like bulk_reconcile, bulk_delete, or bulk_receive. You should queue and wait for each request to finish or implement an exponential fallback algorithm and resubmit your requests until you receive a 200, 202, or 203 status code.
Dynamically waiting for rate limit resets.
If your 429 error contains an error object, you can wait error.data.wait_seconds seconds for your rate limit bucket to reset.
{ "error": { "message": "Rate limited. You are allowed etc...", data: { "wait_seconds": 8 } } }
This number can be up to an hour or longer. Do not arbitrarily sleep your program in response to this error.