Twitter API v1.1におけるSearch APIのRate Limit
先ごろ Twitter API のバージョン1.1が公開されましたが、個人的に気になっていたのが Search API の Rate Limit です。
Twitterが公開しているドキュメント「REST API Rate Limiting in v1.1 | Twitter Developers」には「15 Minute Windows」という新しい単位みたいなものが登場しています。
Rate limits in version 1.1 of the API are divided into 15 minute intervals, which is a change from the 60 minute blocks in version 1.0.
簡単に訳すと「これまで60分単位のブロックだった Rate Limit が15分単位になる。」という意味。
While in version one of the API, an OAuth-enabled application could initiate 350 GET-based requests per hour per access token, API v1.1’s rate limiting model allows for a wider ranger of requests through per-method request limits.
さらに「これまで1時間につき1アクセストークンあたり 350 GET リクエストだったが、v1.1の Rate Limit モデルはメソッドあたりのリクエスト制限になる。」とあります。
で、この文章で気になるのは v1.1 の Rate Limit は「1アクセストークンあたりなのか?」という点かと思います。「per access token」という記述が後者で省略されてるので、「ん?どっちだろう?」と。
常識的に考えて「per access token」じゃないと意味をなさないのですが、それは Search API でも同様なのか?と。
というわけで実際にスクリプトを書いて調べてみたところ、
- Search API は1アクセストークンあたり15分につき180回リクエスト可能。
- 別のアプリケーションに対するアクセストークンを使えば、さらに15分につき180回リクエスト可能。
- さらに別のアプリケーションに対するアクセストークンを使えば(以下略)
という結果に。
(追記) 上記は別アプリケーションに対する同一ユーザーのアクセストークンを用いた結果ですが、同一アプリケーションに対する別ユーザーのアクセストークンを用いても結果は同じでした。
つまり、アクセストークンが1個あれば1時間に720回(15分に180回)、検索APIをリクエストできると。けっこう緩いですね。。
なお、dev.twitter.com の Discussions に同様の質問と Twitter の中の人から回答が掲載されていました。
» Clarification: Search API limits in 1.1 | Twitter Developers
180 requests per rate limiting window (15 minutes) per authenticated user. 720 requests per hour per authenticated user. There’s some good searching to be done.
とあるように、やはり Search API の Rate Limite も「per authenticated user」だそうです。(検証したように = per access token)
なお前述のドキュメントに「Search will be rate limited at 180 queries per 15 minute window for the time being, but we may adjust that over time.」とあるので、180回という制限は将来的に変更される可能性はあります。
ということなので、最初に紹介した「15 Minute Windows」も「1アクセストークンあたり」という単位が入ってるということになります。
コメントを残す