Errors
Errors return a non-2xx status and a body with a stable, machine-readablecode you can branch on (the message is for humans and may change):
Error codes
Any endpoint can return:
Specific endpoints can also return:
Quotas
Your plan sets how many calls you can make per period. Each call is charged to one bucket.-
Endpoints that need an extra permission draw from that permission’s own
bucket if your plan puts a limit on it.
-
Every other call — and any of the above when your plan doesn’t limit that
permission separately — draws from your account-wide
basebucket.
5xx, 429, and 403 responses will not count against your quota.
When a bucket quota is exceeded, calls return 429 with the
code quota_exceeded until the period resets. Retry-After says how many
seconds that is.
Every response for a call charged to a limited bucket carries:
Rate limits
Separately from quotas, calls are limited per second. Going over returns429 with the code rate_limited, even if your quota has calls left.
These responses do not carry X-RateLimit-* headers, which
describe quotas only.