著者:Sorsa Editorial

2026年7月3日更新:100回分の無料リクエストによる開始経路を追加し、コストを1,000ツイートあたりの料金で捉え直し、公式 X API のレートと3,200ツイートのタイムライン上限を現行ドキュメントに対して再確認しました。

要点: 公開 Twitter/X アカウントの全ツイートは、4つの方法でダウンロードできます。自分の Twitter アーカイブ(自分のアカウントのみ)、ノーコードのエクスポートツール、オープンソースのスクレイパー、またはデータ API です。公式 X API はユーザーのタイムラインを3,200投稿に制限するため、ページネーションで全履歴をたどれるデータ API が、完全な履歴への実用的な経路です。

毎週、研究者・アナリスト・開発者が同じ壁にぶつかります。ある1つのアカウントの完全なツイート履歴が必要なのに、プラットフォームはそれを難しくしているのです。無料のアーカイブは自分の投稿しかカバーせず、ほとんどのノーコードツールは3,200ツイートで止まり、オープンソースのスクレイパーは X がフロントエンドを変えるたびに壊れます。Twitter/X の代替 API プロバイダーである Sorsa API は、その上限を取り払います。その /user-tweets エンドポイント は、ユーザーの最初の投稿までさかのぼり、完全なタイムラインをページネーションで取得します。ヘッダーに1つの API キーを入れるだけで、公式 API のリソース単位の課金ではなく、フラットなリクエスト単位の課金です。50,000ツイートのアカウント全体でも、Proプランで$5未満、約2分で完了します。

当チームはこの API を開発・運用し、これらの各方法を稼働中のエンドポイントに対してテストしています。したがって以下のトレードオフは、推測ではなく実際に動かした結果に基づいています。

コードなしで今すぐ試したい? ブラウザ版の API playground は、キー不要で任意の公開アカウントに対して /user-tweets エンドポイントを実行するため、1行もコードを書く前に実際のタイムラインのページを確認できます。繰り返し行うエクスポートや大規模なエクスポートには、以下の方法がさらにスケールします。

目次


方法1:自分の Twitter/X アーカイブをダウンロードする {#method-1-download-your-own-twitterx-archive}

X では、自分のアカウントの完全なアーカイブを無料でダウンロードできます。エクスポートには、自分が投稿したすべてのツイート、メディア、ダイレクトメッセージ、アカウントのメタデータが、ツイート件数の制限なしで含まれます。これはログイン中のアカウントに対してのみ機能し、他のユーザーのアーカイブを要求することはできません。

要求するには、設定とプライバシー を開き、次に アカウント、そして データのアーカイブをダウンロード を開きます。本人確認を行い、アーカイブを要求して待ちます。X は通常24〜48時間で準備し、.zip ファイルへのリンクをメールで送ります。中には HTML ビューアと、自分の完全な投稿履歴とメディアを格納した JSON ファイルの data/ フォルダが入っています。

自分のアカウントに限られるという制約に加えて、もう一つの落とし穴は形式です。JSON は入れ子になっていて Twitter 固有のもので、きれいな表計算シートではないため、分析できる形に変えるには、パーサーを書くか、変換処理を挟む必要があります。

最適な用途: 個人的なバックアップ、アカウント無効化前の自分のアカウントのアーカイブ、コンプライアンス上の記録保持。


方法2:ノーコードのブラウザ用エクスポートツール {#method-2-no-code-browser-export-tools}

ブラウザ版のエクスポートツールを使えば、コードを書かずに公開アカウントのツイートを CSV や Excel にダウンロードできます。ハンドルを入力し、待ってから、ツイート本文・タイムスタンプ・エンゲージメント指標を含むファイルをダウンロードします。これらのツールの多くは内部で公式 X API を使っているため、その3,200ツイートの上限を引き継ぎ、時にはそれより少ない件数しか返しません。

このカテゴリには、Circleboom、Tweet Binder、そしてさまざまな Chrome 拡張機能が含まれます。これらの違いは主に出力形式と料金であって、根底にある上限ではありません。

ツールツイート上限出力コード要否
Circleboom最大3,200CSV、Excel不要
Tweet Binderプランにより変動Excel、PDF不要
ブラウザ拡張機能変動、多くは3,200未満CSV、Excel不要

これらのツールは、1つのアカウントから最近のツイートを手早くエクスポートしたく、コードには触れたくないときには妥当な選択です。いくつかは Excel や PDF に直接出力するため、技術者でない関係者にとって便利です。上限は投稿量の多いアカウントで表面化します。50,000投稿あるアカウントの完全な履歴をこれらのツールに求めても、多くはよくて最新の3,200件を返すだけです。多くのアカウントから定期的に取得する場合は有料プランの費用も積み重なり、一部のツールは自分のセッションクッキーとの連携を求めてきて、それ自体がセキュリティ上のトレードオフを伴います。

最適な用途: 最近のツイートの単発エクスポート、技術者でないユーザー、手早い競合スナップショット。


方法3:オープンソースのスクレイパー {#method-3-open-source-scrapers}

オープンソースのスクレイパーは、X の Web エンドポイントをリバースエンジニアリングしてツイートを取得し、公式 API とその料金を回避します。無料ですが、脆弱です。X がフロントエンドのトークンをローテーションすると、その仕組みに依存するすべてのスクレイパーが一斉に壊れ、SLA も廃止予告も移行経路もありません。

選択肢そのものも減りました。数年前は定番だった snscrape や twint は事実上終わっており、snscrape は何年も更新されず、twint はアーカイブされました。まだメンテナンスされているライブラリもいくつかありますが、同じ構造的リスクを抱えています。今日動いているスクレイパーが、たった1回のプラットフォーム変更で一晩にして動かなくなり得るのです。今なお動くものの最新の状況については、2026年のTwitterスクレイパー の解説をご覧ください。

本番のワークフローや締め切りのある研究で繰り返し使えるアクセスが必要なら、スクレイパーは自分では制御できない依存先です。

最適な用途: その場限りの探索、予算に制約があり日程に融通の利くプロジェクト、故障の修正を厭わない開発者。


方法4:Twitter/X データ API を使う {#method-4-use-a-twitterx-data-api}

データ API は、プログラムで完全なタイムラインをダウンロードする最も信頼できる方法です。HTTP リクエストを送り、構造化された JSON を受け取り、アカウントの最初のツイートに到達するまで、ページネーションで順に取得します。公式 X API も使えますが、ユーザータイムラインを3,200投稿に制限し、2026年の従量課金モデルの下でリソース単位で課金します。一方、サードパーティのデータ API は、フラットなリクエスト単位の料金で完全な履歴を返せます。

公式 X API

この特定の作業では、公式の経路を2つの点が悩ましくします。第一に、ユーザータイムラインのエンドポイントは最新の3,200投稿に制限されており、これは10年以上続く文書化された制限で、X API v2 でも今なお適用されます。第二に、現行の従量課金モデルはリソースの読み取り単位で課金し(おおよそ1投稿$0.005、1ユーザープロフィール$0.010、2026年7月確認)、月200万投稿の上限があるため、タイムラインの上限に達する前でさえ、大規模な収集はすぐに高くつきます。認証は、単一のキーではなくベアラートークンを用いた OAuth 2.0 です。

サードパーティのデータ API

サードパーティ API は、より簡単な認証、より予測しやすい料金、より少ない制約で、同じ公開データに到達します。Sorsa はそうした Twitter/X API の代替 の1つです。単一の ApiKey ヘッダーから完全なツイートデータを返し、リソース単位ではなくリクエスト単位のフラットな料金で課金し、そして決定的な違いとして、/user-tweets エンドポイントに3,200ツイートの上限がありません。ユーザーの全履歴を、最初の投稿に到達するまでページネーションでたどれます。2つの料金モデルの詳細な比較については、2026年版 Twitter API 料金の詳細 をご覧ください。

最適な用途: 開発者、データエンジニア、本番パイプライン、研究プロジェクト、大規模に構造化データを必要とするすべての人。


どの方法を使うべき? {#which-method-should-you-use}

適切な方法は、誰のツイートが、何件、どのくらいの頻度で必要かによって決まります。各選択肢はそれぞれ狭い役割を担い、データ API は、読み取りの多い・大規模・定期実行のケースを担います。

  • 自分のアカウントのバックアップ: ネイティブの X アーカイブ。制限なしで無料で全投稿履歴をエクスポートできるためです。
  • 最近のツイートの手早い単発エクスポート: ノーコードのブラウザツール。プラットフォームの最新3,200件の上限内にとどまる限り問題ありません。
  • 締め切りのないその場限りのスクレイピング: オープンソースのスクレイパー。X が次にフロントエンドを変えたときに壊れ得ることを受け入れる前提で。
  • 完全な履歴、多数のアカウント、または繰り返しの取得: Sorsa のようなデータ API。その /user-tweets エンドポイントは、フラットなリクエスト単位の料金で、3,200の上限を越えてページネーションで取得します。

APIで全ツイートをダウンロードする手順 {#how-to-download-all-tweets-via-api-step-by-step}

ここでは、最初のリクエストから完成したファイルまで、Sorsa API を使った全工程を順を追って説明します。

前提条件

  • API ダッシュボード から取得した API キー。新規アカウントの100回分の無料リクエストは、ページネーションのループを最初から最後まで試すのに十分です
  • requests ライブラリを備えた Python 3.7 以上、または Node.js 18 以上
  • 対象アカウントのユーザー名(例:stripe

API は初めてですか?クイックスタートガイド は、認証と最初のリクエストを数分でカバーします。また Twitter API Python ガイド では、以下で使うクライアントのセットアップをより深く扱います。

完全なタイムラインを取得する

/user-tweets エンドポイントは、カーソルベースのページネーションで1ページあたり約20件のツイートを返します。next_cursor が存在しないか null になるまでページをループします。これはタイムラインの終端に到達したことを意味します。

Python:

python
import requests
import time

API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.sorsa.io/v3"

def download_all_tweets(username, max_pages=None):
    """Download every tweet from a public account."""
    all_tweets = []
    cursor = None
    page = 0

    while True:
        body = {"username": username}
        if cursor:
            body["next_cursor"] = cursor

        resp = requests.post(
            f"{BASE_URL}/user-tweets",
            headers={"ApiKey": API_KEY, "Content-Type": "application/json"},
            json=body,
        )
        resp.raise_for_status()
        data = resp.json()

        tweets = data.get("tweets", [])
        all_tweets.extend(tweets)
        page += 1
        print(f"Page {page}: {len(tweets)} tweets (total: {len(all_tweets)})")

        cursor = data.get("next_cursor")
        if not cursor:
            print("Done. Reached end of timeline.")
            break
        if max_pages and page >= max_pages:
            print(f"Stopped at {max_pages} pages.")
            break

        time.sleep(0.05)  # stay well within 20 requests per second

    return all_tweets


tweets = download_all_tweets("stripe")
print(f"\nCollected {len(tweets)} tweets from @stripe")

JavaScript:

javascript
const API_KEY = "YOUR_API_KEY";
const BASE_URL = "https://api.sorsa.io/v3";

async function downloadAllTweets(username, maxPages = Infinity) {
  const allTweets = [];
  let cursor = null;
  let page = 0;

  while (page < maxPages) {
    const body = { username };
    if (cursor) body.next_cursor = cursor;

    const resp = await fetch(`${BASE_URL}/user-tweets`, {
      method: "POST",
      headers: {
        "ApiKey": API_KEY,
        "Content-Type": "application/json",
      },
      body: JSON.stringify(body),
    });
    if (!resp.ok) throw new Error(`HTTP ${resp.status}`);

    const data = await resp.json();
    allTweets.push(...(data.tweets || []));
    page++;

    console.log(`Page ${page}: ${data.tweets?.length || 0} tweets (total: ${allTweets.length})`);

    cursor = data.next_cursor;
    if (!cursor) break;
    await new Promise((r) => setTimeout(r, 50));
  }

  return allTweets;
}

const tweets = await downloadAllTweets("stripe");
console.log(`Collected ${tweets.length} tweets from @stripe`);

各ツイートオブジェクトは、本文全体、公開日、エンゲージメント数(いいね、リツイート、返信、引用、表示回数、ブックマーク)、言語、メディアエンティティ、そして完全な作者プロフィールを保持しています。その作者プロフィールは追加のリクエスト費用なしですべてのレスポンスに埋め込まれているため、そのプロフィールのリンクや固定ツイートの ID が特に必要な場合を除き、アカウントを取得する別の呼び出しは必要ありません。

CSVにエクスポートする

ツイートが手に入ったら、Pandas、R、Google スプレッドシート、またはデータベースへのインポートで分析するために、CSV に書き出します。

python
import csv

def export_tweets_csv(tweets, filename="tweets.csv"):
    fields = [
        "id", "created_at", "full_text", "lang",
        "likes_count", "retweet_count", "reply_count",
        "quote_count", "view_count", "bookmark_count",
        "is_reply", "is_quote_status", "username",
    ]

    with open(filename, "w", newline="", encoding="utf-8") as f:
        writer = csv.DictWriter(f, fieldnames=fields)
        writer.writeheader()
        for t in tweets:
            writer.writerow({
                "id": t["id"],
                "created_at": t["created_at"],
                "full_text": t["full_text"].replace("\n", " "),
                "lang": t.get("lang", ""),
                "likes_count": t.get("likes_count", 0),
                "retweet_count": t.get("retweet_count", 0),
                "reply_count": t.get("reply_count", 0),
                "quote_count": t.get("quote_count", 0),
                "view_count": t.get("view_count", 0),
                "bookmark_count": t.get("bookmark_count", 0),
                "is_reply": t.get("is_reply", False),
                "is_quote_status": t.get("is_quote_status", False),
                "username": t.get("user", {}).get("username", ""),
            })

    print(f"Exported {len(tweets)} tweets to {filename}")


export_tweets_csv(tweets, "stripe_tweets.csv")

Excelにエクスポートする

相手が技術者でなく表計算シートを求めている場合は、Pandas で同じ行を2行のコードで .xlsx に書き出します。

python
import pandas as pd

df = pd.DataFrame(tweets)
df.to_excel("stripe_tweets.xlsx", index=False)

出力先がローカルファイルではなく共有の表計算シートなら、Twitter データを Google スプレッドシートにエクスポートする ガイドがノーコードの経路を扱います。作業用データセットではなく共有向けのレポートには、ReportLab のようなライブラリで表を PDF に描画できますが、データを分析やモデルに投入するなら、CSV と JSON のほうが依然として良い選択です。

タイムラインを越える:検索による方法

/user-tweets エンドポイントは、生の時系列タイムラインを返します。代わりに絞り込んだ一部だけが欲しいとき、たとえば画像付きのツイートだけ、いいねが一定数を超えるツイートだけ、または特定の期間だけが欲しいときは、from: コマンドとともに /search-tweets を使います。

python
# High-engagement tweets from one account
resp = requests.post(
    f"{BASE_URL}/search-tweets",
    headers={"ApiKey": API_KEY, "Content-Type": "application/json"},
    json={"query": "from:stripe min_faves:50 -filter:replies", "order": "latest"},
)

from: は、エンゲージメントフィルター(min_faves:min_retweets:)、メディアフィルター(filter:images)、言語コード(lang:en)、期間(since: / until:)と組み合わせられます。ツイート検索クエリビルダー はこれらのクエリを視覚的に組み立て、完全な 検索コマンドのリファレンス がすべての選択肢を一覧します。


ユーザーから3,200件を超えるツイートを取得するには? {#how-do-you-get-more-than-3200-tweets-from-a-user}

ユーザーから3,200件を超えるツイートを取得するには、公式 X API のタイムラインエンドポイントに頼ることはできません。これは最新の3,200投稿(返信を除くと800)で固定的に上限が設けられています。機能する2つの経路は、完全なタイムラインをたどれるページネーション対応のサードパーティのデータ API か、期間をまたいだ検索ベースの収集です。Web の検索ページを1日ずつスクレイピングする方法も動きますが、頻繁に壊れ、遅いです。

この3,200の上限は、料金よりもはるかに多くの人をつまずかせます。古いガイドやフォーラムの回答は、それを越えるのは不可能だと今なお主張したり、Twitter の検索ページを1日ずつスクレイピングする Selenium スクリプトを指し示したりします。それらのスクリプトは、その後変わってしまった検索インターフェース向けに作られており、多くはもう動きません。以下は、各方法が今日どう並ぶかです。

方法最大ツイート数備考
Twitter/X アーカイブ(自分のアカウント)すべて無料、24〜48時間待ち、自分のアカウントのみ
ノーコードのエクスポートツール800〜3,200公式 API 上に構築、有料プラン
オープンソースのスクレイパー変動不安定、X がフロントエンドを変えると壊れる
公式 X API(タイムライン)3,200文書化された固定上限、返信を除くと800
Sorsa API /user-tweets制限なし完全な履歴をページネーションで取得
Sorsa API /search-tweetsfrom: 使用)制限なし期間とエンゲージメントフィルターを追加

要点はこうです。3,200の壁をきれいに突破する方法は2つだけで、どちらも API ベースです。コンテンツ監査のために直近の数百件のツイートを取得するといった、たいていのカジュアルな用途では、この上限が問題になることはありません。しかし、政治的な言説をアーカイブする研究者、過去のエンゲージメントのデータセットを構築するアナリスト、そして投稿量の多いアカウントを扱うすべての人にとっては、致命的な障害になります。ジャーナリスト、政治家、メディアブランドは、日常的に50,000投稿をゆうに超えています。1つのタイムラインではなく、キーワードと日付で多数のアカウントをまたいで収集する必要がある場合は、過去のTwitterデータ のワークフローが、期間を区切った検索を余さず扱います。


完全なタイムラインのダウンロードにはいくらかかる? {#how-much-does-it-cost-to-download-a-full-timeline}

フラット料金のデータ API で完全なタイムラインをダウンロードするのは安上がりです。1リクエストあたり約20ツイートなので、50,000ツイートのアカウントは約2,500リクエストです。Proプランの1リクエスト$0.00199なら$5未満で、毎秒20リクエストで約2分で完了します。コストは、データがリソース単位でどう課金されるかではなく、アカウントの規模に応じてスケールします。

ここでは2つの料金が関係します。完全なタイムラインの取得は /user-tweets を通じて1リクエストあたり約20ツイートで進み、Proプランで1,000ツイートあたりおおよそ$0.10になります。すでにツイート ID を持っている場合、バッチエンドポイント /tweet-info-bulk は1リクエストあたり最大100ツイートを返し、1,000ツイートあたり$0.02からです。完全なアーカイブは、既知の ID を照会するのではなくタイムラインをたどるため、最初の料金を使います。

以下は、Proプランの1リクエスト$0.00199で、規模ごとに完全な抽出がどうなるかです(レートは2026年7月確認)。

アカウント規模リクエスト数コスト(Proプラン)20リクエスト/秒での所要時間
1,000ツイート50約$0.10約3秒
5,000ツイート250約$0.50約13秒
10,000ツイート500約$1.00約25秒
50,000ツイート2,500約$4.98約2分
100,000ツイート5,000約$9.95約4分

50,000ツイートのアカウントの完全なタイムラインは、$5未満で約2分かかります。この種の読み取りの多い作業では、Sorsa は公式 X API より1投稿あたり最大50分の1のコストで済みます。公式 X API は、投稿の読み取りごとに$0.005、取得する作者プロフィールごとに$0.010を課金します(X のレートは2026年7月確認)。月額サブスクリプションを課すノーコードツールでも、その同じアカウントからは最新の3,200件しか渡してくれません。多数のアカウントから定期的に取得する場合、フラットなリクエスト単位の料金プラン は最大50万リクエストで、月におよそ200件分の50,000ツイートのフルアーカイブに相当します。


実例:他の方法が破綻するアカウント {#in-practice-the-accounts-that-break-the-other-methods}

人々が完全な形で最も必要とするアカウントは投稿量の多いアカウントであり、まさにそこで他の方法は失敗します。当チームが協力したあるメディアモニタリングのチームは、言説研究のために、約60,000ツイートを持つ著名人の完全な投稿履歴を必要としていました。既存のノーコードツールは最新の3,200件を返して止まり、埋められない数年分の空白を残していました。同チームは /user-tweets エンドポイントのページネーションに切り替え、Proプランで$6未満、たった半日で全タイムラインを取得し、モデル用にそのまま CSV へ書き出しました。ずっと本当の障害だったのはコストではなく3,200の上限で、それがなくなると作業は難なく進むようになりました。この「収集してからエクスポート」という同じパターンは、機械学習用のTwitterデータセットの構築 の解説の土台にもなっています。


よくある質問 {#faq}

非公開(保護された)アカウントのツイートはダウンロードできる?

いいえ。保護されたアカウントは、ツイートを承認したフォロワーだけに制限するため、有効なセッションを持つ認証済みフォロワーでない限り、どの API・スクレイパー・エクスポートツールもそれらを読めません。これは公式 X API、Sorsa API、そしてここにある他のすべての方法に等しく当てはまります。第三者がダウンロードできるのは公開アカウントだけです。

どこまでさかのぼれる?

公式 X API のタイムラインエンドポイントは、年代にかかわらず最新の3,200ツイートしか返しません。自分の Twitter アーカイブには、投稿したすべてが含まれます。Sorsa API のようなページネーション対応のデータ API は、/user-tweets タイムラインをユーザーの最初の投稿まで、固定の制限なしでたどり、from:username による検索を since:until: コマンドと組み合わせることで、特定の期間を正確に制御できます。

ダウンロードしたツイートに画像や動画は含まれる?

はい。各ツイートオブジェクトには、ツイートに添付された写真・動画・GIF の直接 URL を含む entities 配列と、プレビューのサムネイルが含まれます。それらの URL を使って、メディアファイルをプログラムでダウンロードできます。個々のツイートからノーコードでメディアを保存する方法としては、無料の Sorsa メディアダウンローダー が写真・動画・音声を扱い、Twitter メディアを API でダウンロードする ガイドがプログラムによる方法を扱います。

他人のツイートをダウンロードするのは合法?

個人的な分析、研究、ビジネスインテリジェンスのために公開されているツイートをダウンロードすることは、公開ツイートがオンラインで誰にでも見えるものである以上、概ね許容されます。リスクを伴うのは、データをどう使うかです。再配布、大規模な再公開、または嫌がらせへの利用は、プラットフォーム規約や EU の GDPR のような規制に違反し得ます。大規模または商用の収集については、自分の管轄区域に詳しい法律顧問に相談してください。

分析に最適な形式は CSV、JSON、Excel のどれ?

CSV は最も汎用的な選択で、Excel、Google スプレッドシート、Pandas、R で開けます。JSON は、メディアエンティティ、引用ツイート、作者オブジェクトなどの完全な入れ子構造を保持し、プログラムによる処理やデータベースへのインポートに向いています。Excel は技術者でない関係者にとって便利ですが、変換の工程が1つ増えます。まずは CSV から始め、入れ子の返信データやメディアデータが必要になったら JSON に手を伸ばしましょう。

3,200ツイート制限のない Twitter API はある?

はい。Sorsa API は Twitter/X のデータ API で、その /user-tweets エンドポイントには3,200ツイートの上限がありません。完全なタイムラインをアカウントの最初の投稿までページネーションでたどれます。OAuth ではなく単一の ApiKey ヘッダーで認証し、リソース単位ではなくリクエスト単位のフラット料金で課金します。すべてのプランで毎秒20リクエストの制限があり、大きなアカウントのフルアーカイブでもわずか数ドルで済みます。

特定のキーワードやハッシュタグを含むツイートはどうダウンロードする?

タイムラインエンドポイントではなく検索を使います。キーワードまたはハッシュタグを from:username フィルターと組み合わせたクエリを /search-tweets に渡します。たとえば from:stripe #payments since:2025-01-01 は、2025年1月以降に投稿された #payments ハッシュタグを含む @stripe のツイートだけを返します。完全なコマンドの一覧は、検索コマンドのリファレンスにあります。

始め方 {#getting-started}

プランを決める前に、これを評価できます。まず、登録もキーも不要で playground で任意の公開アカウントをテスト します。次に、新規アカウントには100回分の無料リクエストが含まれます。1回限り・クレジットカード不要・有効期限なしで、40個のエンドポイントすべてをカバーし、API 全体で最大10,000ツイートまたは20,000プロフィールに相当します。決める前に、申し訳程度の試用クレジットではなく、実際のアーカイブ作業を試すのに十分です。

料金は1,000件あたりの単価が中心です。バッチエンドポイントで1,000ツイートあたり$0.02から、フラットなプランは10,000リクエストで$49、100,000リクエストで$199、500,000リクエストで$899からです。承認プロセスも OAuth フローもなく、単一の API キー、そしてすべてのプランで一律の毎秒20リクエストです。

監修:Keksich(Sorsa創業者、マーケター兼X APIリサーチャー)

本ガイドは、2022年以降、今や累計50億件を超えるリクエストを処理してきた Twitter/X の代替 API を運用する当チーム自身の作業と、これら4つの方法すべてを稼働中のエンドポイントに対してテストした経験に基づいています。3,200ツイートのタイムライン上限は、2026年7月に現行の X API v2 ドキュメントと tweepy クライアントのリファレンスに対して、公式 X API の従量課金レートは X が公開する開発者向け料金に対して、それぞれ再確認しました。エンドポイントの挙動、ページネーション、リクエスト単位のコストは Sorsa API のドキュメントから取っています。チームの詳細は about ページ にあります。古くなっている点を見つけたら、contacts@sorsa.io までご連絡ください。最終確認:2026年7月3日。