Punk API · Rate Limits

Punkapi Rate Limits

Punk API never published explicit rate-limit numbers. The public api.punkapi.com endpoint operated as a free best-effort community service until BrewDog decommissioned it in 2023. While the service was live, the only enforced constraint was the `per_page` ceiling of 80 items per request on the `/beers` endpoint; everything else (per-IP request rate, daily quotas, concurrency caps) was undocumented and any throttling occurred at the CDN edge. Consumers running the same `punkapi-server` code against a self-hosted dataset (or against a community mirror) should treat the same defaults as applicable.

Punkapi Rate Limits is the machine-readable rate-limit profile for Punk API on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 3 rate-limit definitions, measuring items and varies.

The profile also includes 4 backoff/retry policies defined and response codes documented for validationError, notFound, and serverError.

Tagged areas include Rate Limiting, Food And Drink, Beer, and Free API.

3 Limits
Rate LimitingFood And DrinkBeerFree API

Limits

Per-page ceiling request
items
80 items per page (enforced; validation error if exceeded)
The `per_page` query parameter on /beers is validated to be an integer between 1 and 80 inclusive. Anything outside the range returns a 400 with a validation error message.
Documented per-IP rate limit IP
varies
none documented — best-effort public service
No per-second, per-minute, or per-day request cap was published.
Edge / CDN protection IP
varies
undisclosed CDN-level abuse protection may have applied
Like most free public REST services, the production endpoint was fronted by a CDN that could throttle obviously abusive traffic; the thresholds were never disclosed and the endpoint is no longer live.

Policies

Treat as best-effort (historical)
Punk API was a free community service. Even while live, consumers were not expected to depend on it for production traffic. Now that the hosted endpoint is decommissioned, treat any reference to api.punkapi.com as historical only.
Use a self-host or mirror
Install `punkapi-db` from npm (`npm i punkapi-db`) and serve the data yourself, or stand up sammdec/punkapi-server locally. This is the forward path now that the hosted endpoint is gone.
Cache aggressively
The dataset is fully static (325 historical recipes). Cache responses indefinitely; there is no need to re-fetch the same beer id more than once per deploy.
Back off on 5xx
If you operate a self-hosted mirror and start receiving 5xx, apply exponential backoff with jitter rather than tight retries.

Sources