All rate limits on the Instagram Platform are controlled separately for each access token, and on a sliding 1-hour window. Live apps have higher rate limits than apps in Sandbox Mode.
Global Rate Limits
Global rate limits are applied inclusive of all API calls made by an app per access token over the 1-hour sliding window, regardless of the particular endpoint. Rate limits also apply to invalid or malformed requests.
CLIENT STATUS
RATE LIMIT
Sandbox
500 / hour
Live
5000 / hour
Endpoint-Specific Rate Limits
Endpoints used to publish (POST or DELETE) have rate limits that are applied on an per-endpoint basis. Any calls made to these endpoints by your OAuth Client are also counted towards the global rate limits noted above.
CLIENT STATUS
ENDPOINT
RATE LIMIT
Sandbox
/media/media-id/likes
30 / hour
Sandbox
/media/media-id/comments
30 / hour
Sandbox
/users/user-id/relationships
30 / hour
Live
/media/media-id/likes
60 / hour
Live
/media/media-id/comments
60 / hour
Live
/users/user-id/relationships
60 / hour
Response Codes
If your app exceeds any of these rate limits, you will receive a response with an HTTP response code of 429 (Too Many Requests). The body of the response will consist of the following fields:
FIELD
VALUE
code
429
error_type
OAuthRateLimitException
error_message
The maximum number of requests per hour has been exceeded.
You may also receive responses with an HTTP response code of 400 (Bad Request) if we detect spammy behavior by a person using your app. These errors are unrelated to rate limiting.