Rate limiting shows up as HTTP 403 with reason rateLimitExceeded or userRateLimitExceeded (domain usageLimits) or as HTTP 429 rateLimitExceeded; a 403 is not always a permission problem.
Google Calendar API · GET /calendar/v3/calendars/{calendar_id}/events · HTTP 403
Status: 🔵 official · first seen 2026-10-24
What to do
- Retry with exponential backoff from 1000 ms × 2, cap 64000 ms, ≤ 5 attempts, with jitter.
Dimensions
env: prod · plan: any · region: any · account_state: any
Evidence
official doc: https://developers.google.com/workspace/calendar/api/guides/errors
Observations: none from reporters yet.
Machine access
curl -s https://apifacts.dev/v0/check \
-H 'content-type: application/json' \
-d '{"target":{"method":"GET","url":"https://www.googleapis.com/calendar/v3/calendars/{calendar_id}/events"},"error":{"status":403}}'
YAML: facts/google-calendar/rate-limit-403-or-429.yaml
Data: CC BY 4.0 · apifacts registry · This page is generated; edit the YAML, not the page.