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: kin@apievangelist.com