目录
X API v2 请求速率限制
endpoint | Pro 配额 | Basic 配额 | Free 配额 |
---|---|---|---|
Tweets | |||
DELETE /2/tweets/:id | 每 15 分钟 50 个请求 每位用户 | 每 15 分钟 5 个请求 每位用户 | 每 24 小时 17 个请求 每位用户 每 24 小时 17 个请求 每个 App |
DELETE /2/users/:id/likes/:tweet_id | 50 次请求 / 15 分钟 按用户计 | 100 次请求 / 24 小时 按用户计 | 1 次请求 / 15 分钟 按用户计 |
DELETE /2/users/:id/retweets/:tweet_id | 50 次请求 / 15 分钟 按用户计 | 5 次请求 / 15 分钟 按用户计 | 1 次请求 / 15 分钟 按用户计 |
GET /2/tweets | 900 次请求 / 15 分钟 每位用户 450 次请求 / 15 分钟 每个 App | 15 次请求 / 15 分钟 每位用户 15 次请求 / 15 分钟 每个 App | 1 次请求 / 15 分钟 每位用户 1 次请求 / 15 分钟 每个 App |
GET /2/tweets/:id | 每 15 分钟 900 次请求 按用户 每 15 分钟 450 次请求 按 App | 每 15 分钟 15 次请求 按用户 每 15 分钟 15 次请求 按 App | 每 15 分钟 1 次请求 按用户 每 15 分钟 1 次请求 按 App |
GET /2/tweets/:id/liking_users | 每 15 分钟 75 次请求 按用户 每 15 分钟 75 次请求 按 App | 每 15 分钟 5 次请求 按用户 每 15 分钟 25 次请求 按 App | 每 15 分钟 1 次请求 按用户 每 15 分钟 1 次请求 按 App |
GET /2/tweets/:id/quote_tweets | 75 次请求/15 分钟 每位用户 75 次请求/15 分钟 每个 App | 5 次请求/15 分钟 每位用户 5 次请求/15 分钟 每个 App | 1 次请求/15 分钟 每位用户 1 次请求/15 分钟 每个 App |
GET /2/tweets/:id/retweeted_by | 75 次请求/15 分钟 每位用户 75 次请求/15 分钟 每个 App | 5 次请求/15 分钟 每位用户 5 次请求/15 分钟 每个 App | 1 次请求/15 分钟 每位用户 1 次请求/15 分钟 每个 App |
GET /2/tweets/counts/all | 每 15 分钟 300 次请求 按 App 计 | ||
GET /2/tweets/counts/recent | 每 15 分钟 300 次请求 按 App 计 | 每 15 分钟 5 次请求 按 App 计 | 每 15 分钟 1 次请求 按 App 计 |
GET /2/tweets/search/all | 1 次请求/秒 每位用户 1 次请求/秒 每个 App | ||
GET /2/tweets/search/recent | 300 次请求 / 15 分钟 按用户 450 次请求 / 15 分钟 按 App | 60 次请求 / 15 分钟 按用户 60 次请求 / 15 分钟 按 App | 1 次请求 / 15 分钟 按用户 1 次请求 / 15 分钟 按 App |
GET /2/tweets/search/stream | 每15分钟 50 次请求 每个 App | ||
GET /2/tweets/search/stream/rules | 450 次请求/15 分钟 按 App 计 | ||
GET /2/users/:id/liked_tweets | 每 15 分钟 75 次请求 每位用户 每 15 分钟 75 次请求 每个 App | 每 15 分钟 5 次请求 每位用户 每 15 分钟 5 次请求 每个 App | 每 15 分钟 1 次请求 每位用户 每 15 分钟 1 次请求 每个 App |
GET /2/users/:id/mentions | 每 15 分钟可发起 300 次请求 按用户计 每 15 分钟可发起 450 次请求 按 App 计 | 每 15 分钟可发起 10 次请求 按用户计 每 15 分钟可发起 15 次请求 按 App 计 | 每 15 分钟可发起 1 次请求 按用户计 每 15 分钟可发起 1 次请求 按 App 计 |
GET /2/users/:id/timelines/reverse_chronological | 180 次请求/15 分钟 按用户计 | 5 次请求/15 分钟 按用户计 | 1 次请求/15 分钟 按用户计 |
GET /2/users/:id/tweets | 900 次请求 / 15 分钟 每位用户 1500 次请求 / 15 分钟 每个 App | 5 次请求 / 15 分钟 每位用户 10 次请求 / 15 分钟 每个 App | 1 次请求 / 15 分钟 每位用户 1 次请求 / 15 分钟 每个 App |
GET /2/users/reposts_of_me | 每 15 分钟 75 次请求 按用户计 | 每 15 分钟 75 次请求 按用户计 | 每 15 分钟 1 次请求 按用户计 |
POST /2/tweets | 100 次请求/15 分钟 每位用户 10,000 次请求/24 小时 每个 App | 100 次请求/24 小时 每位用户 1,667 次请求/24 小时 每个 App | 17 次请求/24 小时 每位用户 17 次请求/24 小时 每个 App |
POST /2/tweets/search/stream/rules | 每 15 分钟 100 次请求 每个 App | ||
POST /2/users/:id/likes | 1000 次请求/24 小时 按用户计 | 200 次请求/24 小时 按用户计 | 1 次请求/15 分钟 按用户计 |
POST /2/users/:id/retweets | 50 次请求/15 分钟 按用户计 | 5 次请求/15 分钟 按用户计 | 1 次请求/15 分钟 按用户计 |
PUT /2/tweets/:tweet_id/hidden | 每 15 分钟 50 次请求 每位用户 | 每 15 分钟 5 次请求 每位用户 | 每 15 分钟 1 次请求 每位用户 |
用户 | |||
DELETE /2/users/:source_user_id/following/:target_user_id | 50 次请求 / 15 分钟 按用户计 | 5 次请求 / 15 分钟 按用户计 | 1 次请求 / 15 分钟 按用户计 |
DELETE /2/users/:source_user_id/muting/:target_user_id | 50 次请求 / 15 分钟 按用户计 | 5 次请求 / 15 分钟 按用户计 | 1 次请求 / 15 分钟 按用户计 |
GET /2/users | 900 次请求 / 15 分钟 每位用户 300 次请求 / 15 分钟 每个 App | 100 次请求 / 24 小时 每位用户 500 次请求 / 24 小时 每个 App | 1 次请求 / 24 小时 每位用户 1 次请求 / 24 小时 每个 App |
GET /2/users/:id | 900 次请求/15 分钟 每个用户 300 次请求/15 分钟 每个 App | 100 次请求/24 小时 每个用户 500 次请求/24 小时 每个 App | 1 次请求/24 小时 每个用户 1 次请求/24 小时 每个 App |
GET /2/users/:id/blocking | 15 次请求 / 15 分钟 按用户 | 5 次请求 / 15 分钟 按用户 | 1 次请求 / 15 分钟 按用户 |
GET /2/users/:id/muting | 15 次请求 / 15 分钟 按用户 | 100 次请求 / 24 小时 按用户 | 1 次请求 / 24 小时 按用户 |
GET /2/users/by | 900 次请求 / 15 分钟 按用户 300 次请求 / 15 分钟 按 App | 100 次请求 / 24 小时 按用户 500 次请求 / 24 小时 按 App | 1 次请求 / 24 小时 按用户 1 次请求 / 24 小时 按 App |
GET /2/users/by/username/:username | 900 次请求/15 分钟 每位用户 300 次请求/15 分钟 每个 App | 100 次请求/24 小时 每位用户 500 次请求/24 小时 每个 App | 3 次请求/15 分钟 每位用户 3 次请求/15 分钟 每个 App |
GET /2/users/me | 每 15 分钟 75 次请求 按用户 | 每 24 小时 250 次请求 按用户 | 每 24 小时 25 次请求 按用户 |
GET /2/users/search | 900 次请求/15 分钟 按用户 300 次请求/15 分钟 按 App | ||
POST /2/users/:id/following | 50 次请求/15 分钟 按用户计 | 5 次请求/15 分钟 按用户计 | 1 次请求/15 分钟 按用户计 |
POST /2/users/:id/muting | 50 次请求/15 分钟 按用户计 | 5 次请求/15 分钟 按用户计 | 1 次请求/15 分钟 按用户计 |
Spaces | |||
GET /2/spaces | 每 15 分钟 300 次请求 按用户 每 15 分钟 300 次请求 按 App | 每 15 分钟 5 次请求 按用户 每 15 分钟 25 次请求 按 App | 每 15 分钟 1 次请求 按用户 每 15 分钟 1 次请求 按 App |
GET /2/spaces/:id | 每 15 分钟 300 次请求 每位用户 每 15 分钟 300 次请求 每个 App | 每 15 分钟 5 次请求 每位用户 每 15 分钟 25 次请求 每个 App | 每 15 分钟 1 次请求 每位用户 每 15 分钟 1 次请求 每个 App |
GET /2/spaces/:id/buyers | 300 次请求/15 分钟 每个用户 300 次请求/15 分钟 每个 App | 5 次请求/15 分钟 每个用户 25 次请求/15 分钟 每个 App | 1 次请求/15 分钟 每个用户 1 次请求/15 分钟 每个 App |
GET /2/spaces/:id/tweets | 每 15 分钟 300 次请求 每位用户 每 15 分钟 300 次请求 每个 App | 每 15 分钟 5 次请求 每位用户 每 15 分钟 25 次请求 每个 App | 每 15 分钟 1 次请求 每位用户 每 15 分钟 1 次请求 每个 App |
GET /2/spaces/by/creator_ids | 15 分钟内最多 300 次请求 每位用户 每秒最多 1 次请求 每个 App | 15 分钟内最多 5 次请求 每位用户 每秒最多 25 次请求 每个 App | 每秒最多 1 次请求 每位用户 15 分钟内最多 1 次请求 每个 App |
GET /2/spaces/search | 300 次请求 / 15 分钟 按用户 300 次请求 / 15 分钟 按 App | 5 次请求 / 15 分钟 按用户 25 次请求 / 15 分钟 按 App | 1 次请求 / 15 分钟 按用户 1 次请求 / 15 分钟 按 App |
私信 | |||
DELETE /2/dm_events/:id | 1500 次请求 / 24 小时 每个用户 4000 次请求 / 24 小时 每个 App | 200 次请求 / 15 分钟 每个用户 2500 次请求 / 24 小时 每个 App | |
GET /2/dm_conversations/:dm_conversation_id/dm_events | 15 次请求 / 15 分钟 按用户计 | 1 次请求 / 24 小时 按用户计 | |
GET /2/dm_conversations/with/:participant_id/dm_events | 15 次请求 / 15 分钟 按用户计 | 1 次请求 / 24 小时 按用户计 | |
GET /2/dm_events | 15 次请求 / 15 分钟 按用户计 | 1 次请求 / 24 小时 按用户计 | |
GET /2/dm_events/:id | 15 次请求 / 15 分钟 按用户计 | 5 次请求 / 24 小时 按用户计 | |
POST /2/dm_conversations | 15 次请求 / 15 分钟 每位用户 1440 次请求 / 24 小时 每个 App | 1 次请求 / 24 小时 每位用户 1 次请求 / 24 小时 每个 App | |
POST /2/dm_conversations/:dm_conversation_id/messages | 15 次请求 / 15 分钟 按用户 1440 次请求 / 24 小时 按 App | 1 次请求 / 24 小时 按用户 1 次请求 / 24 小时 按 App | |
POST /2/dm_conversations/with/:participant_id/messages | 1440 次请求 / 24 小时 每个用户 1440 次请求 / 24 小时 每个 App | 1 次请求 / 24 小时 每个用户 1 次请求 / 24 小时 每个 App | |
List | |||
DELETE /2/lists/:id | 15 分钟内最多 300 次请求 按用户计 | 15 分钟内最多 5 次请求 按用户计 | 15 分钟内最多 1 次请求 按用户计 |
DELETE /2/lists/:id/members/:user_id | 300 次请求/15 分钟 每位用户 | 5 次请求/15 分钟 每位用户 | 1 次请求/15 分钟 每位用户 |
DELETE /2/users/:id/followed_lists/:list_id | 50 次请求 / 15 分钟 按用户 | 5 次请求 / 15 分钟 按用户 | 1 次请求 / 15 分钟 按用户 |
DELETE /2/users/:id/pinned_lists/:list_id | 50 次请求 / 15 分钟 按用户 | 5 次请求 / 15 分钟 按用户 | 1 次请求 / 15 分钟 按用户 |
GET /2/lists/:id | 75 次请求 / 15 分钟 每位用户 75 次请求 / 15 分钟 每个 App | 5 次请求 / 15 分钟 每位用户 5 次请求 / 15 分钟 每个 App | 1 次请求 / 15 分钟 每位用户 1 次请求 / 15 分钟 每个 App |
GET /2/lists/:id/members | 900 次请求 / 15 分钟 每位用户 900 次请求 / 15 分钟 每个 App | 5 次请求 / 15 分钟 每位用户 25 次请求 / 15 分钟 每个 App | 1 次请求 / 15 分钟 每位用户 1 次请求 / 15 分钟 每个 App |
GET /2/lists/:id/tweets | 900 次请求 / 15 分钟 每个用户 900 次请求 / 15 分钟 每个 App | 5 次请求 / 15 分钟 每个用户 25 次请求 / 15 分钟 每个 App | |
GET /2/users/:id/list_memberships | 75 次请求/15 分钟 按用户 75 次请求/15 分钟 按 App | 5 次请求/15 分钟 按用户 25 次请求/15 分钟 按 App | 1 次请求/15 分钟 按用户 1 次请求/15 分钟 按 App |
GET /2/users/:id/owned_lists | 15 次请求 / 15 分钟 按用户 15 次请求 / 15 分钟 按 App | 100 次请求 / 24 小时 按用户 500 次请求 / 24 小时 按 App | 1 次请求 / 24 小时 按用户 1 次请求 / 24 小时 按 App |
GET /2/users/:id/pinned_lists | 15 次请求 / 15 分钟 按用户 15 次请求 / 15 分钟 按 App | 100 次请求 / 24 小时 按用户 500 次请求 / 24 小时 按 App | 1 次请求 / 24 小时 按用户 1 次请求 / 24 小时 按 App |
POST /2/lists | 300 次请求/15 分钟 每位用户 | 100 次请求/24 小时 每位用户 | 1 次请求/24 小时 每位用户 |
POST /2/lists/:id/members | 每 15 分钟 300 次请求 按用户 | 每 15 分钟 5 次请求 按用户 | 每 15 分钟 1 次请求 按用户 |
POST /2/users/:id/followed_lists | 每 15 分钟 50 次请求 每用户 | 每 15 分钟 5 次请求 每用户 | 每 15 分钟 1 次请求 每用户 |
POST /2/users/:id/pinned_lists | 50 次请求 / 15 分钟 每位用户 | 5 次请求 / 15 分钟 每位用户 | 1 次请求 / 15 分钟 每位用户 |
PUT /2/lists/:id | 每 15 分钟最多 300 次请求 每位用户 | 每 15 分钟最多 5 次请求 每位用户 | 每 15 分钟最多 1 次请求 每位用户 |
书签 | |||
DELETE /2/users/:id/bookmarks/:tweet_id | 50 次请求 / 15 分钟 按用户计 | 5 次请求 / 15 分钟 按用户计 | 1 次请求 / 15 分钟 按用户计 |
GET /2/users/:id/bookmarks | 180 次请求 / 15 分钟 按用户计 | 10 次请求 / 15 分钟 按用户计 | 1 次请求 / 15 分钟 按用户计 |
GET /2/users/:id/bookmarks/folders | 50 次请求 / 15 分钟 每位用户 50 次请求 / 15 分钟 每个 App | 5 次请求 / 15 分钟 每位用户 5 次请求 / 15 分钟 每个 App | 1 次请求 / 15 分钟 每位用户 1 次请求 / 15 分钟 每个 App |
GET /2/users/:id/bookmarks/folders/:folder_id | 50 次请求 / 15 分钟 按用户 50 次请求 / 15 分钟 按 App | 5 次请求 / 15 分钟 按用户 5 次请求 / 15 分钟 按 App | 1 次请求 / 15 分钟 按用户 1 次请求 / 15 分钟 按 App |
POST /2/users/:id/bookmarks | 50 次请求 / 15 分钟 每个用户 | 5 次请求 / 15 分钟 每个用户 | 1 次请求 / 15 分钟 每个用户 |
合规 | |||
GET /2/compliance/jobs | 150 次请求/15 分钟 按 App 计算 | 5 次请求/15 分钟 按 App 计算 | 1 次请求/15 分钟 按 App 计算 |
GET /2/compliance/jobs/:job_id | 150 次请求 / 15 分钟 按 App 计 | 5 次请求 / 15 分钟 按 App 计 | 1 次请求 / 15 分钟 按 App 计 |
POST /2/compliance/jobs | 150 次请求 / 15 分钟 按 App 计 | 15 次请求 / 15 分钟 按 App 计 | 1 次请求 / 15 分钟 按 App 计 |
使用方法 | |||
GET /2/usage/tweets | 每 15 分钟 50 次请求 按 App 计 | 每 15 分钟 50 次请求 按 App 计 | 每 15 分钟 1 次请求 按 App 计 |
趋势 | |||
GET /2/trends/by/woeid/:id | 75 次请求/15 分钟 每个 App | 15 次请求/15 分钟 每个 App | |
GET /2/users/personalized_trends | 10 次请求/15 分钟 每个用户 200 次请求/15 分钟 每个 App | 1 次请求/15 分钟 每个用户 20 次请求/15 分钟 每个 App | 1 次请求/15 分钟 每个用户 1 次请求/24 小时 每个 App |
社群 | |||
GET /2/communities/:id | 300 次请求/15 分钟 每位用户 300 次请求/15 分钟 每个 App | 1 次请求/15 分钟 每位用户 25 次请求/15 分钟 每个 App | 1 次请求/15 分钟 每位用户 1 次请求/15 分钟 每个 App |
GET /2/communities/search | 300 次请求 / 15 分钟 按用户 300 次请求 / 15 分钟 按 App | 1 次请求 / 15 分钟 按用户 25 次请求 / 15 分钟 按 App | 1 次请求 / 15 分钟 按用户 1 次请求 / 15 分钟 按 App |
请求速率限制与身份验证方法
-
OAuth 2.0 Bearer Token:App 级请求速率限制
此方法允许你代表开发者 App 发出一定数量的请求。使用该身份验证方式时,请求限制由使用 Bearer Token 发起的请求数量决定。
- 例如:在“每 15 分钟 450 次请求”的限制下,你可以在该时间段内代表 App 发出最多 450 次请求。
-
OAuth 1.0a User Context:用户级请求速率限制
此方法允许你代表由用户 Access Token 标识的 X 用户发起请求。例如,如需检索 Post 的私有度量,请使用通过 三方 OAuth 授权流程 为该用户生成的用户 Access Tokens 进行身份验证。
- 例如:在“每位用户每 15 分钟 900 次请求”的限制下,你可以在该时间窗口内对每位用户发起最多 900 次请求。
HTTP 标头与响应代码
x-rate-limit-limit
: 该 endpoint 的请求速率限制上限x-rate-limit-remaining
: 15 分钟时间窗口内剩余的请求数x-rate-limit-reset
: 距离请求速率限制重置的剩余时间(以 UTC 纪元秒计)
错误响应
从请求速率限制中恢复
当发生 “Too Many Requests” 或限速错误时,需要降低发起请求的频率。当遇到请求速率限制错误时,可以检查
x-rate-limit-reset:
HTTP 头以了解限速何时会重置。另一种常见模式是指数退避(exponential backoff):请求之间的时间一开始较短(例如几秒),然后在每次重试前加倍。持续执行该策略,直到请求成功,或达到某个合理的请求间隔上限(例如几分钟)。
理想情况下,客户端应能自感知现有的请求速率限制,并在当前超限窗口到期前暂停请求。如果你超过了 15 分钟的限制,那么在重试前等待一两分钟是合理的。
请注意,除这些关于请求次数的限制外,Standard Basic 访问级别每月还可通过 recent search 和 filtered stream endpoint 提供最多 500,000 条 Post。如果你已超出每月的 Post 配额,那么让你的 App 发送通知、记录其每月的计费/结算日,并在该日前暂停请求会更合理。
避免触发请求速率限制的提示
缓存
优先考虑活跃用户
适配搜索结果
拒止名单
- 说明你认为应用程序被拒止的原因。
- 如果你已不再受到请求速率限制,请详细描述你是如何解决该问题的。