Harness 設定
X Search API
X users、tweets、timelines、replies を pagination metadata 付きで検索します。
/v2/x/tweet/search認証
Bearer API key
Content type
application/json
レート制限
1 request per 10 seconds, 3 per minute, 10 per 10 minutes.
X Search API は、X/Twitter のデータにアクセスするための API です。ユーザープロフィール、ユーザー検索、ユーザー tweets、tweet 検索、返信を取得できます。Agent の調査、ソーシャルリスニング、アカウント分析、コンテンツ分析に適しています。
認証
Authorization: Bearer YOUR_API_KEY1. ユーザー情報を取得
username を指定して X ユーザープロフィールを一括取得します。
POST https://openapi.felo.ai/v2/x/user/info| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
usernames | array of strings | はい | 検索する X username の一覧 |
curl -X POST 'https://openapi.felo.ai/v2/x/user/info' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"usernames":["elonmusk","OpenAI"]}'2. ユーザーを検索
キーワードで X ユーザーを検索します。
POST https://openapi.felo.ai/v2/x/user/search| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | はい | 検索キーワード |
cursor | string | いいえ | 前回レスポンスのページネーション cursor |
3. ユーザー Tweets を取得
指定した X ユーザーの tweets を取得します。
POST https://openapi.felo.ai/v2/x/user/tweets| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
x_user_id | string | いいえ | X user ID。x_user_id または username のどちらかを指定します |
username | string | いいえ | X username。x_user_id または username のどちらかを指定します |
limit | integer | いいえ | 返す結果数 |
cursor | string | いいえ | 前回レスポンスのページネーション cursor |
include_replies | boolean | いいえ | 返信を含めるかどうか |
curl -X POST 'https://openapi.felo.ai/v2/x/user/tweets' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"username":"elonmusk","limit":20}'4. Tweets を検索
キーワードで X tweets を検索します。高度な検索構文にも対応します。
POST https://openapi.felo.ai/v2/x/tweet/search| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
query | string | はい | 検索クエリ。高度な検索構文に対応します |
query_type | string | いいえ | クエリタイプのフィルター |
since_time | integer | いいえ | 開始時間フィルター。Unix 秒タイムスタンプ |
until_time | integer | いいえ | 終了時間フィルター。Unix 秒タイムスタンプ |
limit | integer | いいえ | 返す結果数 |
cursor | string | いいえ | 前回レスポンスのページネーション cursor |
5. Tweet の返信を取得
指定した tweets の返信を取得します。
POST https://openapi.felo.ai/v2/x/tweet/replies| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
tweet_ids | array of strings | はい | 返信を取得する Tweet ID |
cursor | string | いいえ | 前回レスポンスのページネーション cursor |
since_time | integer | いいえ | 開始時間フィルター。Unix 秒タイムスタンプ |
until_time | integer | いいえ | 終了時間フィルター。Unix 秒タイムスタンプ |
共通レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
total | integer | 返された、または利用可能な結果数 |
has_next | boolean | さらに結果があるかどうか |
next_cursor | string | 次ページ用 cursor |
users | array | ユーザー endpoint のユーザーオブジェクト |
tweets | array | tweet endpoint の tweet オブジェクト |
results | array | 返信 endpoint の結果オブジェクト |
ユーザーオブジェクトには user_id、username、display_name、description、followers_count、following_count、tweet_count、verified、blue_verified、profile_image_url、created_at、location、url などが含まれます。
Tweet オブジェクトには id、content、author、created_at、metrics、conversation_id、media_urls、hashtags、mentions、urls、url、lang、返信関連フィールド、quoted tweet、retweeted tweet などが含まれます。
Credits とレート制限
各 API 呼び出しでは、返された結果数に応じて credits が差し引かれます。結果が 0 件の場合、credits は差し引かれません。X API リクエストを行うには、アカウントに少なくとも 10 credits が必要です。
| Endpoint | Credit コスト |
|---|---|
POST /x/user/info | 返されたユーザー 1 件につき 1 credit |
POST /x/user/search | 返されたユーザー 1 件につき 1 credit |
POST /x/user/tweets | 返された tweet 1 件につき 1 credit |
POST /x/tweet/search | 返された tweet 1 件につき 1 credit |
POST /x/tweet/replies | 返された返信 1 件につき 1 credit |
credits 残高が 100 未満の非有料サブスクライバーアカウントにはレート制限があります。制限時、API は HTTP 429 を返し、Retry-After header に推奨待機秒数が入ります。
エラーコード
| Code | HTTP Status | 説明 |
|---|---|---|
INVALID_API_KEY | 401 | API key が無効または取り消されています |
X_SEARCH_FAILED | 400/500 | X search リクエストに失敗しました。パラメータまたは下流エラーを確認してください |
RATE_LIMIT_EXCEEDED | 429 | リクエストが多すぎます。少し待ってから再試行してください |
insufficient_credits | 402 | credits が不足しているため、リクエストを完了できません |