Claude CodeとX APIを連携すると、競合アカウントのツイートを200件取得しエンゲージメント分析を自動化できます。
- 要点1: Bearer Token認証で公開アカウントのツイートを最大200件ずつページネーション取得可能
- 要点2: スレッド投稿を1エントリーに統合処理し、100件のAPIレスポンスを23エントリーに整理した実績あり
- 要点3: インプレッション・いいね・RT・ブックマークの取得からバズパターン抽出まで自動化できる
対象: X(Twitter)を活用したSNSマーケティング担当者・Claude Code利用者
今日やること: X Developer PortalでBearer Tokenを発行し、Claude CodeのX skillsを設定する
この記事の目次
Claude CodeとX APIを連携させることで、競合アカウントのツイートを大量取得し、エンゲージメント傾向を自動で分析できます。
「競合がどんな投稿でバズっているのか知りたい」「他社のSNS戦略をもとに自社の方針を改善したい」——こうした課題は多くの企業のSNS担当者が抱えています。従来は有料ツールに頼るか、手作業で投稿を調べるしかありませんでしたが、Claude CodeとX APIを組み合わせることで、この作業をほぼ自動化できます。
この記事では、あるAIメディア運営者がClaude CodeのX skillsを使ってフォロワー数万人規模の競合アカウントを分析した実践事例をもとに、具体的な手順と得られた知見を紹介します。
X API競合分析でClaude Codeを使うメリット
市販のSNS分析ツールとの違い
X(Twitter)の競合分析に使える市販ツールは複数存在します。フォロワー推移・投稿分析・エンゲージメント計測などの機能が揃っており、UIも整っています。ただし、月額費用は数万円規模になることが多く、中小企業や個人事業主には導入ハードルが高い面があります。
Claude Code + X APIを活用したアプローチの主な違いは以下の通りです。
| 項目 | 市販SNS分析ツール | Claude Code + X API |
|---|---|---|
| コスト | 月額数万円〜 | X API従量課金(少量なら安価) |
| カスタマイズ性 | ツールの機能内のみ | 分析ロジックを自由に設計 |
| データ出力 | CSV・ダッシュボード等 | Markdown / JSON / 任意形式 |
| 操作方法 | GUIで手動操作 | 自然言語でClaude Codeに指示 |
| 画像・動画の取得 | 一部ツールで対応 | APIで画像URL・動画MP4を直取得 |
自由なカスタマイズと低コストを重視する場合や、取得したデータを下流の処理(記事作成・報告書生成など)と連携させたい場合は、Claude Codeとの連携が有利です。
Claude CodeでできるX分析の全体像
Claude CodeのX skillsは、X API v2をPythonスクリプト経由で呼び出す構造になっています。主なスキルは4つです。
| スキル | 主な用途 |
|---|---|
| research | アカウント調査・投稿履歴分析・競合比較 |
| analytics | エンゲージメント分析・フォロワー分析 |
| timeline | 最新投稿チェック・キーワードモニタリング |
| post | ツイート投稿・引用RT・スレッド投稿 |
競合分析に主に使うのは research と analytics の2つです。Bearer Token(読み取り専用認証)だけ設定すれば、相手方のアカウント承認なしに公開ツイートを取得できます。
事前準備——X APIのBearer Tokenを取得する
X Developer Portalでプロジェクトとアプリを作成
X APIを使用するには、X Developer Portalでのアプリ登録が必要です。手順は以下の通りです。
- developer.twitter.com にXアカウントでログイン
- 「Create Project」からプロジェクトを新規作成
- プロジェクト内に「App」を追加
- アプリのダッシュボードから「Keys and Tokens」タブを開く
- 「Bearer Token」を生成してコピー
Bearer Tokenとは、X APIの「アプリ専用認証」を行うためのトークンです。OAuth(ユーザー認証)とは異なり、特定ユーザーの代わりではなくアプリとしてAPIにアクセスするため、他者の公開ツイートを読み取る用途に適しています。
Bearer TokenをmacOS Keychainに安全に保存する
取得したBearer Tokenは、コード内にべた書きせずmacOS Keychainに保存します。
security add-generic-password -a "X_BEARER_TOKEN" -s "X_BEARER_TOKEN" -w "YOUR_BEARER_TOKEN_HERE"
保存後は、スクリプトから security find-generic-password コマンドで自動的に読み出せます。APIキーをコードに直書きすると、GitHubなどに誤ってアップロードした際のリスクが生じるため、Keychain管理を徹底することを推奨します。
2026年版 X API料金体系の注意点
X APIは2026年2月より従量課金(pay-per-use)モデルに移行しました。従来の固定月額プラン($200〜$5,000)から、クレジット購入制に変更されています。
競合分析で月に数百〜数千件のツイートを取得する程度であれば、比較的安価に運用できます。ただし、大量のデータを短期間で取得する場合はレート制限(Rate Limit)に注意が必要です。API呼び出しの間隔をスクリプト内で調整しておくことをおすすめします。
ポイントX API無料枠はツイートの読み取りが月100件と制限されています。本格的な競合分析を行う場合は有料プランへの移行を検討してください。
\ Claude Codeの導入、何から始めればいいかわかります /
法人向けClaude Code個別指導の無料相談はこちらClaude CodeのX skillsで競合ツイートを取得する
x_api.pyスクリプトの仕組み
X skillsの中核となるのが x_api.py スクリプトです。このスクリプトは以下の役割を担います。
- Keychainから認証情報を自動取得
- X API v2の
/2/users/:id/tweetsエンドポイントを呼び出し - ツイートフィールド(テキスト・公開日時・エンゲージメント数・メディア情報)を指定して取得
- 結果をJSON形式で保存
Claude Codeに対して「@アカウント名 の直近100ツイートを取得して」と自然言語で指示するだけで、スクリプトの実行からデータ整理まで自動で行われます。
ユーザーIDの取得とページネーション設定
X API v2では、ツイートの取得に「ユーザーID(数値形式)」が必要です。アカウント名(@〜)からユーザーIDを取得する手順は以下の通りです。
# アカウント名からユーザーIDを取得python3 x_api.py get-user --username SuguruKun_ai# → ユーザーID: 1634801752695533568
ユーザーIDが取得できたら、次にツイートを取得します。1回のAPIコールで取得できるのは最大100件です。200件以上取得する場合は、ページネーショントークンを使って複数回コールします。
# 最初の100件を取得python3 x_api.py get-tweets --user-id 1634801752695533568 --max 100# 続きの100件(paginationトークンを使用)python3 x_api.py get-tweets --user-id 1634801752695533568 --max 100 --pagination-token [前回のトークン]
メディア(画像・動画)情報も同時に取得する
テキスト情報だけでなく、投稿に含まれる画像・動画のURLも取得できます。API呼び出し時に expansions=attachments.media_keys&media.fields=url,preview_image_url,variants を指定します。
実際の取得例として、あるAIカテゴリのインフルエンサー(フォロワー9.7万人)の198件のツイートを取得したところ、画像が59枚、動画が8件含まれていました。動画についてはMP4ファイルの直リンク(複数ビットレート)も取得できます。
Claude CodeとX API連携の設定方法について、個別にご相談いただけます。「どのプランを選べばいいか」「自社の競合分析ワークフローに組み込みたい」といった段階からサポートしています。
スレッド(ツリー)投稿を1エントリーとして統合する
X(Twitter)のスレッド(ツリー)投稿とは、1つの話題を複数のツイートに分けて投稿する形式です。各ツイートはAPIからは個別のデータとして返ってきますが、分析用途では1つのコンテンツとしてまとめて扱う方が自然です。
スレッド検出のロジック(conversation_idの活用)
X API v2では、同じスレッドに属するツイートは同じ conversation_id を持ちます。また、スレッドの最初のツイートと後続のツイートでは in_reply_to_user_id フィールドの値が異なります。
これらを組み合わせたスレッド統合処理のロジックは以下の通りです。
- 取得したツイートを
conversation_idでグループ化 - 同一
conversation_idかつin_reply_to_user_idが自分自身のIDと一致するツイートを同一スレッドと判定 - グループ内のツイートを時系列で並べてテキストを連結
- スレッドの最初のツイートのエンゲージメント数を代表値として使用
実際の取得事例では、100件のAPIレスポンスが 23エントリーに統合されました。つまり、投稿の約75%がスレッド形式だったことになります。バズっている投稿の多くが複数ツイートのスレッドであることを考えると、スレッド統合処理は分析精度の向上に直結します。
統合後のフォーマット設計
統合後のデータはMarkdownファイルとして保存し、以下のフォーマットで整理しました。
## #1 - 2026-02-28 - 動画生成AIガチ比較スレッド> 親ツイート: 久々に「動画生成AIガチ比較」をしてみたけど...> 続き1: ① ロボット同士の格闘...> 続き2: ② 剣士の戦闘...> 続き3: ③ 静かな会話シーン...インプレッション: 8,508 | いいね: 45 | RT: 3 | ブックマーク: 26
このフォーマットにしておくと、後からClaude Codeに「このリストのトップ10をカテゴリ別に分類して」と指示したときの処理が容易になります。
\ 業務自動化のお悩み、プロが30分で整理します /
法人向けClaude Code個別指導の無料相談はこちらエンゲージメント分析——バズるパターンを抽出する
トップ5投稿を特定する方法
エンゲージメント分析の基本は、インプレッション数の多い投稿を特定することです。取得したデータをインプレッション数で並び替え、上位5件を確認します。
実際の分析で得られた結果の一例を示します(具体的なアカウント名は伏せています)。
| 順位 | テーマ | インプレッション | いいね | RT |
|---|---|---|---|---|
| 1 | バイブコーディング系解説 | 344,710 | 1,716 | 不明 |
| 2 | AIサムネイル生成まとめ | 329,148 | 1,824 | 不明 |
| 3 | Claude Code Skills 946選紹介 | 322,175 | 2,122 | 156 |
| 4 | MCP vs CLIのトークン消費比較 | 208,765 | 957 | 不明 |
| 5 | Anthropic CEO発言の解説スレッド | 156,305 | 927 | 176 |
いいね数トップはClaude Code Skillsの紹介で2,122件。インプレッションとの相関を見ると、「具体的な数字・リスト・比較」を含む投稿が高エンゲージメントを獲得していました。
投稿パターンの分類(話題カテゴリ・スレッド構成・投稿頻度)
上位投稿を分析した結果、バズりやすい投稿には以下の共通パターンが見られました。
- 具体的な数字を含む: 「946選」「3万円→675円」「30%削減」など
- 比較形式: 「AとBを同じプロンプトで比較した結果」
- スレッド形式: 内容が濃い話題は3〜5ツイートのスレッドで展開
- 最新情報の速報: 主要AIサービスの新機能・価格変更を即座に解説
こうした知見は、Claude Codeに「このリストを投稿フォーマット・話題カテゴリ・エンゲージメントで分類してレポートを作成して」と指示することで、数秒で整理できます。
複数アカウントを横断してリサーチする
複数アカウントのリサーチフロー
競合を1アカウントに絞らず、複数を横断分析することで業界トレンドの全体像が見えてきます。実際の事例では、AIカテゴリの3アカウント(フォロワー規模:9.7万、4,843、1万)を分析しました。
フロー全体は以下の手順で進みます。
- 対象アカウントのリストをテキストで用意
- Claude Codeに「このアカウントリストをすべて分析して」と指示
- 各アカウントのツイートを順番に取得・統合・保存
- 「3アカウントの共通するバズトピックをまとめて」と指示して横断分析
フォロワー規模が異なるアカウントを比較すると、「フォロワー数に関係なくバズりやすいコンテンツの型」が見えてきます。これはコンテンツ戦略の改善に直接活用できる知見です。
出力ファイルの整理と活用法
取得・分析したデータは以下のフォルダ構造で整理します。
X-API/research/├── アカウントA/│ ├── ツイート一覧.md # 全エントリー│ ├── tweets_page1.json # API生データ│ └── images/ # ダウンロード済み画像├── アカウントB/│ └── ...└── 横断分析レポート.md # Claude Codeが生成
横断分析レポートには、「どのカテゴリの話題が複数アカウントで共通してバズっているか」「投稿時間帯の傾向」「スレッドの長さとエンゲージメントの相関」などをまとめます。このレポート自体もClaude Codeに作成させることができます。
\ AI活用の「次の一手」を一緒に考えませんか /
法人向けClaude Code個別指導の無料相談はこちらよくある質問
Q. Claude CodeからX APIを使うにはどうすればよいですか?
X Developer Portal(developer.twitter.com)でアプリを作成し、Bearer TokenをmacOS Keychainに登録します。Claude CodeのX skillsが自動的にKeychainからトークンを取得するため、一度設定すれば以降は自然言語の指示だけでAPI操作が可能になります。詳細な設定手順は本記事の「事前準備」セクションを参照ください。
Q. X APIの無料プランで何件のツイートを取得できますか?
X APIの無料プランでは、月間約100件のツイート読み取りが可能です。競合の直近投稿を定期的にチェックする程度であれば無料枠内に収まりますが、200件以上の大量取得や定期的な自動収集を行う場合は有料プランへの移行が必要です。なお、X APIは2026年2月に従量課金モデルに移行しており、利用量に応じた課金体系になっています。
Q. 競合アカウントのインプレッション数は取得できますか?
はい、取得できます。ただし、取得できるのは自分のアカウントに紐づいたアプリ経由でのみ取得できる場合があります。他者のアカウントのインプレッション数は、Basic以上のAPIプランが必要なケースがあるため、実際の取得可否はAPIプランと認証方式に依存します。
まとめ
Claude CodeとX APIを連携させることで、競合アカウントのSNS戦略分析を大幅に効率化できます。本記事のポイントをまとめます。
- Bearer Token認証でX Developer PortalにアプリIDを登録し、Keychainで安全管理する
- Claude CodeのX skillsを使って、競合アカウントのツイートをページネーションで200件以上取得できる
- スレッド投稿は conversation_id でグループ化し、1エントリーとして統合する
- インプレッション・いいね・RT・ブックマークを取得し、バズるコンテンツの型を抽出できる
- 複数アカウントを横断分析することで、業界全体のトレンドが把握できる
分析結果をそのままClaude Codeの次タスク(ツイート案作成・記事執筆・SNS戦略レポートなど)につなげられるのが最大の強みです。「取得→分析→活用」を一気通貫で自動化できます。
Claude Codeの導入・活用をサポートします
株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。X API連携の設定から、競合分析ワークフローの構築まで、非エンジニアの方でも実践できるようサポートします。「まず試してみたい」という段階からお気軽にどうぞ。





