跳转到主要内容
Advertiser API 的请求速率限制与 REST API v1.1 类似,详见:REST API Rate Limiting in v1.1。但与 REST API v1.1 不同,暂无按 endpoint 提供的可编程限制索引。各 endpoint 的请求速率限制与重置时间窗口通过 HTTP 响应头返回。所有 Ads API 的请求速率限制均基于 OAuth 1.0a。

用户级别与广告账户级别限制

请求速率限制分为两种类型:用户令牌级别和广告账户级别。部分 endpoint 启用了广告账户级别的请求速率限制。用户令牌是你用于进行身份验证并调用 X Ads API 的 OAuth access token。每个用户令牌可以访问一个或多个广告账户。 当响应头中提供了广告账户级别的请求速率限制时,开发者应优先采用该限制;仅在找不到广告账户级别限制时,才使用用户级别限制。 用户级别的请求速率限制通过以下响应头表示:x-rate-limit-limitx-rate-limit-remainingx-rate-limit-reset 对于启用了广告账户级别请求速率限制的 endpoint,请求速率限制通过以下响应头表示:x-account-rate-limit-limitx-account-rate-limit-remainingx-account-rate-limit-reset 广告账户级别的请求速率限制仅适用于 GET endpoint,使应用能够在单个用户令牌访问多个广告账户时同步实体 data(例如 campaign 或 line item 对象)。写入操作不保证使用相同的广告账户级别请求速率限制。 对于受广告账户级别请求速率限制的 endpoint,用户级别的请求速率限制会设置为一个较高的值,代表整个应用的全局配额。在可用时,应以广告账户级别的请求速率限制为准来控制请求量。

最佳实践

  1. 在数据库中保存上次同步的时间戳;在适用的情况下,请求数据时使用 sort_by=updated_at-desc 选项,这样在遇到早于上次同步时间戳的数据时即可停止同步过程,从而避免重复同步相同数据。
  2. 在单个请求中获取多个实体:某些 endpoint 允许你提供以逗号分隔的取值列表,以一次检索多条相似数据。这可以减少总体调用次数,从而更高效地利用请求速率限制。
  3. 在请求中使用最大 “count” 值:对于某些 endpoint(例如 GET accounts/:account_id/targeting_criteria),强烈建议使用最大 count 值,以返回 1000 个对象,而不是默认的 200 个。

Analytics 同步

有关 analytics endpoint 的请求速率限制的更多信息,请参阅Analytics 请求速率限制指南

常见问题

是否可以为特定广告账户或我们的 App 提高请求速率限制? 我们通常无法提高请求速率限制;这些限制的设定已足以支持规模最大的广告账户。请先落实本文档中列出的最佳实践;如果请求速率限制仍影响您扩容或达成业务目标,请联系您的 X Ads API 对接人,并提供关于用例和相关请求的完整详情。

请求速率限制的作用域

本文档的作用域

  • 分类:属于指定分类的所有 endpoint 在每个时间窗口内共享单一分配的请求速率限制。
  • Endpoint:每个 endpoint 在每个时间窗口内都有其各自独立分配的请求速率限制。

X Ads API 请求速率限制一览表

X Ads API 请求速率限制

endpoint 类型按 endpoint 或类别划分的范围每 1 分钟窗口的请求速率限制
写操作(POST、PUT、DELETE)类别450
受众endpoint1500
endpoint 类型按 endpoint 或类别划分的范围每 15 分钟窗口的请求速率限制
分析(同步)类别250
核心实体读取(Line Items、Campaigns 等)

其他账户读取(其他带有 :account_id 的 GET endpoint)
endpoint(广告账户级)

endpoint(部分广告账户级)
10,000

2000
定向条件(除下述之外)类别400
定向条件(tv_markets、tv_shows)endpoint2000
受众洞察类别400
关键词洞察类别500
全局读取(不带 :account_id 的 GET endpoint)endpoint5
转化endpoint60,000
I