60 requests per minute per key. Responses that reach the per-key limiter — every authenticated request, including its own 429 — carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Pace against Remaining rather than against the clock. Refusals decided before your key is read — 401, and the per-address 429 below — deliberately carry none; use Retry-After there instead.
The window is a counter that starts with its first request, not a wall-clock minute. One request per second fits exactly, with no margin: polling even slightly faster spends the budget before the window closes and the rest of it is refused. If you poll on a timer, leave headroom.
A refusal is 429 RATE_LIMIT_EXCEEDED with a Retry-After header. A shared source address has an additional ceiling of 300 requests per minute across all keys, which answers IP_RATE_LIMIT_EXCEEDED.
The wait is in the Retry-After header only — the response body carries no retry field.
If rate limiting itself is unavailable the request is refused with 503 SERVICE_UNAVAILABLE rather than allowed through. Treat it as transient and retry with backoff.