広告主APIは、「REST API v1.1のレート制限」の説明のように、REST API v1.1と同様のレート制限があります。REST API v1.1とは違い、エンドポイントあたりのプログラムを使ったインデックスの制限はありません。エンドポイントのレート制限とリセットウィンドウは、HTTP応答ヘッダーを通じて通信します。 広告APIのすべてのレート制限はOAuth 1.0Aを使用します。
ユーザーレベルと広告アカウントレベルの制限
レート制限にはユーザートークンレベルと広告アカウントレベルの2種類があります。エンドポイントのサブセットは有効になり、広告アカウントレベルのレート制限が使用できるようになります。 ユーザートークンは広告APIの認証と呼び出しに使用するOAuthアクセストークンです。各ユーザートークンでは、1つ以上の広告アカウントにアクセスできます。
開発者は、応答ヘッダーで返された場合に広告アカウントレベルのレート制限を使用してください。また、アカウントレベルの制限は、広告アカウントの制限が見つからない場合のみ使用してください。
ユーザーレベルのレート制限は、次のヘッダーに記載されています: x-rate-limit-limit、x-rate-limit-remaining、x-rate-limit-reset
広告アカウントレート制限が有効になったエンドポイントでは、レート制限は次のヘッダーに記載されています: x-account-rate-limit-limit、x-account-rate-limit-remaining、x-account-rate-limit-reset
広告アカウントレベルのレート制限は、GETエンドポイントがアプリケーションを有効にして複数の広告アカウントにアクセスするシングルユーザートークンからエンティティのデータ(キャンペーンや行項目オブジェクトなど)を同期する場合にのみ提供されます。書き込みアクションでは、同じ広告アカウントレベルのレート制限の使用は保証されません。
広告アカウントレベルのレート制限エンドポイントの場合、ユーザーレベルのレート制限は、アプリケーション全体のグローバル定数を示す高い値で設定されます。利用可能な場合は、リクエストボリュームの制御で広告アカウントレベルのレート制限を優先してください。
ベストプラクティス
1)最後に同期した日付と時間でデータベースの日付と時間を保存します。そして該当する場合はデータをリクエストする際に、sort_by=updated_at-descオプションでデータをリクエストし、最後に同期した日付と時間よりも古いデータに到達した後、同期プロセスを停止できるようにします。これにより、同じデータを重複して同期しないようにすることができます。
2)1つのリクエストで複数のエンティティをリクエストします。エンドポイントには、カンマ区切りの値のリストを指定することで、類似のさまざまなデータを取得できるものがあります。これで、呼び出しの全体数を減らし、レート制限をさらに効率的に活用できます。
3)リクエストで最大「数」をリクエストします。デフォルトの200個の代わりにオブジェクト1,000個を返す最大数値で呼び出すGET accounts/:account_id/targeting_criteriaなどのエンドポイントを強くお勧めします。
アナリティクスの同期
アナリティクスエンドポイントのレート制限の詳細については、「アナリティクスレート制限ガイド」を参照してください。
よくある質問
特定の広告アカウントやアプリケーションのレート制限を増やすことは可能ですか?
一般的に、レート制限は増やすことができません。レート制限は最大の広告アカウントをサポートするよう設定されています。最初の手順としてこのドキュメントに記載されるベストプラクティスを実装してください。レート制限がそれでもビジネス目的の拡張や達成に影響する場合は、ユースケースと関与するリクエストについての詳細とともにTwitter広告API連絡先までお問い合わせください。
レート制限の範囲
このドキュメントの範囲
- カテゴリー: 指定のカテゴリーに分類されるすべてのエンドポイントは、ウィンドウあたりに割り当てられた1つの制限からレートを制限されます。
- エンドポイント: 各エンドポイントにはウィンドウあたりに異なる独自の制限が割り当てられています。
広告APIレート制限チャート
広告APIレート制限
エンドポイントタイプ | エンドポイントまたはカテゴリー別の範囲 | 1分ウィンドウあたりのレート制限 |
---|---|---|
書き込み(POST、PUT、DELETE) | カテゴリー | 450 |
オーディエンス | エンドポイント | 1500 |
エンドポイントタイプ | エンドポイントまたはカテゴリー別の範囲 | 15分ウィンドウあたりのレート制限 |
---|---|---|
アナリティクス(同期) | カテゴリー | 250 |
コアエンティティ読み取り(行項目、キャンペーンなど) その他のアカウント読み取り(account_idのその他のGETエンドポイント) |
エンドポイント(広告アカウントレベル) エンドポイント(部分的な広告アカウントレベル) |
10,000 2,000 |
ターゲティング条件(以下を除く) | カテゴリー | 400 |
ターゲティング条件(tv_markets、tv_shows) | エンドポイント | 2,000 |
オーディエンスインサイト | カテゴリー | 400 |
キーワードインサイト | カテゴリー | 500 |
グローバル読み取り(account_idのないGETエンドポイント) | エンドポイント | 5 |