> ## Documentation Index
> Fetch the complete documentation index at: https://docs.snappy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> Global, API-specific, and endpoint-specific rate limits for the Snappy API. Response codes, backoff guidance, and best practices.

To maintain consistent performance and availability, the APIs apply global, API-specific, and endpoint-specific rate limits.
All limits are measured per Company. Requests made with different API keys belonging to the same Company share the Company's limits. The most restrictive applicable limit takes precedence.

## How rate limiting works

Snappy uses a **token bucket** model. Each bucket has two parameters:

* **Sustained rate** - the rate at which tokens are added to the bucket, measured in requests per second (**RPS**). Each request, read or write, consumes one token.
* **Burst capacity** - the maximum number of tokens the bucket can hold, determining how many requests can be handled in a short burst.
  When traffic stays below the sustained rate, unused tokens accumulate up to the burst capacity. These saved tokens provide temporary headroom for traffic spikes. After they are consumed, requests must follow the sustained rate until the bucket refills.

## API rate limits

| API                       | Rate limits                                                                                                    |
| ------------------------- | -------------------------------------------------------------------------------------------------------------- |
| **Global API rate limit** | • **25 RPS** across all APIs<br />• Burst capacity: **200 requests**                                           |
| **Marketplace API**       | • Read: **25 RPS,** burst capacity: **200 requests**<br />• Write: **10 RPS,** burst capacity: **30 requests** |
| **Administration API**    | • Read: **10 RPS,** burst capacity: **30 requests**<br />• Write: **5 RPS,** burst capacity: **20 requests**   |
| **Authentication API**    | • Read: **5 RPS,** burst capacity: **30 requests**<br />• Write: **5 RPS,** burst capacity: **10 requests**    |

## Endpoint-specific limits

### Endpoint-specific export limits

| Endpoint                                                                       | Write limits                                                |
| ------------------------------------------------------------------------------ | ----------------------------------------------------------- |
| `POST /v3/products/exports`                                                    | **1 concurrent export job**, shared across all export types |
| `POST /v3/collections/exports`                                                 | **1 concurrent export job**, shared across all export types |
| Creating another export while any export job is active returns `409 Conflict`. |                                                             |

## Rate-limit responses

When a rate limit is exceeded, the API returns a `429 Too Many Requests` response:

```json theme={null}
{
  "status": 429,
  "message": "Request rate limit exceeded. You can learn more here: https://docs.snappy.com/pages/rate-limits"
}
```

Clients should throttle requests according to the documented rate and burst limits. After receiving a `429 Too Many Requests` response, clients should reduce their request rate before retrying. Requests that continue to exceed the applicable limit may receive additional `429` responses.

## Fair-use protection

Additional temporary safeguards may be applied when traffic patterns threaten platform stability, including unusually large bursts, excessive polling, repeated failures, or automated abuse. Clients affected by these safeguards receive a `429 Too Many Requests` response.
Higher limits may be approved for verified integrations with demonstrated business requirements.
