GZW Data docs
API GitHub
DocsAPI referenceRate limits & caching

Rate limits & caching

The API is free and best-effort. Cache on your side and respect the retry delay.

Rate limit#

100 requests per minute per IP, as a sliding window. The counter lives in the memory of each warm Vercel function instance, so it is not a strict global quota.

HeaderMeaning
X-RateLimit-LimitRequests allowed in the window
X-RateLimit-RemainingRequests left in the window
X-RateLimit-ResetWhen the window resets
Retry-AfterSeconds to wait after a 429

Caching#

Data endpoints send Cache-Control: public, max-age=300. The wiki-backed data is refreshed by the scraper, so caching for a few minutes loses nothing. Newly scraped data may take a short while to pass through the CDN.

Identify your app (optional)#

Send an X-Client header with your app's name, for example X-Client: my-discord-bot, so usage can be counted per app. It is optional and no key is needed. Only request counts per endpoint, status and this label are stored, never IP addresses.

Be a good client

Do not proxy or hammer the API to bypass limits. Bots and dashboards should cache responses and use dataVersion to detect changes.

Report a docs issue