Twitter(X)API v2の概要
Twitter(現X)はAPIを通じてツイートの取得・投稿・ユーザー情報の取得・DM送信などのプログラムによる操作を提供しています。2023〜2024年にかけてAPI料金体系の大幅な変更があり、無料枠の縮小と有料プランの強化が行われました。2026年現在もAPIは活用されていますが、コスト面での計画が必要になっています。
プランと料金体系(2026年時点)
| プラン | 月額 | 主な機能 |
|---|---|---|
| Free | 無料 | 月1,500ツイート投稿、読み取り制限あり |
| Basic | $100/月 | 月10,000ツイート読み取り・投稿 |
| Pro | $5,000/月 | 月1,000,000ツイート読み取り、フルストリーム |
| Enterprise | 要問合せ | 無制限、専用サポート |
※料金は変更されることがあります。最新の情報はX Developer Platformをご確認ください。
認証方式
X API v2では以下の認証方式が利用できます。
- OAuth 2.0 Bearer Token:読み取り専用のアプリ認証。検索・パブリックデータの取得に使用
- OAuth 2.0 User Context:ユーザーの代わりに投稿・DM等を操作する際に使用(PKCE対応)
- OAuth 1.0a:v1.1互換の旧認証方式(一部機能で引き続き使用)
ツイート検索の実装
const response = await fetch(
'https://api.twitter.com/2/tweets/search/recent?query=ChatGPT lang:ja&max_results=10&tweet.fields=created_at,author_id,public_metrics',
{
headers: {
'Authorization': `Bearer ${process.env.TWITTER_BEARER_TOKEN}`
}
}
);
const data = await response.json();
Recent Search(過去7日間)はBasicプラン以上、Full-archive Search(全期間)はProプラン以上が必要です。
ツイートの投稿
ツイートの投稿にはOAuth 2.0 User Contextによるユーザー認証が必要です。テキスト・メディア・返信・引用ツイートなどを指定して投稿できます。
ユーザー情報の取得
ユーザーID・ユーザー名からプロフィール情報(名前・フォロワー数・プロフィール画像等)を取得できます。フォロワー一覧・フォロイー一覧の取得も可能です(レート制限あり)。
フィルタードストリーム
フィルタードストリームは特定のキーワード・ハッシュタグ・ユーザーに一致するツイートをリアルタイムで受信する機能です。ルールを設定しておくと、マッチするツイートをWebSocketで受け取り続けられます。ソーシャルリスニング・ブランド監視・リアルタイム分析に活用されます。
利用制限とレート制限
各エンドポイントには15分ウィンドウあたりのリクエスト数制限があります。429エラーが返ったときはx-rate-limit-resetヘッダーのタイムスタンプまで待ってから再試行してください。
API変更への対応策
Twitter/XのAPI料金・制限は頻繁に変更されます。以下の対策を検討してください。
- キャッシュを積極活用してAPIリクエスト数を削減
- Mastodon・BlueSky(AT Protocol)などの代替SNS APIも検討
- 最小限の機能でAPIに依存するアーキテクチャ設計
- X開発者アカウントのダッシュボードで使用量を定期的に確認
まとめ
Twitter(X)API v2は機能は充実していますが、2023年以降の料金変更により無料での活用が大幅に制限されています。ビジネスでの利用を検討する場合はBasicプラン以上のコストを事前に計算してください。ユーザー規模が小さい場合やシンプルな投稿機能のみが必要な場合はFreeプランでも対応できます。