X (Twitter) API レート制限 計算ツール
1 日あたりの利用量を入力すると、X の月間 3,000,000 件の Post 読み取り上限にいつ達するか、リソース単価で計算した X の月額がいくらになるか、月間上限のないコール課金 API と比べてどれだけ差が出るかを試算します。
X API の月額コストを試算
Post 読み取り 1 件あたり $0.005。このペースでは、従量課金の月間 3M Post 読み取り上限の 10% を消費します
1 リソースあたり $0.010(Post の 2 倍)
1 リソースあたり $0.001(標準の Post 単価の 5 分の 1)
1 件あたり $0.015
1 件あたり $0.200(通常の Post の 13 倍)
月間 3M の Post 読み取り上限のしくみ
X API はサブスクリプションのない従量課金(pay-per-use)です。Post の読み取りは 1 件目から $0.005 かかるため、請求額は件数に比例して増えます。100K 件で $500、1M 件で $5,000 です。制約になるのは上限のほうで、従量課金で読み取れるのは月次の請求サイクルあたり 3,000,000 件までです。月に 2.9M 件の Post を取得するジョブは $14,500 で済みますが、同じジョブが 5M 件になると従量課金ではそもそも実行できず、Enterprise への移行が必要になります。Enterprise は問い合わせフォーム経由での提供で、価格は公開されていません。
ほかのリソースも呼び出しごとに課金されます。User の読み取り、DM イベントの読み取り、フォロワー / フォロー中の読み取り、Trends の読み取りは 1 リソースあたり $0.010 で、Post の 2 倍です。Post の作成は通常の投稿なら 1 件 $0.015 ですが、URL を含む投稿は 1 件 $0.200 に跳ね上がります。13 倍の割増で、見積もりに入れていなかったチームが想定外の請求を受けやすい項目です。X 側で有利に働くのは Owned Reads です。開発者アプリが自分のアカウントのデータに対して行う呼び出しは 1 リソースあたり $0.001 で、標準単価の 5 分の 1 で済みます。
単価よりも上限のほうが効いてくる理由
$0.005 という単価は、掛け算をするまでは小さく見えます。月に 2M 件を読み取るワークロードは、X では $10,000(2M × $0.005)、TwitterAPI.io では約 $300(1,000 ツイートあたり $0.15)です。Post の読み取りだけで約 33 倍の差があり、User の読み取りや URL 付きの Post が加わると差はさらに広がります。月 3M 件を超えると、もはや価格の比較ではなくなります。X の従量課金では、そのワークロード自体を処理できないからです。
この計算ツールが考慮していないもの
スライダーの計算には含まれない実コストが 2 つあります。時間枠ごとのレート制限は月間上限とは別物で、X は利用額にかかわらず、エンドポイントごとに 15 分単位の制限を設けています(docs.x.com を参照)。月間上限を守っている長時間ジョブでも、エンドポイント単位・時間枠単位の 429 は発生しうるため、クライアント側に指数バックオフを組み込んでおいてください。逆に有利に働くのが、X の 24 時間の重複排除です。同じ UTC 日のうちに同じ Post が複数のクエリで返された場合、課金上は 1 件として数えられるため、キャッシュを多用するワークロードでは、単純計算よりも 3M 上限の消費が少なくなります。この 2 点について本ツールはあえて単純に計算しており、表示されるのは平均値ではなく上限値です。
よくある質問
X API の月間 Post 読み取り上限とは何ですか?
X API はサブスクリプションのない従量課金です。Post の読み取りは 1 件 $0.005 で、従量課金で利用できるのは月次の請求サイクルあたり 3,000,000 件までです(3M 件で $15,000)。上限を超える場合は Enterprise が必要で、X は問い合わせフォーム経由で提供しており、価格は公開されていません。
この計算ツールの単価はどの程度正確ですか?
リソース別の単価($0.005 / $0.010 / $0.001 / $0.200)と 3M 上限は、docs.x.com/x-api/getting-started/pricing および docs.x.com/x-api/fundamentals/post-cap から直接引用しています。X は「Prices are subject to change」(価格は変更される場合があります)と明記しているため、購入前に Developer Console で確認してください。計算そのものは単純な四則演算です。
TwitterAPI.io にもレート制限はありますか?
あります。ただし 15 分単位の時間枠ではなく、1 秒あたりの制限です。初回の支払い前は 0.2 リクエスト/秒(5 秒に 1 回)、支払い後はチャージでもプランでも 20 リクエスト/秒、Scale では 50、Business では 500 で、申請により最大 1,000 まで引き上げられます。超過すると HTTP 429 が返ります(Retry-After ヘッダーは付かないため、1 秒ほど待ってバックオフしながら再試行します)。料金は 1,000 ツイートあたり $0.15 で、月間 3M の Post 読み取り上限はないため、コストは取得した量に比例します。
X で URL 付きの Post 作成が高いのはなぜですか?
X は URL を含む Post の作成に 1 件 $0.200 を課金します。通常の Post の $0.015 の 13 倍、Post 読み取りの $0.005 の 40 倍です。この割増は、X が URL の処理(プレビューの生成、セーフブラウジングのチェック、t.co への書き換え)にかかるとしている運用コストを反映したものです。プログラムから Post を作成する場合は、このコストを見積もりに含めておく必要があります。
Owned Reads とは何ですか?
Owned Reads は、開発者アプリが自分のアカウントのデータに対して行う呼び出しです。たとえば、開発者アプリを所有しているのと同じ X アカウントのフォロワー一覧を取得する場合が該当します。1 リソースあたり $0.001($1 で 1,000 件)で課金され、標準の Post 読み取り単価 $0.005 の 5 分の 1 です。