Punk API is a free, no-auth REST API exposing BrewDog's "DIY Dog" open-source beer recipe collection — 325 detailed homebrew recipes crowdsourced and transcribed from the BrewDog DIY Dog PDF. The v2 surface (api.punkapi.com/v2) offered three read-only endpoints: list beers (with rich query filtering on ABV, IBU, EBC, brew date, beer name, hops, malt, yeast, and food pairing), get a beer by id, and get a random beer. Each beer carries a full recipe — ABV, IBU, EBC/SRM colour, target gravities, mash temperature schedule, fermentation temperature, twist, malt and hop bills, yeast strain, food pairings, brewer's tips, and contributor attribution. STATUS — DEPRECATED. BrewDog decommissioned the public api.punkapi.com endpoint in 2023 and the source repositories (sammdec/punkapi-db, sammdec/punkapi-server) were archived on 2023-06-28. The dataset and server source remain MIT-licensed and available; community-hosted mirrors and the `punkapi-db` npm package preserve the contract documented here.
1 APIs1 Capabilities9 Features
Food And DrinkBeerBrewDogDIY DogRecipesOpen SourcePublic APIsRESTDeprecated
Read-only REST surface over the 325 BrewDog DIY Dog beer recipes. Three operations — list (with ABV/IBU/EBC/date/ingredient filters and page/per_page pagination up to 80 items),...
Beers — the only Punk API surface. Three read-only operations: list with rich recipe-oriented filtering, get by id, and random. The public api.punkapi.com endpoint was sunset in...
Crowdsourced transcription of the complete BrewDog DIY Dog PDF — every recipe from Punk IPA (#001) through the final published batch.
Full Brewing Recipe
Each beer carries ABV, IBU, EBC, SRM, target gravities, mash schedule, fermentation temperature, malt bill, hop bill, yeast strain, food pairings, and brewer's tips.
Recipe-Oriented Query Filters
List endpoint supports filters on ABV (gt/lt), IBU (gt/lt), EBC (gt/lt), brewed-before/after dates, and substring search on beer name, hops, malt, yeast, and food pairing.
Pagination
page (>=1) and per_page (1-80, default 25) on the list endpoint.
Random Beer
/beers/random returns a uniformly random recipe — useful for "beer of the day" demos.
No Authentication
Fully public — no API keys, OAuth, or signup required.
No Rate Limits Documented
Best-effort public service while it was live. Only the per_page ceiling of 80 is enforced.
MIT-Licensed Source
Both punkapi-db (dataset) and punkapi-server (Express app) are MIT-licensed — self-host or fork freely.
npm Distribution
The complete dataset is published as the `punkapi-db` package for direct in-process use without HTTP.
aid: punkapi
name: Punk API
description: >-
Punk API is a free, no-auth REST API exposing BrewDog's "DIY Dog" open-source
beer recipe collection — 325 detailed homebrew recipes crowdsourced and
transcribed from the BrewDog DIY Dog PDF. The v2 surface (api.punkapi.com/v2)
offered three read-only endpoints: list beers (with rich query filtering on
ABV, IBU, EBC, brew date, beer name, hops, malt, yeast, and food pairing),
get a beer by id, and get a random beer. Each beer carries a full recipe —
ABV, IBU, EBC/SRM colour, target gravities, mash temperature schedule,
fermentation temperature, twist, malt and hop bills, yeast strain, food
pairings, brewer's tips, and contributor attribution. STATUS — DEPRECATED.
BrewDog decommissioned the public api.punkapi.com endpoint in 2023 and the
source repositories (sammdec/punkapi-db, sammdec/punkapi-server) were
archived on 2023-06-28. The dataset and server source remain MIT-licensed
and available; community-hosted mirrors and the `punkapi-db` npm package
preserve the contract documented here.
url: https://punkapi.com
baseURL: https://api.punkapi.com/v2
specificationVersion: '0.20'
created: '2026-05-28'
modified: '2026-05-29'
x-source: public-apis/public-apis
x-category: Food & Drink
x-type: opensource
x-tier: 3
x-tier-reason: free-deprecated-public-service-with-archived-open-source-source-code
x-status: deprecated
x-deprecated-on: '2023'
x-archived-on: '2023-06-28'
x-replacement: >-
Self-host sammdec/punkapi-server against the `punkapi-db` npm dataset, or
point clients at a community-maintained mirror.
tags:
- Food And Drink
- Beer
- BrewDog
- DIY Dog
- Recipes
- Open Source
- Public APIs
- REST
- Deprecated
apis:
- name: Punk API — Beers
description: >-
Read-only REST surface over the 325 BrewDog DIY Dog beer recipes. Three
operations — list (with ABV/IBU/EBC/date/ingredient filters and
page/per_page pagination up to 80 items), get-by-id, and random. No
authentication. The historical baseURL (api.punkapi.com/v2) is no
longer reachable; self-host sammdec/punkapi-server or run a mirror.
humanURL: https://punkapi.com
baseURL: https://api.punkapi.com/v2
tags:
- REST
- Beer
- Recipes
- Deprecated
properties:
- type: Documentation
url: https://punkapi.com
- type: OpenAPI
url: openapi/punkapi-openapi.yml
- type: JSONSchema
url: json-schema/punkapi-beer-schema.json
title: Beer Schema
- type: JSONSchema
url: json-schema/punkapi-error-schema.json
title: Error Schema
- type: JSONStructure
url: json-structure/punkapi-beer-structure.json
title: Beer Structure
- type: JSONStructure
url: json-structure/punkapi-error-structure.json
title: Error Structure
- type: JSONLD
url: json-ld/punkapi-context.jsonld
- type: Example
url: examples/punkapi-beer-example.json
title: Beer Example
- type: Example
url: examples/punkapi-error-example.json
title: Error Example
- type: NaftikoCapability
url: capabilities/punkapi-beers.yaml
common:
- type: Website
url: https://punkapi.com
- type: GitHubRepository
url: https://github.com/sammdec/punkapi
title: punkapi-db (Recipe Dataset — archived 2023-06-28)
- type: GitHubRepository
url: https://github.com/sammdec/punkapi-server
title: punkapi-server (Express server — archived 2023-06-28)
- type: GitHubOrganization
url: https://github.com/sammdec
- type: SDK
url: https://www.npmjs.com/package/punkapi-db
title: punkapi-db (npm — recipe dataset)
- type: SDK
url: https://github.com/apfohl/punkapi
title: punkapi (C client)
- type: SDK
url: https://github.com/samjbmason/punkapi-ruby
title: punkapi-ruby (Ruby client)
- type: SDK
url: https://github.com/billythekid/PunkApi
title: PunkApi (PHP client)
- type: SDK
url: https://github.com/mikefrancis/brewdog.js
title: brewdog.js (JavaScript client)
- type: SDK
url: https://github.com/Oni-zerone/PunkAPI
title: PunkAPI (Swift/iOS client)
- type: SDK
url: https://github.com/yoohahn/VueDogs-API
title: VueDogs-API (Vue.js client)
- type: SDK
url: https://hub.docker.com/r/yoohahn/brewdog-recipe
title: brewdog-recipe (Docker mirror)
- type: SDK
url: https://github.com/phillc73/brewdogr
title: brewdogr (R client)
- type: PublicAPIsListing
url: https://github.com/public-apis/public-apis
- type: Plans
url: plans/punkapi-plans-pricing.yml
- type: RateLimits
url: rate-limits/punkapi-rate-limits.yml
- type: SpectralRules
url: rules/punkapi-rules.yml
- type: Vocabulary
url: vocabulary/punkapi-vocabulary.yml
- type: Features
data:
- name: 325 BrewDog DIY Dog Recipes
description: Crowdsourced transcription of the complete BrewDog DIY Dog PDF — every recipe from Punk IPA (#001) through the final published batch.
- name: Full Brewing Recipe
description: Each beer carries ABV, IBU, EBC, SRM, target gravities, mash schedule, fermentation temperature, malt bill, hop bill, yeast strain, food pairings, and brewer's tips.
- name: Recipe-Oriented Query Filters
description: List endpoint supports filters on ABV (gt/lt), IBU (gt/lt), EBC (gt/lt), brewed-before/after dates, and substring search on beer name, hops, malt, yeast, and food pairing.
- name: Pagination
description: page (>=1) and per_page (1-80, default 25) on the list endpoint.
- name: Random Beer
description: /beers/random returns a uniformly random recipe — useful for "beer of the day" demos.
- name: No Authentication
description: Fully public — no API keys, OAuth, or signup required.
- name: No Rate Limits Documented
description: Best-effort public service while it was live. Only the per_page ceiling of 80 is enforced.
- name: MIT-Licensed Source
description: Both punkapi-db (dataset) and punkapi-server (Express app) are MIT-licensed — self-host or fork freely.
- name: npm Distribution
description: The complete dataset is published as the `punkapi-db` package for direct in-process use without HTTP.
- type: UseCases
data:
- name: Homebrewing Reference
description: Look up a recipe by ABV, hop, or malt to replicate or adapt a BrewDog beer at home-batch scale.
- name: Sample / Tutorial API
description: Front-end and mobile tutorials use Punk API as a fun, schema-rich, no-auth REST target.
- name: Beer Discovery App
description: Power beer recommendation apps, food-pairing tools, and BrewDog fan sites.
- name: Search by Ingredient
description: Filter by hop (e.g. `hops=simcoe`) or malt (e.g. `malt=maris_otter`) to discover recipes using a specific ingredient.
- name: Food Pairing Lookup
description: Filter by `food=spicy_food` to find beers explicitly recommended for spicy cuisine.
- name: HTTP Client QA
description: Stable, well-defined schema makes Punk API a good fixture for codegen tools, OpenAPI tooling, and SDK builders.
- type: Integrations
data:
- name: BrewDog DIY Dog
description: The upstream source of every recipe — BrewDog's open-source DIY Dog homebrew PDF.
- name: punkapi-db (npm)
description: The recipe dataset packaged for direct npm install — no HTTP needed.
- name: punkapi-server (Express)
description: The reference Express + node server that exposes the dataset as the v2 REST API.
- name: Community Mirrors
description: Several community-run instances of punkapi-server keep the v2 contract reachable after BrewDog's 2023 decommission.
- name: Public APIs Catalog
description: Listed in github.com/public-apis/public-apis under the Food & Drink category.
- type: Solutions
data:
- name: Self-Host the Server
description: 'Clone sammdec/punkapi-server, run `npm i` then `npm run dev` — get the full v2 contract on http://localhost:3333.'
- name: Embed the Dataset
description: 'Run `npm i --save punkapi-db` to pull the full 325-recipe data.json into your application without HTTP.'
- name: Static JSON Mirror
description: For purely read use cases, host data.json on a CDN and serve clients directly.
maintainers:
- FN: Kin Lane
email: [email protected]