The two formulas
| Limit | Formula | Applies to |
|---|---|---|
| Business use case (BUC) | 4,800 × number of impressions, per rolling 24 hours | Most Instagram Graph API calls for a professional account. Impressions are how often the account’s content was seen in the last 24 hours. |
| Platform rate limit | 200 × number of users, per rolling hour | Hashtag search and business discovery. Users are the app’s unique daily active users. |
Because both limits scale with activity, a small or new account gets a much lower ceiling than a large one. That is why the same code can work for one account and be throttled for another.
Other caps to know
- Hashtag search: 30 unique hashtags per Instagram account in any 7-day period.
- Publishing: 50 posts per account in 24 hours through the API.
- Messaging: separate per-second limits on the messaging APIs.
- Basic Display API: switched off on 4 December 2024. Apps must use the Instagram API with Instagram Login or Facebook Login instead.
Reading the usage headers
Meta reports usage as percentages rather than a count of remaining calls.
X-Business-Use-Case-Usage: {"<account-id>": [{
"type": "instagram",
"call_count": 72,
"total_cputime": 18,
"total_time": 25,
"estimated_time_to_regain_access": 0
}]}When any value reaches 100, calls are throttled. estimated_time_to_regain_access gives the wait in minutes. The app-level limit is reported in X-App-Usage with the same percentage fields.
Throttling error codes
| Code | Meaning |
|---|---|
| 4 | App-level rate limit reached. |
| 17 | User-level rate limit reached. |
| 32 | Page-level rate limit reached. |
| 613 | A custom limit on a specific call was reached. |
| 80002 | Instagram business use case limit reached. |
The fix is the same for all of them: stop calling, wait for usage to fall, and spread calls out.
What the official API can’t reach
The Instagram Graph API works with professional accounts your users connect. It can look up other business accounts in limited ways, but it cannot read arbitrary public profiles, their followers or the comments on someone else’s reels. Teams that need that public data use a data API instead.
In Monocrawl
Public Instagram data in Monocrawl
Monocrawl reads public Instagram profiles, posts, reels, comments, hashtags and transcripts without an Instagram login or Meta app review. Its limits are your Monocrawl plan’s, reported on every response in x-ratelimit-* headers, not a formula tied to impressions.
instagram/profileandinstagram/postsfor an account and its recent posts.instagram/post-commentsfor the comments on a post or reel.instagram/search-hashtagfor posts under a hashtag, with no weekly hashtag cap.instagram/engagementfor sampled engagement on recent posts.
Common questions
How many API calls does Instagram allow per hour?
There is no single number. Most calls use the business use case limit, 4,800 times the account’s daily impressions over 24 hours. Hashtag search and business discovery use 200 calls per app user per hour.
Why am I rate limited on a new Instagram account?
The limit scales with impressions, so an account with little recent activity has a low ceiling.
Does the 30-hashtag limit reset weekly?
It is a rolling 7-day window per account, so each hashtag frees up 7 days after you first queried it.
Sources