I have a bot from Bot Libre connected to my Facebook page and Facebook Messenger.
The bot has its own Facebook app, that has been approved, and has been running for several month without issues.
But the last two days I suddenly get the error below any time I call a Facebook API,
message - (#32) Page request limited reached
code - 32
Relevant information for error recovery can be found on the Facebook Developers Document:
https://developers.facebook.com/docs/graph-api/using-graph-api/#errors
I tried refreshing the bot page access token, but still get the same error?
When I look at the app, it only shows 14 API calls today... don't see how I can be hitting a limit. How do you see the API calls/day for a Facebook page access token?
Anyone else have this issue or know anything about it?
Since July 11, 2016 Facebook has "improved" the Facebook Graph API rate limit for page.
What's my current rate limit?
Now your current rate limit (current 24-hour window) is calculated using last 24-hour window number of engaged users.
Engagement includes a click on the Page or Page content.
NOTE: You can get this value with the Insights API page_engaged_users metric.
What's my current rate?
Your current rate is calculated by using:
Call count
Total time used
CPU time used
You can check you current rate compared to your current rate limit on your page > Insights > API section:
https://www.facebook.com/<your-page-name>/insights/?section=navAPI
What's my current "Call count" limit?
You can make 4800 calls for each engaged user during a 24-hour period.
What can I do?
Wait to get more fans to be able to get a higher rate limit.
Each Facebook Graph API response includes a X-Page-Usage header with call_count, total_cputime and total_time percentage values (There is no header if the Page's utilization is effectively 0%). When any of these metrics exceed 100, the app managing that page will be rate limited. Use that values to evaluate your API usage so you can balance it and never get blocked. Example of page utilization header:
X-Page-Usage : {'call_count' : 85, 'total_cputime' : 56, 'total_time' : 60}
If you still need a higher rate limit, consider requesting a rate limit increase.
Go to your App (not Page) dashboard:
https://developers.facebook.com/apps/<your-api-ID>/dashboard/
Scroll down to the last block called "API limit at page level".
Select you page in the combobox.
Click on the "API Limit Increase Request" button. You'll be requested to fill a form including the reason for your app to reach the rate limit and why your app needs a higher rate limit.
Detailed information
For more information, please see:
Improving Rate Limits for Page Management Apps developers announcement.
API Graph Rate Limiting advanced documentation.
I just faced similar problem with new desktop app, please look at this. Also look at your app Page Level Rate Limiting regarding your page (select it in combobox).
Related
We are developing a project where we need to send probably hundreds of requests to Facebook's graph API per minute. Our main requirement is to continuously monitor hundreds of comments (and possibly posts) of our own page, and respond back where required. Though we haven't tested our complete project on live system yet. But we are sure that it is going to exceed the API's rate limit. We were wondering whether facebook provide some premium access to API where this limit can be bypassed? We have looked into their documentation but are unable to find anything. Or is there any way where we can monitor our page continuously without worrying about this rate limit.
Thank you
I have a website that makes a call to Facebook to see how many times certain links have been shared but i'm wondering about the Rate Limit. I'm trying to estimate the rate limit my site has, according to the official documentation the rate limit is calculated like this:
The number of users for your app is calculated as the average number
of daily active users plus today's new logins as an estimated value.
Apps with a larger number of users may have more accurate rate
limiting than apps with a smaller number of users. Apps with a very
small number of users may have rate limit issues.
But what counts as an active user? everyone that makes a call to the API through my site/app? everyone that visits the site/app and is logged in to Facebook?
Active Users are users who are interacting with your APP (what means that they are making some kind of API calls) It doesn't matter if they are logged into FB when they are using an active access token.
I'm trying to get reach using the graph api for the previous 7 days.
For this I used
me/insights?metric=page_impressions_unique&period=day&since=1462924800&until=1463529600
The problem is that the total reach returned by the above url is not equal with the reach displayed on the facebook website/ insights tab(please see the fig1 for more details).
Using the api I get Reach 2293, BUT facebook displays 494 people reached, for the same period of time.
I'm thinking that maybe i'm not using the same metric as facebook does, maybe they are displaying the reach per post and not per page, but this is only my theory.
Can you please help me out to determine the same value as facebook does?
Thanks,
Catalin
The issue is with you query. You're querying for the metrics on yourself. Replace 'me' with the page id.
<page_id>/insights?metric=page_impressions_unique&period=day&since=1462924800&until=1463529600
Does Facebook have limits on the number of pages or wall posts an application can post per day?
The choice of SDK has nothing to do with application limits on posts per day. You could use the PHP SDK, the JavaScript SDK, or the C# SDK you are asking about (or any of many others...Android, IOS, etc.)
Facebook does enforce limits on how many posts per day your app can complete. It is not a hard and fast number, and varies by app and over time depending on the app's behavior. If your app produces posts of low quality (spammy), as measured by how many times people comment on, like, or hide your app posts, then Facebook will decrease your daily limit. These limits are expressed as "buckets" and can be seen on the Insights page for your app.
You will get an error message back from the Facebook API if you have exceeded the limit. The error number is 341 and the description is "Feed action request limit reached". This is enforced on a per-user, per-day basis.
http://developers.facebook.com/blog/post/247/
It seems there is, though the limit is not static. Check item number 4 on the blog post for more detailed information, but in a nutshell it depends on your application's "ranking" according to an internal algorithm Facebook uses to rank your application.
Had a similar experience and came across this post while searching for a reason as to why FB was limiting the number of posts. We were actually doing some testing of sharing news articles from an app authorized with FB and since we were sharing the same link over and over again, it marked them as spammy and decreased our limit to 7!
Here are some guidelines. http://edoceo.com/notabene/facebook-api-oauthexception-341
If you ever happen to be testing, make sure you are not doing the spammy tests because that would decrease the limit on the app.
I've been using the Graph API for a while.
One feature of my application is that it allows a user to post a message on their friends walls (dont worry it is not spam).
Anyway...there is a limit on the API and it will only allow a certain number of posts before failing. I've read on the facebook bucket allocation limits but my app's limit has not moved. It was 26 when i created the app. It is still 26 even though there are about 20 users.
What can I do to increase my pulish limit?
And I promise this app is not used for anything spam related.
For those wanting an answer to this question: The posting limit is dynamic.
Facebook has implemented a bucket allocation system whereby each token/profile is given a set amount of posts per day (currently at 20-24). This allocation can go up or down based on the "affinity" your users show towards your application.
From Facebook:
Based on the affinity users show for your apps use of Facebook Platform through their interactions, your app is allocated certain abilities and limits. This is the functionality currently allocated to your app. These values will change over time depending on how users interact with your app. All integration points have a set of limit values and the threshold bucket column tells you which of these limits buckets your app is in for that integration point. Bucket 1 is the smallest allocation bucket.
If more people like/use your application, your posting limit will be increased. On the other hand, if you do not have traction or many people are marking posts from your app as spam, then the limit will be decreased.
You can find the current limit of your application by going to the App Page > View Insights > Diagnostics.
You can find the current limit under the Allocations header.
For some reason, FB doesn't clearly tell about this limit. The message quoted above is also nowhere to be found. The closest resources I came across on FB's website are these:
This one briefly talks about the allocation system but doesn't get into details
Also, I found a related FB REST API : But be aware, that this is REST API and should get deprecated soon.