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 アドレスごとの秒間クエリ数(QPS)は 10 件。
    • API Console には、「ユーザーあたりの 100 秒あたりのリクエスト数」という同様の割り当てがあります。デフォルトでは、ユーザーごとに 100 秒あたり 100 リクエストに設定されていますが、最大 1,000 まで調整できます。ただし、API に対するリクエスト数は、ユーザーごとに 1 秒あたり 10 件までに制限されています。
    • アプリケーションがすべての API リクエストを 1 つの IP アドレスから行う場合(つまり、ユーザーに代わってリクエストを行う場合)は、各リクエストで userIP または quotaUser パラメータを使用して、各ユーザーに QPS の上限をすべて割り当てます。詳細については、標準クエリ パラメータの概要をご覧ください。

Reporting API

以下の割り当ては、Core Reporting API v3アナリティクス 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 日あたりプロジェクトあたり 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 の監視、割り当ての上限設定をご覧ください。