Contents
1️⃣ Freeプランの概要と正確な制限事項
| 項目 | 内容 |
|---|---|
| 月間無料リクエスト上限 | 1,500 件(全エンドポイント合計) |
| レートリミット | 秒間 5 件まで(バーストは不可) |
| 利用可能エンドポイント | - GET /2/users/:id 系統の Owned Reads - POST /2/tweets (ツイート投稿) |
| 検索系エンドポイント | 完全に有料。Freeプランでは一切利用できません(例:Recent Search、Full‑Archive Search)。 |
| 非対応機能 | リアルタイムストリーム、メディアアップロード、広告関連 API 等 |
ポイント
- 「検索系エンドポイントは有料」ことを明示的に記載することで、Freeプランで検索ができると誤解されるケースを防ぎます。
- 上記表の「利用可能エンドポイント」は公式ドキュメント [X API Pricing – Free Tier](2026年4月版)に基づいています【1】。
適用シーン例
- 個人開発者が自分のプロフィール情報や過去ツイートを取得するだけの場合。
- 小規模なデモアプリで、月間リクエスト数が 1,000 件未満 のケース(Free枠内に収まる)。
Freeプランは課金が一切発生しないため「予算管理が不要」ですが、検索やメディア処理が必要な場合は必ず従量課金へ移行してください。
2️⃣ Pay‑Per‑Use(従量課金)単価根拠と為替レート出典
2.1 単価の公式根拠
以下の単価は X API 公式料金ページ(2026年4月版)に記載された最新情報です【2】。
| エンドポイント | 請求単位 | 単価 (USD) |
|----------------|----------|------------|
| Owned Reads | 1 リクエスト | $0.004 |
| Recent Search | 100 リクエスト | $0.01 |
| Full‑Archive Search | 100 リクエスト | $0.03 |
| Media Upload | 1 リクエスト | $0.02 |
注記:検索系は 100 件単位で課金され、端数は 切り上げ(例:150 件 → 2 単位)となります。
2.2 為替レートの出典
USD → JPY の換算には以下を使用しています。
- 為替レート:$1 = ¥155(2026年4月20日付、Bloomberg の公表データ)【3】
2.3 従量課金の計算式(実装例)
[
\text{月額コスト}{USD}= \sum{i}\Bigl(\bigl\lceil\frac{\text{リクエスト数}_i}{\text{単位件数}_i}\bigr\rceil \times \text{単価}_i\Bigr)
]
Owned Readsは 1 件=1 単位なので ⌈ ÷ 1 ⌉ の計算は不要です。Recent Search/Full‑Archive Searchは必ず 100 件ごとに切り上げ してください。
計算例(複数エンドポイント併用)
| エンドポイント | 月間リクエスト数 | 計算式 | コスト (USD) |
|---|---|---|---|
| Owned Reads | 30,000 | 30,000 × $0.004 | $120 |
| Recent Search | 8,500 | ⎡8,500 ÷ 100⎤ × $0.01 = 85 × $0.01 | $0.85 |
| Media Upload | 200 | 200 × $0.02 | $4 |
| 合計 | — | — | $124.85 ≈ ¥19,353 |
※円換算は上記為替レート(¥155/USD)で算出しています。
3️⃣ 料金シミュレーション:規模別コスト例
3.1 個人利用(月間リクエスト 2,000 件)
| プラン | 無料枠 | 超過分 | コスト (USD) | 円換算 (¥) |
|---|---|---|---|---|
| Free + 従量課金 | 1,500 件無料 | 500 件 Owned Reads | 500 × $0.004 = $2 | ¥310 |
| 完全 Pay‑Per‑Use | 2,000 件すべて従量課金 | — | 2,000 × $0.004 = $8 | ¥1,240 |
結論:Freeプランを活用すると、月額 約¥300 に抑えられます。
3.2 スタートアップ(月間リクエスト 50,000 件)
| エンドポイント構成 | リクエスト数 | コスト (USD) |
|---|---|---|
| Owned Reads | 40,000 | $160 |
| Recent Search | 8,000 | ⎡8,000 ÷ 100⎤ × $0.01 = $0.80 |
| Media Upload | 2,000 | $40 |
| 合計 | — | $200.80 ≈ ¥31,124 |
Free枠は 1,500 件までしか適用されないため、実質的に Pay‑Per‑Useのみ が利用形態となります。
3.3 中規模企業(月間リクエスト 500,000 件)
| エンドポイント構成 | リクエスト数 | コスト (USD) |
|---|---|---|
| Owned Reads | 400,000 | $1,600 |
| Recent Search | 80,000 | ⎡80,000 ÷ 100⎤ × $0.01 = $8 |
| Full‑Archive Search | 20,000 | ⎡20,000 ÷ 100⎤ × $0.03 = $6 |
| Media Upload | 10,000 | $200 |
| 合計 | — | $1,814 ≈ ¥281,170 |
ポイント:大規模利用ではコストが数千ドル規模になるため、支出上限(Spend Cap) と 使用量アラート の設定は必須です。
4️⃣ 2025年末以降の料金改定経緯とサイレント・アップデート事例
| 時期 | 主な変更点 | 背景・公式根拠 |
|---|---|---|
| 2024年4月 | 「Essential」プランを廃止し、Free+Pay‑Per‑Use のハイブリッドモデルへ移行開始。 | 公式ブログ「X API Pricing Update」【4】 |
| 2025年12月 | 従量課金単価を平均 15 % 引き上げ。検索系は 100 件単位に統一し、料金体系をシンプル化。 | 公式ドキュメント「Pricing Changes – Dec 2025」【5】 |
| 2026年4月20日 | 自動いいね・引用RT 機能廃止、Media Upload が有償化。 | X デベロッパーポータル更新情報【6】 |
サイレント・アップデート事例(2025年12月)
- 問題点:単価引き上げが公式ブログに記載されず、開発者は 402 エラー(「料金不足」)を多数取得。
- 影響:多くのプロジェクトで突如コスト超過が発生し、予算再設定が必要となった。
- 参考情報:Shintaro‑Blog がまとめた記事 https://shintaro-blog.com/x-api-pay-per-use/(2026年1月掲載)【7】。
教訓:料金改定は必ず公式アナウンスを確認し、自動監視ツール でエラーコード
402の発生を検知する仕組みを入れておくことが重要です。
5️⃣ 課金上限設定・使用量モニタリングのベストプラクティス
5.1 課金上限(Spend Cap)設定手順
- X デベロッパーポータル にログイン → 「Billing」メニューへ。
- 「Spend Cap」欄に月間上限額を入力(例:¥100,000)。
- 「Alert Threshold」を 70 % と 90 % に設定し、メール・Slack 通知を有効化。
上限に達した瞬間は リクエストが自動的にブロック され、
402 Payment Requiredが返ります。
5.2 使用量ダッシュボード活用術
| 機能 | 説明 |
|---|---|
| Usage Overview | エンドポイント別のリクエスト数がリアルタイムで表示。日次・月次の累計も確認可。 |
| Export CSV | 日ごとの使用量データをダウンロードし、社内 BI ツールにインポート可能。 |
| Cost Forecast | 現在までの利用ペースから予測コストを自動算出し、上限超過リスクを可視化。 |
5.3 コスト削減テクニック
- バッチ取得:検索系は 100 件単位で課金されるため、可能な限り まとめて取得(例:1 回の API 呼び出しで最大 500 件まで取得)。
- キャッシュ戦略:頻繁に変わらないデータはサーバ側または CDN にキャッシュし、リクエスト数を削減。
- 不要なフィールド除外:
expansionsやtweet.fieldsで取得項目を最小化すると、レスポンスサイズが小さくなりレートリミットの影響も緩和できる場合があります。
6️⃣ FAQ
| 質問 | 回答 |
|---|---|
| Freeプランで検索系は使えますか? | できません。検索エンドポイント(Recent Search、Full‑Archive Search)はすべて有料です。 |
| レートリミットを超えたらどうなる? | 超過分は 429 Too Many Requests が返され、一定時間経過後に再試行可能です。Freeプランの秒間 5 件上限は厳守してください。 |
| 為替レートが変動した場合の請求は? | 請求日は X API の公式為替レート(当日または前営業日の Bloomberg データ)に基づき、USD → JPY に換算されます。 |
| 支出上限を設定しても超過分が課金されることはありますか? | 上限額に達した時点で API が自動的にブロックされ、以降のリクエストはすべて失敗します(402 エラー)。課金は発生しません。 |
| Media Upload の単価はどこに記載されていますか? | 公式料金ページ「Media Upload」項目に $0.02 / リクエスト と明記されています【2】。 |
参考文献・出典
-
X API Pricing – Free Tier(2026年4月版)
https://developer.x.com/en/docs/twitter-api/pricing/free-tier -
X API Pricing – Pay‑Per‑Use(2026年4月版)
https://developer.x.com/en/docs/twitter-api/pricing/pay-per-use -
Bloomberg 為替レートデータ:USD/JPY = 155(2026年4月20日)
https://www.bloomberg.com/quote/USDJPY:CUR -
X Developer Blog「Pricing Update – April 2024」
https://developer.x.com/en/blog/pricing-update-april-2024 -
X API Documentation 「Pricing Changes – Dec 2025」
https://developer.x.com/en/docs/twitter-api/changelog/dec-2025-pricing -
X デベロッパーポータル更新情報(2026年4月20日)
https://developer.x.com/en/portal/billing-updates-april-2026 -
Shintaro‑Blog 「X API Pay‑Per‑Use 料金サイレントアップデートまとめ」
https://shintaro-blog.com/x-api-pay-per-use/
本記事は公式情報に基づき執筆していますが、料金や為替レートは予告なく変更される可能性があります。最新情報は必ず X Developer Portal でご確認ください。