Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How webpages like Statigram doesn't exceed Instagram API rate limits

Well, pretty much what it says on the tin.

I'm really curious about how pages like Statigram do their search functionality without users authentication and not exceeding the limits?

If I'm correct, Instagram API allows 5000 calls per hour, so I believe it's very likely that they indeed have more traffic than 5000 requests per hour.

Maybe It's a dumb question and Statigram has a special deal with Instagram to use their API or maybe they don't use the API and they use some other method?

like image 798
jonathanwiesel Avatar asked Aug 09 '13 22:08

jonathanwiesel


People also ask

What are some of the limitations with Instagram's API?

Instagram gives every third-party application connected to its API a limit of how many times it can call their data. They have now reduced their API limit from 5,000 calls per hour to 200 calls per hour.

Does Instagram have a rate limit?

Instagram has changed the number of requests that any company using the INstagram API, including Livefyre, can make from 5,000 requests per hour per token to 200 requests an hour per token. This is known as rate limiting. A token is the same as an Instagram account.

What does API rate limit exceeded mean?

A rate limit is the number of API calls an app or user can make within a given time period. If this limit is exceeded or if CPU or total time limits are exceeded, the app or user may be throttled. API requests made by a throttled user or app will fail.

What is an API limit?

An API rate limit might enforce, say, 100 requests per minute. Once requests exceed that number, it generates an error message to alert the requester that it exceeded the number of allotted requests in a specific time frame.


2 Answers

The only special request you have to send to Instagram is the request to post comments.

The API limit is 5000 requests per hour per access_token or client_id. Every user has their own access_token, so as long as the requests from the third party application uses each individual access token, they will be hard pressed to exceed 5000 per user per hour.

That works out to 83 requests per minute and any user interacting with your application is highly unlikely to hit that.

From the docs:

You are limited to 5000 requests per hour per access_token or client_id overall. Practically, this means you should (when possible) authenticate users so that limits are well outside the reach of a given user.

If you are not using user authentication, you will likely hit the limit with just your client_id.

like image 187
Darryl E. Clarke Avatar answered Oct 03 '22 00:10

Darryl E. Clarke


Most likely they're using one of the following methods:

  • An arrangement with Instagram
  • Credential rotation
  • IP rotation
  • Heavy caching (especially across credentials or IPs)
  • Screenscraping

In cases like this, if you don't have a special arrangement, you're almost certainly violating the terms of service. If you think your service is useful enough that Instagram would be willing to whitelist you to make more requests, get in touch with them.

like image 25
John Sheehan Avatar answered Oct 03 '22 00:10

John Sheehan