Rate Limiting

The Marketing API has it is own rate limiting logic and is excluded from all the Graph API rate limitations. So if you make a Marketing API call, it won't be calculated into the Graph API throttling.

All Marketing API requests, and Pages API requests made with a system or page access token, are subject to Business Use Case (BUC) Rate Limits, and depend on the endpoints you are querying. See Business Use Case Rate Limits.

API-Level Limits

  • Rate limiting is at the ad account level.
  • Rate limits happen in real time on a given time range.
  • Each Marketing API call is assigned a score. Your score is the sum of your API calls.
  • We enforce a maximum score, and when you reach it, we throw a throttling error.
  • Update requests are 10~100 more resource intensive than create requests.

Related error code: 17, Message: User request limit reached.

For the Insights API rate limits, see Ads Insights Level Rate Limiting.

App-Level Limits

  • Rate limiting is at the application level.
  • Rate limiting is determined by total users of an app.
  • When your app is rate limited, all calls for the app are limited.
  • App Level Rate Limiting is enforced.

Related error code: 4, Message: Application request limit reached. When the error is encountered, scale back your calls.

Ad Account Level Limits

We compute the rate limit quota on your Marketing API access tier and the business owning your app.

  • Number of changes to the ad account spend_cap, spend_cap_action fields are limited.
  • ads_management - As of v4.0, for each ad account in a one-hour time period: (100000 if your app is in the Standard tier or 300 if your app is in the Dev tier) + 40 * Num of Active ads.
  • custom_audience - As of v4.0, for each ad account in a one-hour time period: No more than 700000. No less than 190000 if your app is in the Standard tier or 5000 if your app is in the Dev tier + 40 * Number of Active custom audiences.

Related error code: 17, Message: User request limit reached. Verify the error code (17) and API end point to confirm the throttling type. When this error is encountered, scale back the changes to the ad account.

Ad Set Level Limits

The number of changes to the ad set daily_budget,lifetime_budget` fields are limited. For each ad set, the budget is only allowed to change 4 times per hour, if exceeds the limit, the budget change for that ad set is blocked for an hour.

Related error code: 17, Message: User request limit reached. Verify the error code (17) and API end point to confirm the throttling type. When this error is encountered, scale back the changes to the ad set.

Ad Level Limits

The number of ad creation is limited for a given ad account based on the daily spend limit.

Related error code: 1487225, Message: User request limit reached. Verify the error code (1487225) and API end point to confirm the throttling type. When this error is encountered, scale back the changes. To increase your limit, you can also increase the daily spend limit.

Handle Throttling Errors