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 Search Console providerId: google-search-console created: '2026-05-04' # Provenance stamped 2026-08-11: this artifact was written by the API Evangelist # bulk sweep dated 2026-05-04, not harvested from the provider. See roadmap#35. # 2026-08-13: every figure below was re-read against the provider's own limits page and # matched exactly, so the artifact is upgraded from generated to searched. method: searched modified: '2026-08-13' verified: '2026-08-13' verification: >- https://developers.google.com/webmaster-tools/limits fetched 2026-08-13 (HTTP 200). All eleven limits below match the published figures. The page previously referenced in this repo, https://developers.google.com/webmaster-tools/v1/limits, returns HTTP 404. reconciled: true tags: - Rate Limiting - Search - SEO - Webmaster Tools description: Google Search Console API enforces three categories of quotas — Search Analytics, URL Inspection, and All Other Resources — measured in queries-per-minute (QPM), queries-per-day (QPD), and queries-per-second (QPS) at per-site, per-user, and per-project scopes. Usage can be tracked via the quota tab in the Google Cloud Console. sources: - https://developers.google.com/webmaster-tools/limits - https://developers.google.com/search/apis/indexing-api/v3/quota-pricing responseCodes: throttled: 429 throttledAlternate: 403 quotaExceeded: 403 serviceUnavailable: 503 note: >- Google returns BOTH 403 and 429 for throttling on this surface. The distinguishing signal is error.errors[].reason — rateLimitExceeded and userRateLimitExceeded are retryable, while dailyLimitExceeded and quotaExceeded are not retryable within the window. headers: published: false ratelimit_headers: [] retry_after: unconfirmed note: >- The provider publishes no X-RateLimit-* or RateLimit-* response headers and documents no Retry-After. There is no runtime signal of remaining quota anywhere in the response — a client can only see consumption in the quota tab of the Google Cloud project. The error itself is the first and only warning, which is why exponential backoff is mandatory here rather than advisory. Recorded as an honest absence, not an unchecked field. limits: - name: Search Analytics — per-site scope: site metric: requests_per_minute limit: 1200 timeFrame: minute - name: Search Analytics — per-user scope: user metric: requests_per_minute limit: 1200 timeFrame: minute - name: Search Analytics — per-project (per minute) scope: project metric: requests_per_minute limit: 40000 timeFrame: minute - name: Search Analytics — per-project (per day) scope: project metric: requests_per_day limit: 30000000 timeFrame: day - name: URL Inspection — per-site (per day) scope: site metric: requests_per_day limit: 2000 timeFrame: day - name: URL Inspection — per-site (per minute) scope: site metric: requests_per_minute limit: 600 timeFrame: minute - name: URL Inspection — per-project (per day) scope: project metric: requests_per_day limit: 10000000 timeFrame: day - name: URL Inspection — per-project (per minute) scope: project metric: requests_per_minute limit: 15000 timeFrame: minute - name: All other resources — per-user QPS scope: user metric: requests_per_second limit: 20 timeFrame: second - name: All other resources — per-user QPM scope: user metric: requests_per_minute limit: 200 timeFrame: minute - name: All other resources — per-project QPD scope: project metric: requests_per_day limit: 100000000 timeFrame: day policies: - name: Backoff Strategy description: Use exponential backoff with jitter on 429 / 503 responses; respect Retry-After when present. - name: Quota visibility description: Track quota usage via the quota tab in the Google APIs Console for the project; raise via Google Cloud support if needed. - name: Load measurement description: Search Analytics load is measured in 10-minute (short-term) and 1-day (long-term) windows; spikes within either window can produce 429s before the per-minute limit is reached. maintainers: - FN: Kin Lane email: kin@apievangelist.com