What's the Facebook's Graph API call limit?

Solution 1:

The best answer to this question from another forum, from Ash Rust in 2010:

"After some testing and discussion with the Facebook platform team, there is no official limit I'm aware of or can find in the documentation. However, I've found 600 calls per 600 seconds, per token & per IP to be about where they stop you. I've also seen some application based rate limiting but don't have any numbers.

As a general rule, one call per second should not get rate limited. On the surface this seems very restrictive but remember you can batch certain calls and use the subscription API to get changes."


The above information is now obsolete as of October 2015. It's now 200 API calls per user in any given 60 minute window according to https://developers.facebook.com/docs/graph-api/advanced/rate-limiting

Solution 2:

Now it's official:

Each app is given an allotment of 200 API calls per user in any given 60 minute window.

From the Facebook documentation as of October 7th 2015, here's how rate limiting on the Graph API works:

  • Rate limiting is done on your Facebook AppId. If your app reaches a rate limit, all calls made for that app will be limited not just on a per-user basis.
  • Rate limiting is calculated by taking the number of users your app had the previous day and adding today's new logins. This gives a base number of users that your app has.

As an example, if your app had 10 users yesterday and 5 new logins today, that would give you a base of 15 users. This means that your app can make ((10 + 5) * 200) = 3000 API calls in any 60 minute window.

More information here: https://developers.facebook.com/docs/graph-api/advanced/rate-limiting

--Update as of April 12th 2016--

Facebook has now a Rate Limit Dashboard, which is much easier to see if your app's rate limit is exceeding. It looks like this:

enter image description here

Solution 3:

According to Facebook dev policies "I. Features and Functionality" the only limits are:

(>5M MAU) or (>100M API calls per day) or (>50M impressions per day).

(Mau means monthly users)

It does not say what will they do after exceeding the limits...

Today I have ran to this limitation:

Calls to mailbox_fql have exceeded the rate of 300 calls per 600 seconds.

Overall every table has different set of limits, in most of the cases fql wont return more than 30 objects per fql. Also it seems to me that you can exceed the limits to one table and at the same time you can access different table, the question is whether the api is blocked (after exceeding the limit) for all the user or only for the user that has exceeded the limits... Anyway, after you exceed the limit you have to wait for about 10 minutes, than it is okay.

So technically speaking you can get at most 300*30 objects per 10 minutes in table mailbox_fql.