---
title: Identifying rate limits
framework: appstoreserverapi
role: article
role_heading: Article
path: appstoreserverapi/identifying-rate-limits
---

# Identifying rate limits

Recognize the rate limits that apply to App Store Server API endpoints and handle them in your code.

## Overview

Overview The App Store Server API limits the number of requests that you can submit to each endpoint within a specified timespan. The request limits apply per app. The following table lists the rate limits for each endpoint in the production environment, expressed in requests per second. The system enforces rate limits on an hourly basis.  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |  The rate limits in the sandbox environment are 10% of the limits in the table above. The App Store server may make adjustments to reduce or increase these rate limits as needed at any time. Handle exceeded rate limits gracefully If you exceed a per-hour limit, the API rejects the request with an HTTP 429 response, with a RateLimitExceededError in the body.  Consider the following as you integrate the API: If you periodically call the API, throttle your requests to avoid exceeding the per-hour limit for an endpoint. Manage the HTTP 429 RateLimitExceededError in your error-handling process. For example, log the failure and queue the job to process it again at a later time. Check the Retry-After header if you receive the HTTP 429 error. This header contains a UNIX time, in milliseconds, that informs you when you can next send a request.

## See Also

### Essentials

- [Simplifying your implementation by using the App Store Server Library](appstoreserverapi/simplifying-your-implementation-by-using-the-app-store-server-library.md)
- [Creating API keys to authorize API requests](appstoreserverapi/creating-api-keys-to-authorize-api-requests.md)
- [Generating JSON Web Tokens for API requests](appstoreserverapi/generating-json-web-tokens-for-api-requests.md)
- [App Store Server API changelog](appstoreserverapi/app-store-server-api-changelog.md)
