ユーザー名からアカウントを検索し、返すプロフィール項目を選択します。
Twitter API
Twitter API:ユーザー検索、タイムライン、ページネーション
Bearer 認証、ユーザー・ツイートのフィールド選択、カーソルページネーション、検証エラー処理を使って API Hop の Twitter / X エンドポイントを連携します。
ユーザー名をユーザー ID に解決し、そのユーザーのタイムラインを取得します。次のページには返された次ページトークンを渡します。成功時は直接 JSON が返り、これらのエンドポイントに Jobs ポーリングはありません。
具体的なタスクに向けて
対応する 3 つの GET 操作を実装して結果を処理します。
ユーザー名を再検索せず、ユーザー ID で既知のアカウントを更新します。
ページサイズの上限とページネーショントークンを使ってタイムラインを取得します。
課金単位
利用量の計測方法を知る
リクエストごとの米ドル料金。
運用上の制限
- 返されるフィールドは、文書化されたクエリパラメーターと上流の応答によります。
- max_results は 1~100 の整数である必要があります。ページの結果数はそれより少ない場合があります。
- 数値の精度損失を避けるため、ユーザー ID とツイート ID は文字列として保持してください。
連携ガイド
次のステップを選ぶ
現在のカタログ範囲
利用可能な API と課金単位
API ID、操作、プロバイダー、料金を比較します。費用を見積もる前にカタログの日付と各操作の課金単位をご確認ください。
公開されている Twitter / X のユーザープロフィールとユーザータイムラインを取得します。
- プロバイダー
- Twitter / X Data
- 課金単位
- リクエスト
- API 形式とエンドポイント
- リクエストのエンドポイントは以下の操作を参照してください。
- 公開された機能
- ユーザー検索, ユーザータイムライン
-
GET /v1/twitter/usersユーザー名でユーザーを取得 -
GET /v1/twitter/users/{id}ユーザー ID でユーザーを取得 -
GET /v1/twitter/users/{id}/tweetsユーザーのツイートを取得
API Hop 料金
- リクエスト
- $0.0020 /リクエスト
ユーザー名でユーザーを取得
GET /v1/twitter/users API Hop 料金
- リクエスト
- $0.0020 /リクエスト
ユーザー ID でユーザーを取得
GET /v1/twitter/users/{id} API Hop 料金
- リクエスト
- $0.0020 /リクエスト
ユーザーのツイートを取得
GET /v1/twitter/users/{id}/tweets API Hop 料金
- リクエスト
- $0.0020 /リクエスト
リクエスト例
ドキュメントの操作から始める
curl "https://api.apihop.ai/v1/twitter/users?username=OpenAI&user.fields=description,public_metrics" \
-H "Authorization: Bearer <API_KEY>"const response = await fetch("https://api.apihop.ai/v1/twitter/users?username=OpenAI&user.fields=description,public_metrics", {
headers: { Authorization: "Bearer <API_KEY>" }
});
const data = await response.json();
console.log(data);import requests
url = "https://api.apihop.ai/v1/twitter/users?username=OpenAI&user.fields=description,public_metrics"
headers = {"Authorization": "Bearer <API_KEY>"}
response = requests.get(url, headers=headers, timeout=60)
response.raise_for_status()
print(response.json()) アカウントのドキュメントに記載された API ベース URL を使い、例のプレースホルダーを置き換えてください。API キーは Authorization ヘッダーで送信し、URL やコミットするファイルには含めないでください。
エンドポイント
アカウントとタイムラインの 3 つの操作
GET /v1/twitter/users?username=<USERNAME> 返された data.id は以後のリクエスト用に文字列として読み取ってください。
GET /v1/twitter/users/<USER_ID> 既知のアカウントを取得し、必要に応じてプロフィール項目を選択します。
GET /v1/twitter/users/<USER_ID>/tweets max_results を設定し、後続ページには pagination_token を渡してください。
クエリパラメーター
フィールド選択とタイムラインのページネーション
- アカウント検索
/v1/twitter/usersではusernameが必須です。両方の検索エンドポイントでdescription,public_metricsのようなカンマ区切りのuser.fieldsリストを指定できます。- ページサイズ
max_resultsは 1~100 の整数を受け付けます。ページサイズの上限であり、その件数の投稿を保証しません。- タイムラインのフィールド
- 時刻と指標には
tweet.fields=created_at,public_metricsを使用します。利用可能な著者情報が必要な場合はexpansions=author_idとuser.fieldsを指定します。返信とリツイートを除外するにはexclude=replies,retweetsを使います。 - 次のページ
- 応答の
meta.next_tokenを次のリクエストのpagination_tokenに渡します。トークンの内容を解釈せず URL エンコードしてください。次のトークンがない、ページ予算に達した、または同じトークンが繰り返された場合に停止します。
レスポンス処理
JSON の結果を直接読み取る
ユーザー検索は data にアカウントを返します。タイムライン応答には data 配列と meta.result_count が含まれ、次のカーソルがある場合は meta.next_token も返ります。著者の拡張情報は includes.users に含まれる場合があります。
{
"data": [],
"meta": {
"result_count": 0
}
} 空のタイムライン応答の例であり、実際のアカウントの取得結果ではありません。任意のフィールドやカーソルがない場合があります。空ページは、そのアカウントが一度も投稿していない証拠にはなりません。
検証エラー
再試行前に無効なパラメーターを修正
username の欠落や範囲外の max_results は HTTP 400 と success: false、error.code: 10001、error.message、requestId を返します。メッセージを確認し、変更せず再試行するのではなくリクエストを修正してください。
リクエストの追跡
認証情報ではなくリクエスト ID を保持
サポートと追跡のため、応答ヘッダー X-Request-Id を保持してください。成功データを読む前に HTTP ステータスを確認し、API キーや不要なプロフィール情報をアプリのログに記録しないでください。