Twitter 旧レート制限

TwitterTwitter API 旧仕様

APIのレート制限

 状態:  閲覧数:1,588  投稿日:2016-11-23  更新日:2019-03-07
2種類
・ユーザー(アクセストークン)数単位
・アプリケーション単位

一覧表
・GET
Endpoint リクエスト回数 / 15分 user認証 リクエスト回数 / 15分 app認証
search/tweets 180 450
公式doc
Rate Limiting




TwitterのAPI制限にかかった時の解決法
TwitterAPIの制限について

search/tweets

 閲覧数:497 投稿日:2016-11-27 更新日:2016-11-29

取得ツイート数


ツイート検索 取得できるツイート数の上限 / 1回
・100件

デフォルト
・15件


取得ツイート投稿日


期間制限
・指定された日付より前に作成されたツイートを返す
・検索インデックスには7日間の制限がある
・1週間以上経過したツイートを検索することは出来ない
Returns tweets created before the given date. Date should be formatted as YYYY-MM-DD. Keep in mind that the search index has a 7-day limit. In other words, no tweets will be found for a date older than one week.


ツイート取得リクエスト間隔


「Twitter Developers」へ登録したapp単位での認証
・リクエスト450回まで / 15分=900秒で
・サイトへ対して、15分間隔で450回以上アクセスがあればエラー発生

「連携アプリを認証」ボタンを押したuser単位での認証
・リクエスト180回まで / 15分=900秒で
・「連携アプリを認証」ボタンを押したuserが、15分間隔で180回以上アクセスすればエラー発生
・同一userが、平均で5秒間に1回以上ページ更新すればエラー発生


「ツイート取得リクエスト間隔」を考える


ツイートがメインのサービスではなく、メインコンテンツの補足としてツイートを表示する場合
・user単位で認証させることは難しい

app単位での認証
・複数ページでツイート取得する場合、各ページ毎にトークンを変えれば、各ページ単位で450回まで取得可能
→ 設置するページの数だけ、「Twitter Developers」でAPP登録する必要がある
→ 現実的ではない


対応案1


app単位で認証を行った後、取得結果をキャッシュ保存
・ツイートがメインのサービスではないため、そこまでリアル性は求めていない
(リアル性を求める場合は、ツイートがメインのサービスであろうと思われるため、user単位で認証すべき)
頻繁に使用すると思われる場合は、APIの応答結果をアプリケーションやサイトの内部に保存します。例えばウェブサイト上の全てのページで、表示されるたびに毎回Twitter APIを実行するのはやめてください。 そうはせずに、たまにAPIを実行して応答結果をローカルキャッシュに保存してください。ユーザーがウェブサイトを表示した時に保存されたレスポンス結果を読み込んでください。

簡易キャッシュ


対応案2


一定間隔で取得したツイートをDB保存
・アクセスがある度にDB参照


対応案3


user単位で認証









GET search/tweets


Twitter API 1.0

旧 Twitter API 分類 / REST APIs / Streaming APIs



週間人気ページランキング / 4-9 → 4-15
順位 ページタイトル抜粋 アクセス数
1 GitHubリモートリポジトリ名には日本語を使用できない。使用すると、ハイフンへ自動置換されてしまう | GitHub(Git) 4
2 we are unable to approve your developer application at this time. | Twitter Developer(Twitter) 2
2 Twitter 複数アカウントでPOSTしたい | Twitter Developer(Twitter) 2
2 TwitterOAuth では、画像URL を指定した画像投稿は出来ない(と思う)。ライブラリを使用しなければ出来るから、Twitter API の制限ではない(と思われる)  | Twitter 2
2 teratailでは質問しない | プログラミング 2
2 「Twitterデータ」対応 | Twitter Developer(Twitter) 2
2 Windows10で使用できるGitクライアント | GitHub(Git) 2
3 「Google AdSense」と「iOSアプリ開発」の共通点 | Webサービスビジネス 1
3 Webサイト制作履歴 | Webサービス開発 1
3 アクセス数が少ない Webサイト(開発ブログ) を非公開へ変更 | Webサービス開発 1
3 13.作業ディレクトリ内の変更をステージングエリアへ追加してコミット候補にする / 14.インデックスに追加されたファイルをコミットする(コミットメッセージも指定する) / 15.ローカルリポジトリ(mainブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる 1
3 Webサイト終了プライベート手順 | Webサービス開発 1
3 トラブル発生する度に「Git GUI」を探すが、いつも「Git Bash」が一番じゃん、という結論になる。 | GitHub(Git) 1
3 「既存Twitterアプリが使用できる」からと言って「Twitter開発者アカウント」を保持しているとは限らない | Twitter Developer(Twitter) 1
3 GitHub への PUSH へ 1回成功したぐらいでは、Git 理解したことには全然ならない | Git BASH(Git) 1
3 同じ携帯電話番号でも、複数の「Twitter Developers」アカウントを作成可能 | Twitter Developer(Twitter) 1
3 電話番号認証を新規で行う(SMSメールを受信する)度に、(以前の該当アカウントでは)下記メールを受け取る 1
3 リファクタは、開発が一区切りついた段階でなるべく実行した方が良い | Webサービス開発 1
3 Twitter API 1.0 | Twitter API 旧仕様(Twitter) 1
3 「Twitter Developers」でApp作成 | Twitter Developer(Twitter) 1
2025/4/16 1:02 更新