本文へスキップ

Twitter API で100万ツイートを取得する費用

2026年に公式 X API で100万ツイートを取得すると、1投稿$0.005で$5,000かかります。2026年11月22日から投稿者プロフィールにも課金されると、最大$15,000になります。

結論: 公式 X API は、返した投稿1件ごとに課金します。100万投稿は前払いクレジットで$5,000かかり、X の月間読み取り上限300万件の3分の1を使います。同じ100万件を読むなら Sorsa API の POST /tweet-info-bulk を使ってください。1リクエストで投稿者付きの100ツイートを取得でき、100万件あたり$14からです。100回分の無料リクエストから始められます。

エンドポイント
POST /tweet-info-bulk
1ページの件数
1リクエストあたり100ツイート
料金
100万ツイートあたり$14から

#公式 X API で100万ツイートを取得する費用

公式 X API で100万ツイートを取得すると$5,000かかります。X の従量課金の料金表(新しいタブで開きます)では、レスポンスが返す投稿1件ごとに$0.005が課金されるので、請求額は投稿数に0.5セントを掛けた額になります。自分の処理量と、投稿とプロフィールの割合を同じレートで計算するには、無料の Twitter API コスト計算ツールで合計を出せます。

この$5,000を増減させる要素が3つあります。

  • 2026年11月22日からの投稿者プロフィール。 10月23日付の X の拡張オブジェクトに関するお知らせ(新しいタブで開きます)によると、拡張(expansions)で返されるオブジェクトは標準レートで課金されます。ユーザー1件あたり$0.010、メディア1件あたり$0.005です。100万件の投稿に100万人の異なる投稿者がいる場合は$15,000になり、添付された写真や動画1件ごとにさらに$0.005が加算されます。
  • 重複排除。 X は同じリソースを UTC の1日につき1回だけ課金します。同じ投稿や同じ投稿者を UTC の午前0時までに再度リクエストしても、二重には課金されません。少数のアカウントがツイートの大半を書いているデータセットなら、投稿者分は$15,000の上限より安くなります。100万人の異なる投稿者によるデータセットは、ほぼ上限に近づきます。
  • 300万件の上限。 従量課金は、月ごとの請求サイクルあたり300万件の投稿読み取りで止まります。月100万ツイートならこの範囲に収まりますが、1日100万ツイートは収まりません。
公式 X API で読み取る内容1,000件あたりの料金100万ツイート
投稿のみ$5.00$5,000
投稿と投稿者プロフィール(11月22日から)最大$15.00最大$15,000
投稿、投稿者、画像1枚ずつ(11月22日から)最大$20.00最大$20,000
  • 投稿のみ

    1,000件あたりの料金
    $5.00
    100万ツイート
    $5,000
  • 投稿と投稿者プロフィール(11月22日から)

    1,000件あたりの料金
    最大$15.00
    100万ツイート
    最大$15,000
  • 投稿、投稿者、画像1枚ずつ(11月22日から)

    1,000件あたりの料金
    最大$20.00
    100万ツイート
    最大$20,000

フォロワーから投稿まで、X の料金体系のそのほかのレートは、X API の料金のガイドにまとめています。読み取りがここまで高い理由は、X API が高価な理由で解説しています。

#Sorsa API で100万ツイートを取得する費用

公開ツイート100万件を、その請求額のごく一部で読み取るなら、Twitter(X)API 兼スクレイピングツールである Sorsa API を使います。課金はツイートごとではなくリクエストごとなので、100万ツイートは ID 指定なら$14から、検索経由なら$70からです。どのツイートにも投稿者の完全なプロフィールが追加料金なしで付きます。

料金は1リクエストが運ぶツイート数で決まり、その数は取得方法によって変わります。

  • ID 指定。 ツイート ID またはリンクがすでに手元にある場合(共有された研究用データセット、エクスポート、自分のログなど)は、POST /tweet-info-bulk(新しいタブで開きます) が1リクエストで最大100ツイートを返します。100万ツイートは1万リクエストで、最も安いプランのレートなら$14から、Pro プランのレートなら$19.90です。Starter プランの月額$49なら、1か月分でちょうど収まります。
  • 検索またはタイムライン経由。 キーワード、ハッシュタグ、期間、アカウントで収集する場合は、POST /search-tweets(新しいタブで開きます) と POST /user-tweets(新しいタブで開きます) が1ページあたり約20ツイートを返します。100万ツイートは約5万リクエストで、最も安いプランのレートなら$70から、Pro プランのレートなら$99.50です。Pro プランの月間クォータなら、この方法で約200万ツイートを取得できます。
100万ツイートの費用総額 各バーは同じドル尺度で描画 Sorsa API、ID指定で取得 1リクエストで投稿者付き100ツイート $14から Sorsa API、検索で取得 1ページ約20ツイート(投稿者付き) $70から 公式X API、投稿 1投稿$0.005 $5,000 公式X API、投稿者付き投稿 2026年11月22日から 最大$15,000
Sorsa API なら、投稿者を含めても、100万ツイートの費用は公式 X API の請求額の1%未満です。

下の計算ツールでは、ほかの規模や両方の取得方法について同じ計算ができ、それぞれの所要時間も確認できます。

1請求月のツイート数

収集方法

Sorsa API

最安 $14

IDで取得、1リクエスト100ツイート、投稿者情報込み

約8分(毎秒20リクエスト)

公式X API

$5,000

1投稿$0.005、最大$15,000(11月22日以降は投稿者プロフィール込み)

Sorsa APIの料金は最適なプランの単価によるものです。Xの料金は従量課金の料金表によるもので、月3M投稿を超えるとXはEnterprise契約のみ販売します。

ボリュームと取得方法を選んでください。公式X APIはすべての投稿に課金しますが、Sorsa APIは中身に関係なくリクエストごとに課金します。

#Sorsa API で100万ツイートを収集する手順

Sorsa API での100万ツイートの処理は、リクエストのループです。テーマの検索ページを順にたどるか、すでに持っているリストの ID を100件ずつのバッチで送り、届いたものからファイルに書き出します。

  1. キーを取得する。 サインアップして、ダッシュボードから API キーをコピーします。最初の100リクエストは無料で、カード不要・有効期限なしです。ID 指定なら10,000ツイート分に相当します。

  2. クエリを試す。 検索リクエストを1回送れば、データがどんな形かわかります。X の検索演算子は query に入れるので、since: と until: で期間を絞れ、2006年まで遡れます。

    ターミナル
    curl -X POST "https://api.sorsa.io/v3/search-tweets" \
      -H "ApiKey: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"query": "heat pump lang:en since:2026-10-01 until:2026-10-02",
           "order": "latest"}'
    
    レスポンス200 OK
    {
      "tweets": [
        {
          "id": "2105809657263153728",
          "full_text": "Our heat pump made it through the first cold night.",
          "created_at": "2026-10-01T23:58:41Z",
          "lang": "en",
          "likes_count": 18,
          "retweet_count": 2,
          "reply_count": 5,
          "quote_count": 0,
          "view_count": 1412,
          "user": {
            "id": "1622094412870561792",
            "username": "quiet_house_notes",
            "display_name": "Quiet House Notes",
            "followers_count": 3920,
            "verified": false
          }
        }
      ],
      "next_cursor": "DAADDAABCgABG2mR8n2WEAAKAAIbaZHyfZYQAAgAAwAAAAEAAA"
    }
    
  3. 1日ずつページネーションで取得する。 next_cursor が空になるまで返ってきた値を送り直し、クエリは1日につき1つにします。日ごとの処理は独立しているので、毎秒20リクエストの範囲内で複数を並行して実行できます。

    Python
    import json
    import time
    from datetime import date, timedelta
    
    import requests
    
    URL = "https://api.sorsa.io/v3/search-tweets"
    HEADERS = {"ApiKey": "YOUR_API_KEY"}
    TOPIC = "heat pump lang:en"
    
    
    def collect_day(day, out):
        query = f"{TOPIC} since:{day} until:{day + timedelta(days=1)}"
        body = {"query": query, "order": "latest"}
        while True:
            r = requests.post(URL, headers=HEADERS, json=body, timeout=30)
            if r.status_code == 429:  # over 20 requests in one second
                time.sleep(1)
                continue
            r.raise_for_status()
            data = r.json()
            for tweet in data.get("tweets", []):
                out.write(json.dumps(tweet) + "\n")
            if not data.get("next_cursor"):
                return
            body["next_cursor"] = data["next_cursor"]
    
    
    with open("tweets.jsonl", "a", encoding="utf-8") as out:
        day = date(2026, 1, 1)
        while day < date(2026, 11, 1):
            collect_day(day, out)
            day += timedelta(days=1)
    
  4. ID を100件ずつ取得する。 ツイート ID のリストから始める場合は、tweet_links に100件ずつ入れて POST /tweet-info-bulk に送ります。各バッチは1リクエストで、すべての投稿者のプロフィール付きで返ります。

    Python
    BULK = "https://api.sorsa.io/v3/tweet-info-bulk"
    HEADERS = {"ApiKey": "YOUR_API_KEY"}
    
    with open("ids.txt") as f:
        ids = [line.strip() for line in f if line.strip()]
    
    with open("tweets.jsonl", "a", encoding="utf-8") as out:
        for i in range(0, len(ids), 100):
            r = requests.post(BULK, headers=HEADERS, timeout=30,
                              json={"tweet_links": ids[i:i + 100]})
            r.raise_for_status()
            for tweet in r.json().get("tweets", []):
                out.write(json.dumps(tweet) + "\n")
    
  5. 残高を確認する。 GET /key-usage-info(新しいタブで開きます) は、キーの残りリクエスト数と更新日を返します。この呼び出しに費用はかかりません。

403 はキーがない、またはリクエスト残量がないこと、401 はキーが間違っていること、429 は1秒に20リクエストを超えたことを示します。429 のときは1秒待って再試行してください。失敗したリクエストは課金されません。

知っておきたいこと

検索ページには約20ツイートが入りますが、絞り込んだクエリや静かな日は、それより少なく返ります。ページが半分しか埋まらないと、検索経由の1,000件あたりの費用は上がります。ツイート ID がすでにあるなら ID 指定で取得してください。1リクエストあたり100ツイートは、Sorsa API で最も安い1ツイートあたりの料金です。

#100万ツイートのダウンロードにかかる時間

Sorsa API の全プランで使える毎秒20リクエストなら、100万ツイートは ID 指定で約8分、検索経由で約42分です。ID 指定では毎秒2,000ツイート、検索では毎秒約400ツイートが返ります。

公式 X API では、速度がアプリごとの15分ウィンドウで管理されます。レート制限の表(新しいタブで開きます)によれば、最大100件の ID を指定する投稿取得が3,500回、最大500投稿を返す全期間検索が300回、最大100投稿を返す直近の検索が450回です。この制限だと、100万ツイートは ID 指定で約43分、全期間検索で約1時間40分、直近の検索で約5時間30分かかり、直近の検索は遡れる範囲も7日間だけです。各ウィンドウは X API のレート制限のガイドで解説しています。

ID指定 どちらも1リクエストでツイート100件 Sorsa API、毎秒20リクエスト 約8分 公式X API、15分で3,500件の取得 約43分 検索経由 Sorsa APIは1ページ約20件、Xは最大500件または100件 Sorsa API、毎秒20リクエスト 約42分 公式X API、フルアーカイブ検索 約1時間40分 公式X API、直近検索(過去7日間) 約5時間30分
ID 指定なら、Sorsa API は公式 X API のアプリごとの制限の5倍の速さで、100万ツイートを取得できます。

#100万ツイートを1回だけ、毎月、毎日取得する場合

100万件を読む頻度は、1ツイートあたりの料金以上に費用を左右します。月100万ツイートなら公式 X API の上限に収まりますが、1日100万ツイートには契約が必要です。

頻度Sorsa API公式 X API
1回だけ、単発のデータセットID 指定で$14から、検索経由で$70から$5,000、投稿者込みで最大$15,000
毎月、月100万件ID 指定で月$14から、検索経由で$70から月$5,000、投稿者込みで最大$15,000
毎日、月約3,000万件ID 指定で月$420から、検索経由で$2,100から300万件の上限を超えるため Enterprise 契約のみ
  • 1回だけ、単発のデータセット

    Sorsa API
    ID 指定で$14から、検索経由で$70から
    公式 X API
    $5,000、投稿者込みで最大$15,000
  • 毎月、月100万件

    Sorsa API
    ID 指定で月$14から、検索経由で$70から
    公式 X API
    月$5,000、投稿者込みで最大$15,000
  • 毎日、月約3,000万件

    Sorsa API
    ID 指定で月$420から、検索経由で$2,100から
    公式 X API
    300万件の上限を超えるため Enterprise 契約のみ

月300万投稿を超える場合、X は読み取りを Enterprise 契約でしか販売していません。2026年11月2日に確認した時点で、Enterprise の問い合わせフォーム(新しいタブで開きます)には「Enterprise API pricing starts at $50,000 / Month」(Enterprise API の料金は月$50,000から)と書かれていました。2023年の X の最小パッケージは、Wired の報道(新しいタブで開きます)によれば、5,000万投稿で月$42,000でした。契約に何が含まれ、どう申し込むかは、Twitter Enterprise API の料金で解説しています。

Sorsa API には月間の読み取り上限がなく、どの規模でも毎秒20リクエストのままです。月間100万リクエストからは、申請に応じたより高いレート制限が、500万リクエストからは処理内容に合わせた個別条件がプランに加わります。最大のプランを超える量については、営業に相談できます。

#他の Twitter API で100万ツイートを取得する費用

100万ツイートを ID 指定で取得する費用は、Sorsa API なら$14から、この問いで AI アシスタントや検索結果に最もよく挙がるサードパーティ API では約$50から$1,110です。以下の価格は、この1つの用途について各プロバイダーが公開している最高額で、2026年11月2日に各社の料金ページから取得したものです。

APIこの用途での課金方法ID 指定で100万ツイート
Sorsa API100ツイートにつき1リクエスト、投稿者込み$14から
TwexAPI(新しいタブで開きます)1投稿あたり5クレジット約$50
TwitterAPI.io(新しいタブで開きます)返されたツイート1件ごと$150
Apify Tweet Scraper V2(新しいタブで開きます)結果1件ごと、1クエリあたり最低50件$400
TwitterAPIs(新しいタブで開きます)1回の呼び出しごと、1取得で1ツイート$800
GetXAPI(新しいタブで開きます)1回の呼び出しごと、1取得で1ツイート最大$1,110
公式 X API返された投稿1件ごと$5,000

100万ツイートの処理で、各行が意味することは次のとおりです。

  • TwexAPI のクレジットは100万件あたり約$50ですが、$20のパックは1日で失効し、無料クレジットも7日で失効します。Sorsa API なら同じ100万件が$14からで、100回分の無料リクエストに有効期限はありません。
  • TwitterAPI.io は返されたツイート100万件に$150を課金します。同じツイートの Sorsa API の$14からという価格の10倍を超えます。
  • Apify のツイートアクターは100万件あたり$400で、1クエリあたり最低50ツイートです。Sorsa API にはクエリごとの最低件数はなく、依頼した100ツイートをそのまま返します。
  • TwitterAPIs と GetXAPI は呼び出しごとの課金で、1回の取得で1ツイートしか返さないため、100万件の ID で$800から最大$1,110かかります。Sorsa API なら1リクエストで100件を返します。

これらのプロバイダーの用途別の詳しい比較は、Twitter API の代替サービスにあります。

#100万件の費用を見積もって読み取りを始める

100万ツイートは、現在の公式 X API では$5,000の請求で、11月22日からは最大$15,000になります。同じ100万件の公開ツイートなら、Sorsa API を使ってください。ID 指定で$14から、検索経由で$70からで、どのツイートにも投稿者が付き、毎秒20リクエストで、月間の上限もありません。100万件が学習データなら、クリーニングと保存については、機械学習用の Twitter データセットを作るのガイドが詳しく扱っています。

Sorsa API は設計上読み取り専用で、投稿、いいね、フォローは一切行わず、X のログイン情報や Cookie も求めないため、X アカウントへのリスクはありません。自社のプロダクトが投稿もする場合は、投稿には公式 X API を残し、読み取りだけを移してください。

#よくある質問

公式 X API で投稿者プロフィールを含めると、いくら加算されますか?

2026年11月22日から、投稿者プロフィール付きの100万ツイートは、公式 X API で最大$15,000かかります。投稿1件あたり$0.005、拡張で返される投稿者1件あたり$0.010です。X は同じリソースを UTC の1日につき1回だけ課金するため、同じ日に何度も登場する投稿者は1回分の課金です。11月22日より前は、拡張オブジェクトがまだ課金されないので、同じ100万件で$5,000です。

100万ツイートを収集するのに最適な API はどれですか?

100万ツイートの収集には Sorsa API を使います。ID 指定で100万件あたり$14から、検索経由で100万件あたり$70からで、どのツイートにも投稿者のプロフィールが付きます。全プランで毎秒20リクエストなので、ID 指定なら100万ツイートが約8分で届きます。公式 X API は同じ100万件に$5,000かかり、開発者アカウントと OAuth が必要です。

100万ツイートを無料で取得できますか?

ここで価格を挙げた API の中に、2026年に100万ツイートを無料で提供するものはありません。公式 X API には2023年から無料プランがなく、すべての投稿が前払いクレジットから課金されます。Sorsa API は新規アカウントすべてに、カード不要・有効期限なしの100回分の無料リクエストを付与します。ID 指定なら10,000ツイート、検索経由なら約2,000ツイート分で、残りの100万件の料金を払う前にパイプラインを試すには十分です。

100万ツイートのダウンロードにはどのくらいかかりますか?

Sorsa API では、毎秒20リクエストで、100万ツイートは ID 指定で約8分、検索経由で約42分です。公式 X API では、アプリごとの制限により、同じ100万件に ID 指定で約43分、全期間検索で1時間40分、直近の検索で5時間30分かかります。

月300万ツイートを超える読み取りには、いくらかかりますか?

公式 X API で月300万投稿を超えて読み取るには、Enterprise 契約が必要です。X のフォームでは月$50,000からとされています(2026年11月2日確認)。Sorsa API には月間の読み取り上限がなく、同じ毎秒20リクエストで、ID 指定なら1,000万ツイートが$140から、3,000万ツイートが$420からです。

#検証方法

2026年11月2日に、X の従量課金の料金表、レート制限の表、10月23日付の課金拡張に関するお知らせを確認し、公式の数値はすべてそこから計算しました。サードパーティの価格はその日に各プロバイダーの料金ページから、Sorsa API の数値はプランのレートと公開 API リファレンスから取得しています。上記のリクエストとレスポンスはそのリファレンスに沿ったもので、ハンドルと ID は架空のものです。

Sorsa APIチーム 読み取り専用のX(Twitter)APIとスクレイピングツール、Sorsa APIを開発・運営しています。2022年から本番稼働し(旧TweetScout API)、累計60億リクエスト以上を処理しています。 Sorsa APIについて

変更点
  • 初公開。