API リクエストの制限と割り当て

このドキュメントでは、Management API および Reporting API のリクエストに設けられた制限と割り当てについて説明します。

Google アナリティクスは数多くのサイトで使用されています。Google では、システムが処理能力を超えるデータを受信することを防ぎ、システム リソースを公平に配分するために、API リクエストに上限と割り当てを設けています。上限と割り当ては変更される可能性があります。

こちらの動画では、Google アナリティクス API のリクエストの割り当てを管理するうえで有益なヒントを紹介します。

一般的な割り当て制限

Management APICore Reporting API v3MCF Reporting APIMetadata APIUser Deletion APIReal Time Reporting API には、以下の割り当てが適用されます。

  • プロジェクトあたり 1 日 50,000 件のリクエスト(引き上げ可能)。
  • IP アドレスごとに 10 クエリ/秒(QPS)。
    • API Console には、ユーザーごとの 100 秒あたりのリクエスト数という同様の割り当てがあります。デフォルトでは、ユーザーごとに 100 秒あたり 100 件のリクエストに設定されていますが、最大値の 1,000 まで調整できます。ただし、API に対するリクエスト数は、ユーザーごとに 1 秒あたり 10 件までに制限されています。
    • アプリケーションがすべての API リクエストを 1 つの IP アドレスから(つまり、ユーザーに代わって)行う場合は、各リクエストで userIP または quotaUser パラメータを使用して、各ユーザーの最大 QPS 割り当てを取得します。詳しくは、標準クエリ パラメータの概要をご覧ください。

Reporting API

以下の割り当ては、Core Reporting API v3Analytics Reporting API v4Real Time API v3Multi-channel Funnel API v3 など、すべての Reporting API に適用されます。

  • ビュー(旧プロファイル)ごとに 1 日 10,000 件のリクエスト(引き上げ不可)
  • ビュー(旧プロファイル)ごとに 10 件の同時リクエスト(引き上げ不可)

Reporting API のリクエスト エラーについて

Reporting API へのリクエストがサーバーエラーで失敗すると、レスポンス コード 500 または 503 が返されます。リクエストを再送信することはできますが、リクエストが繰り返し失敗する場合は、リクエストを複数回送信しないでください。Google アナリティクスでは次のことが可能です。

  • 1 プロジェクト、ビュー(プロファイル)あたり 1 時間あたり 10 件のサーバーエラー リクエスト失敗
  • 1 プロジェクト、ビュー(プロファイル)あたり 1 日あたり 50 件のサーバーエラー リクエスト失敗

失敗したリクエストの数がこの割り当てを超えると、次のエラーが表示されます。

Quota Error: The number of recent reporting API requests failing by server error is too high.
You are temporarily blocked from the reporting API for at least an hour.
Please send fewer server errors in the future to avoid being blocked.

リクエスト サーバーでエラーが発生する可能性を減らすには、期間を短くするか、リクエスト内のディメンション数を減らすか、リクエストの指標数を減らして、リクエストを簡素化します。

失敗したリクエストを繰り返し再送信しないでください。代わりに、指数バックオフを実装して再送信してください。

サーバーエラー率の割り当ては、1 時間ごとと 1 日あたりのエラー率に基づく割り当てのローリング時間に対して適用されます。プロジェクトとビューのペアで最初のサーバーエラーが発生してから 1 時間後に割り当てがリセットされます。プロジェクトとビューのペアが 1 時間に 10 件のサーバーエラーを送信した場合、最初のサーバーエラーから 1 時間が経過するまで、プロジェクトとビューのペアは API でブロックされます。

たとえば、プロジェクトとビューのペアが過去 24 時間にサーバーエラーを送信していない場合、このプロジェクトとビューは 50 個の割り当てのうち 0 個を使用します。たとえば、このプロジェクトとビューが午前 6 時 12 分にサーバーエラーを送信するとします。このプロジェクトとビューが翌日の午前 6 時 12 分より前に 49 件の追加サーバーエラーを送信すると、このプロジェクトとビューは翌日の午前 6 時 12 分までブロックされます。翌日の午前 6 時 12 分に、このプロジェクトとビューのサーバーエラー率の割り当てが完全にリセットされます。

割り当ての上限を超えた場合

Google アナリティクス API に対するリクエストの割り当てが上限を超えた場合、API はエラーコード 403 または 429 に加え、アカウントの割り当てが上限を超えたことを知らせるメッセージを返します。詳しくは、利用規約をご参照ください。

割り当ての追加をリクエストする

以下の割り当てにのみ追加をリクエストできます。

プロジェクトの使用量上限を確認して変更する手順、または割り当ての増加をリクエストする手順は次のとおりです。

  1. プロジェクトの請求先アカウントをまだ保有していない場合は、アカウントを作成します。
  2. API Console で API ライブラリの [有効な API] ページに移動し、リストから API を選択します。
  3. 割り当て関連の設定を表示および変更するには、[割り当て] を選択します。使用統計情報を表示するには、[使用量] を選択します。

割り当ての上限の引き上げをリクエストするには、Analytics API の割り当てリクエスト フォームをご利用ください。 リクエストを送信する前に、情報を確認し、割り当てリクエスト フォームの指示に沿って操作してください。Reporting API v4 の場合、Google API Console の API 名は Google アナリティクス Reporting API です。その他すべての v3 API(Management API v3、Core Reporting API v3、Real Time Reporting API v3、User Deletion API v3 など)は、Google API Console の [Analytics API] に表示されます。

割り当ての管理や、割り当てを効率的に使うためのアプリケーションの調整について詳しくは、API の監視、割り当ての上限設定をご覧ください。