Rate limits

A rate limit is the number of API calls an AdAccount or user can make within a given time period. If this limit is exceeded, any users under specific AdAccount or particular user may be throttled. API requests made by a throttled user will fail.

All API requests are subject to rate limits. APIs accessing resources under AdAccount scope are limited on AdAccount basis, while the rest APIs are limited on user basis. For more details, please refer to the Quota section below.

Quota

By default, all the APIs are limited on AdAccount basis with quota of 300 / 5min.

EndpointBasisQuota
Default AdAccount300 / 5min
GET/campaign-summaryAdAccount- 60 / min: If group_by parameter only contains DATE, AD_ACCOUNT, APP_OR_SITE, CAMPAIGN, AD_GROUP
- 60 / hour
* Limit: the result taking more than 5 mins is canceled.
POST /campaign-summary/queryAdAccount- 60 / min: If group_by parameter only contains DATE, AD_ACCOUNT, APP_OR_SITE, CAMPAIGN, AD_GROUP
- 60 / hour
* Limit: the result taking more than 5 mins is canceled.
POST /analytics-overviewAdAccount60 / min
POST /analytics-detailAdAccount60 / hour
POST /analytics-skadnetworkAdAccount60 / hour
GET/report-action-eventsAdAccount60 / min
GET/cohort-summaryAdAccount- 60 / min: If type is ROAS type(ROAS, UA_ROAS, RE_ROAS)
- 60 / hour: If type is KPI_ACTION type(KPI_ACTION, UA_KPI_ACTION, RE_KPI_ACTION)
POST /reportsAdAccount- 0~1 date range: 30 / day
- 2~7 date range: 10 / day
- 8~31 date range: 5 / day
* Limit: the result of more than 2M rows is rejected.
POST /logsAdAccount30 / day
GET /ad-accountsUser300 / 5min
GET /configurationUser300 / 5min

HTTP response

The returned HTTP headers of any API request show your current rate limit status:

X-Rate-Limit-Quota      The maximum number of requests you're permitted to make per hour.
X-Rate-Limit-Remaining  The number of requests remaining in the current rate limit window.
X-Rate-Limit-Reset      The time at which the current rate limit window resets in UTC epoch seconds.

When an application exceeds the rate limit for a given API endpoint, the API will return a HTTP 429 “Too Many Requests” response code, and the following error will be returned in the response body:

{
    "code": 8,
    "message": "API quota exceeded. Please try again later. code = ResourceExhausted"
}

FAQs

Quota for the Report APIs is insufficient

We support two types of APIs to retrieve the metric data.

1. CampaignSummary API (GET/campaign-summary)

  • This is a synchronous API which returns json formatted data.
  • Supports more dimensions than Report API. (e.g. Creative Type, Country, etc)
  • If you need to filter Dimension/Metric/Event, then you can use CampaignSummary Query API ( POST /campaign-summary/query
  • Appropriate for frequent use cases. (e.g. Show report data dashboard.)

2. Report API (POST /reports)

  • Asynchronous API which enable you retrieving the data in JSON or CSV file format.
  • Supports less dimension than CampaignSummary API.
  • Appropriate for non-frequent use cases. (e.g. Download the data daily or weekly to set up your own DB.)
  • For more details, please take a look at the Report API Tutorial.

As the CampaignSummary API has larger quota than the Report API, unless you need to download the data in CSV or JSON format, you can use the CampaignSummary API instead.