Open Brewery DB is a free dataset and API with public information on breweries, cideries, brewpubs, and bottleshops
The goal of Open Brewery DB is to maintain an open-source, community-driven dataset and provide a public API for brewery-related data.
It is our belief that public information should be freely accessible for the betterment of the community and the happiness of web developers and data analysts.
This API is not authenticated.
Returns a paginated list of breweries based on optional filters and sorting.
curl --request GET \
--get "https://api.openbrewerydb.org/v1/breweries" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"per_page\": 1,
\"page\": 22,
\"sort\": \"architecto\",
\"by_city\": \"n\",
\"by_country\": \"g\",
\"by_dist\": \"architecto\",
\"by_dist_radius\": 22,
\"by_dist_unit\": \"mi\",
\"by_ids\": \"g\",
\"by_name\": \"z\",
\"by_postal\": \"m\",
\"by_state\": \"i\",
\"by_type\": \"architecto\",
\"exclude_types\": \"architecto\"
}"
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 120
x-ratelimit-remaining: 119
vary: Origin
{
"message": "The by city field must be at least 3 characters. (and 8 more errors)",
"errors": {
"by_city": [
"The by city field must be at least 3 characters."
],
"by_country": [
"The by country field must be at least 3 characters."
],
"by_dist": [
"The by dist must be a valid coordinate pair (latitude,longitude)."
],
"by_ids": [
"The by ids field must be at least 3 characters."
],
"by_name": [
"The by name field must be at least 3 characters."
],
"by_postal": [
"The by postal field must be at least 3 characters."
],
"by_state": [
"The by state field must be at least 3 characters."
],
"by_type": [
"The by_type contains invalid brewery type: architecto"
],
"exclude_types": [
"The exclude_types contains invalid brewery type: architecto"
]
}
}
Takes the same filters as List Breweries.
curl --request GET \
--get "https://api.openbrewerydb.org/v1/breweries/meta" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"per_page\": 1,
\"page\": 22,
\"sort\": \"architecto\",
\"by_city\": \"n\",
\"by_country\": \"g\",
\"by_dist\": \"architecto\",
\"by_dist_radius\": 22,
\"by_dist_unit\": \"km\",
\"by_ids\": \"g\",
\"by_name\": \"z\",
\"by_postal\": \"m\",
\"by_state\": \"i\",
\"by_type\": \"architecto\",
\"exclude_types\": \"architecto\"
}"
curl --request GET \
--get "https://api.openbrewerydb.org/v1/breweries/random" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"size\": 1
}"
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 120
x-ratelimit-remaining: 117
vary: Origin
[
{
"id": "99526c72-24a9-4027-bad0-a1e42218b60a",
"name": "Side By Each Brewing Co",
"brewery_type": "planning",
"address_1": null,
"address_2": null,
"address_3": null,
"city": "Auburn",
"state_province": "Maine",
"postal_code": "04210-3739",
"country": "United States",
"longitude": null,
"latitude": null,
"phone": "2073479920",
"website_url": null,
"state": "Maine",
"street": null
}
]
The search performs partial, case-insensitive matching against brewery names.
curl --request GET \
--get "https://api.openbrewerydb.org/v1/breweries/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"per_page\": 1,
\"query\": \"n\"
}"
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 120
x-ratelimit-remaining: 116
vary: Origin
{
"message": "The query field must be at least 3 characters.",
"errors": {
"query": [
"The query field must be at least 3 characters."
]
}
}
The ID of the brewery.
curl --request GET \
--get "https://api.openbrewerydb.org/v1/breweries/ae7b3174-8be8-4d53-a3a5-9b8240970eea" \
--header "Content-Type: application/json" \
--header "Accept: application/json" cache-control: max-age=86400, public
content-type: application/json
x-ratelimit-limit: 120
x-ratelimit-remaining: 115
vary: Origin
{
"id": "ae7b3174-8be8-4d53-a3a5-9b8240970eea",
"name": "'s",
"brewery_type": "brewpub",
"address_1": "1 Friesener Straße",
"address_2": null,
"address_3": null,
"city": "Kronach",
"state_province": "Bayern",
"postal_code": "96317",
"country": "Germany",
"longitude": 11.327765,
"latitude": 50.241246,
"phone": "+49 9261 628000",
"website_url": "http://www.antla.de",
"state": "Bayern",
"street": "1 Friesener Straße"
}