specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Google AdMob providerId: google-admob generated: '2026-08-13' method: searched source: https://developers.google.com/admob/api/quotas docs: https://developers.google.com/admob/api/quotas created: '2026-05-04' modified: '2026-08-13' description: >- Published AdMob API quotas, harvested from Google's own quota page on 2026-08-13. This file REPLACES the 2026-05-04 bulk-sweep scaffold, whose numbers (10 requests/minute on a "free tier", X-RateLimit-* headers, a RateLimit-Policy header) were invented defaults and matched nothing Google publishes. tags: - AdMob - Quotas - Rate Limiting - Reporting notes: >- AdMob quotas are enforced PER GOOGLE CLOUD PROJECT, not per user or per API key, and are split into three method classes: account, inventory and reporting. Google publishes the numeric limits but documents NO rate-limit response headers for the AdMob API — no RateLimit-*, no X-RateLimit-*, no Retry-After — so the only runtime signal an agent receives is an HTTP 429 carrying the canonical RESOURCE_EXHAUSTED status in the google.rpc.Status error envelope, naming the quota group that was exhausted (e.g. "Quota exceeded for quota group 'ReportingReadGroup'"). Google's guidance on hitting quota is to add client-side rate limiting and request fewer rows per report, and additional daily quota is requested through the AdMob API developer forum with a use case, not purchased. headers: limit: null remaining: null reset: null retryAfter: null policy: null note: No rate-limit response headers are documented for admob.googleapis.com. responseCodes: throttled: 429 quotaExceeded: 429 limit_count: 4 limits: - scope: per-project method_class: account name: Account read requests per minute per project window: minute limit: 900 unit: read requests operations: - accounts_get - accounts_list - scope: per-project method_class: inventory name: Inventory read requests per minute per project window: minute limit: 120 unit: read requests operations: - accounts_apps_list - accounts_adUnits_list - accounts_adSources_list - accounts_adSources_adapters_list - accounts_mediationGroups_list - accounts_adUnits_adUnitMappings_list - scope: per-project method_class: inventory name: Inventory read requests per day per project window: day limit: 172800 unit: read requests - scope: per-project method_class: reporting name: Reporting read requests per minute per project window: minute limit: 900 unit: read requests operations: - accounts_networkReport_generate - accounts_mediationReport_generate - accounts_campaignReport_generate exhaustion: http_status: 429 status: RESOURCE_EXHAUSTED envelope: google.rpc.Status inside an `error` wrapper example_message: Quota exceeded for quota group 'ReportingReadGroup' guidance: >- Introduce client-side rate limiting and request fewer rows per report request. Request additional daily quota via the AdMob API developer forum with a described use case. other_limits: - name: Maximum report rows per request limit: 100000 applies_to: - accounts_networkReport_generate - accounts_mediationReport_generate - accounts_campaignReport_generate error: 400 INVALID_ARGUMENT "Cannot request more than 100,000 rows in one report request." source: https://developers.google.com/admob/api/v1/errors cross_links: errors: errors/google-admob-problem-types.yml conventions: conventions/google-admob-conventions.yml plans: plans/google-admob-plans-pricing.yml