Open Brewery DB Breweries API
Brewery listing, retrieval, search, autocomplete, and metadata operations.
Brewery listing, retrieval, search, autocomplete, and metadata operations.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/open-brewery-db-breweries-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Open Brewery DB Breweries API
description: 'Open Brewery DB is a free dataset and API with public information on
breweries, cideries, brewpubs, and bottleshops. The database contains
11,000+ entries across 23+ countries and 212+ states and regions.
No API key, authentication, or registration is required.
'
version: 1.0.0
contact:
url: https://www.openbrewerydb.org/
license:
name: MIT
url: https://github.com/openbrewerydb/openbrewerydb/blob/master/LICENSE
servers:
- url: https://api.openbrewerydb.org/v1
tags:
- name: Breweries
description: Brewery listing, retrieval, search, autocomplete, and metadata operations.
paths:
/breweries:
get:
operationId: listBreweries
summary: List Breweries
description: Returns a list of breweries. Supports filtering by city, state, country, type, postal code, name, IDs, and geographic distance. Results are paginated; default page size is 50, maximum is 200. Results can be sorted by one or more fields.
parameters:
- name: by_city
in: query
description: Filter by city name (case-insensitive).
schema:
type: string
example: San Diego
- name: by_country
in: query
description: Filter by country name (case-insensitive).
schema:
type: string
example: United States
- name: by_dist
in: query
description: 'Filter by geographic distance from a lat,lng point. Format: "lat,lng". Returns results sorted by distance ascending.'
schema:
type: string
example: 38.8977,−77.0365
- name: by_ids
in: query
description: Filter by a comma-separated list of brewery IDs.
schema:
type: string
example: b54b16e1-ac3b-4bff-a11f-f7ae9ddc27e0,5494659b-aece-42a4-b7b1-b5a98cf12e40
- name: by_name
in: query
description: Filter by brewery name (case-insensitive partial match).
schema:
type: string
example: Dogfish
- name: by_state
in: query
description: Filter by state or province name (no abbreviations).
schema:
type: string
example: California
- name: by_postal
in: query
description: Filter by postal code (US ZIP codes and international).
schema:
type: string
example: '44107'
- name: by_type
in: query
description: Filter by brewery type.
schema:
type: string
enum:
- micro
- nano
- regional
- brewpub
- large
- planning
- bar
- contract
- proprietor
- taproom
- cidery
- closed
example: micro
- name: page
in: query
description: Page number for pagination (1-indexed).
schema:
type: integer
default: 1
minimum: 1
example: 1
- name: per_page
in: query
description: Number of breweries per page (default 50, max 200).
schema:
type: integer
default: 50
minimum: 1
maximum: 200
example: 50
- name: sort
in: query
description: Sort results by one or more fields. Prefix with "asc:" or "desc:" to control direction. Multiple fields separated by commas.
schema:
type: string
example: asc:name
responses:
'200':
description: A paginated list of brewery records.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Brewery'
example:
- id: ae7b3174-8be8-4d53-a3a5-9b8240970eea
name: Dogfish Head Craft Brewery
brewery_type: micro
address_1: 6 Cannery Village Center
address_2: null
address_3: null
city: Milton
state_province: Delaware
postal_code: 19968-1674
country: United States
longitude: -75.1241
latitude: 38.9974
phone: '3026843156'
website_url: https://www.dogfish.com
state: Delaware
street: 6 Cannery Village Center
tags:
- Breweries
/breweries/{obdb-id}:
get:
operationId: getBrewery
summary: Get Brewery
description: Get full details of a single brewery by its Open Brewery DB ID.
parameters:
- name: obdb-id
in: path
required: true
description: The unique Open Brewery DB ID for the brewery.
schema:
type: string
example: b54b16e1-ac3b-4bff-a11f-f7ae9ddc27e0
responses:
'200':
description: Full brewery record.
content:
application/json:
schema:
$ref: '#/components/schemas/Brewery'
example:
id: b54b16e1-ac3b-4bff-a11f-f7ae9ddc27e0
name: MadTree Brewing 2.0
brewery_type: regional
address_1: 5164 Kennedy Ave
address_2: null
address_3: null
city: Cincinnati
state_province: Ohio
postal_code: 45213-1566
country: United States
longitude: -84.4154
latitude: 39.1776
phone: '5138368733'
website_url: https://madtreebrewing.com
state: Ohio
street: 5164 Kennedy Ave
'404':
description: Brewery not found.
tags:
- Breweries
/breweries/random:
get:
operationId: getRandomBrewery
summary: Get Random Brewery
description: Returns one or more random brewery records. Use the size parameter to request multiple random breweries at once (max 50).
parameters:
- name: size
in: query
description: Number of random breweries to return (default 1, max 50).
schema:
type: integer
default: 1
minimum: 1
maximum: 50
example: 3
responses:
'200':
description: One or more random brewery records.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Brewery'
tags:
- Breweries
/breweries/search:
get:
operationId: searchBreweries
summary: Search Breweries
description: Full-text search across brewery names and other text fields. Returns breweries matching the query term. Results are paginated.
parameters:
- name: query
in: query
required: true
description: Search term to match against brewery names and other text fields.
schema:
type: string
example: dog
- name: per_page
in: query
description: Number of results per page (default 50, max 200).
schema:
type: integer
default: 50
minimum: 1
maximum: 200
example: 10
- name: page
in: query
description: Page number for pagination (1-indexed).
schema:
type: integer
default: 1
minimum: 1
example: 1
responses:
'200':
description: Search results as a list of brewery records.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Brewery'
tags:
- Breweries
/breweries/autocomplete:
get:
operationId: autocompleteBreweries
summary: Autocomplete Breweries
description: Returns a lightweight list of brewery IDs and names matching the query. Optimized for use in autocomplete/typeahead UI components. Returns up to 15 results.
parameters:
- name: query
in: query
required: true
description: Search term to match against brewery names.
schema:
type: string
minLength: 1
example: dog
responses:
'200':
description: List of matching brewery ID and name pairs.
content:
application/json:
schema:
type: array
maxItems: 15
items:
$ref: '#/components/schemas/BreweryAutocomplete'
example:
- id: b54b16e1-ac3b-4bff-a11f-f7ae9ddc27e0
name: Dogfish Head Craft Brewery
- id: ae7b3174-8be8-4d53-a3a5-9b8240970eea
name: Dog Days Brewing
tags:
- Breweries
/breweries/meta:
get:
operationId: getBreweriesMeta
summary: Get Breweries Metadata
description: 'Returns aggregate metadata about the brewery dataset: total count and breakdowns by state/province, country, and brewery type. Accepts the same filter parameters as the list endpoint to scope the metadata to a subset of breweries.'
parameters:
- name: by_city
in: query
description: Scope metadata to breweries in this city.
schema:
type: string
example: Portland
- name: by_country
in: query
description: Scope metadata to breweries in this country.
schema:
type: string
example: United States
- name: by_name
in: query
description: Scope metadata to breweries matching this name.
schema:
type: string
- name: by_state
in: query
description: Scope metadata to breweries in this state or province.
schema:
type: string
example: Oregon
- name: by_postal
in: query
description: Scope metadata to breweries with this postal code.
schema:
type: string
- name: by_type
in: query
description: Scope metadata to breweries of this type.
schema:
type: string
enum:
- micro
- nano
- regional
- brewpub
- large
- planning
- bar
- contract
- proprietor
- taproom
- cidery
- closed
responses:
'200':
description: Metadata and aggregate counts for the brewery dataset.
content:
application/json:
schema:
$ref: '#/components/schemas/BreweryMeta'
example:
total: 11744
page: 1
per_page: 50
by_state:
California: 919
Texas: 352
Washington: 529
by_country:
United States: 8200
Germany: 1449
Belgium: 478
by_type:
micro: 5788
brewpub: 3910
planning: 639
tags:
- Breweries
components:
schemas:
BreweryAutocomplete:
type: object
description: Abbreviated brewery record returned by autocomplete endpoint.
properties:
id:
type: string
format: uuid
description: Unique identifier for the brewery.
example: ae7b3174-8be8-4d53-a3a5-9b8240970eea
name:
type: string
description: Name of the brewery.
example: Dogfish Head Craft Brewery
Brewery:
type: object
description: A brewery, cidery, brewpub, or bottleshop record.
properties:
id:
type: string
format: uuid
description: Unique identifier for the brewery (Open Brewery DB ID).
example: ae7b3174-8be8-4d53-a3a5-9b8240970eea
name:
type: string
description: Name of the brewery.
example: Dogfish Head Craft Brewery
brewery_type:
type: string
description: Type classification of the brewery.
enum:
- micro
- nano
- regional
- brewpub
- large
- planning
- bar
- contract
- proprietor
- taproom
- cidery
- closed
example: micro
address_1:
type: string
nullable: true
description: Primary street address.
example: 6 Cannery Village Center
address_2:
type: string
nullable: true
description: Secondary address line.
example: null
address_3:
type: string
nullable: true
description: Tertiary address line.
example: null
city:
type: string
description: City where the brewery is located.
example: Milton
state_province:
type: string
nullable: true
description: State or province (preferred field, replaces deprecated state).
example: Delaware
postal_code:
type: string
nullable: true
description: Postal or ZIP code.
example: 19968-1674
country:
type: string
description: Country where the brewery is located.
example: United States
longitude:
type: number
format: float
nullable: true
description: Longitude coordinate.
example: -75.1241
latitude:
type: number
format: float
nullable: true
description: Latitude coordinate.
example: 38.9974
phone:
type: string
nullable: true
description: Phone number.
example: '3026843156'
website_url:
type: string
format: uri
nullable: true
description: Website URL of the brewery.
example: https://www.dogfish.com
state:
type: string
nullable: true
deprecated: true
description: Deprecated. Use state_province instead.
example: Delaware
street:
type: string
nullable: true
deprecated: true
description: Deprecated. Use address_1 instead.
example: 6 Cannery Village Center
BreweryMeta:
type: object
description: Metadata and aggregate counts about the brewery dataset.
properties:
total:
type: integer
description: Total number of brewery records.
example: 11744
page:
type: integer
description: Current page number.
example: 1
per_page:
type: integer
description: Number of records per page.
example: 50
by_state:
type: object
description: Count of breweries by state or province.
additionalProperties:
type: integer
by_country:
type: object
description: Count of breweries by country.
additionalProperties:
type: integer
by_type:
type: object
description: Count of breweries by brewery type.
additionalProperties:
type: integer