Open Brewery DB

App · Food & Drink · 14 actions

Look up breweries, brewpubs, taprooms and cideries anywhere in the world from Open Brewery DB, the free open-source brewery dataset. Search by name, filter by country, state, city, postal code or brewery type, find the ones nearest a set of coordinates with the distance to each, pull a whole region in one step, count what matches before you fetch it, or pick one at random. No account or API key is required.

Actions

ActionWhat it does
Count breweriesHow many breweries match a filter, as a single number, with a yes or no beside it for whether there are any at all.
Find breweries nearbyFind the breweries closest to a latitude and longitude, nearest first, each with how far away it actually is.
Get a breweryRead one brewery by its Open Brewery DB ID: its name, type, full address, coordinates, phone number and website.
Get a random breweryPick one brewery at random from the whole dataset and return it as a flat record, so a message can use its name and address without reaching into a list.
Get breweries by IDRead several breweries at once from a list of IDs, in the order you asked for them.
Get brewery statisticsCount the breweries matching a filter and break the total down by type, by state or province and by country, each as ordered rows with the busiest first and the share of the total beside each type.
Get random breweriesPick up to 50 breweries at random from the whole dataset.
List breweriesList breweries matching a filter: a country, a state or province, a city, a postal code, part of a name, and the brewery types to keep or leave out.
List brewery typesEvery brewery type the filters accept, what each one means, and how many of each the dataset holds.
List countriesEvery country the dataset covers, with how many breweries each has, busiest first.
List every matching breweryThe same search as 'List breweries', but followed across every page so one step returns the whole answer instead of a paging loop.
List states and provincesEvery state or province the dataset covers, with how many breweries each has, busiest first.
Search breweries by nameSearch brewery names for part of a name, in any case, and get the full record of each match.
Suggest breweriesThe same name search trimmed to an ID, a name and a place, with a ready-made label such as 'Dogfish Head Craft Brewery (Milton, Delaware, United States)'.

Count breweries

How many breweries match a filter, as a single number, with a yes or no beside it for whether there are any at all. Built for a condition step: ask whether a town has a brewery before spending requests listing them.

Inputs

Countrycountrytext
Only breweries in this country. The list is the countries the dataset actually covers, with how many breweries each has.
State or provincestatetext
Only breweries in this state or province. Choose a country above first and this list narrows to it. A two-letter US abbreviation such as OH also works and is expanded to the full name the dataset uses.
Citycitytext
Only breweries in this city. At least 3 characters, which is what Open Brewery DB accepts.
Postal or ZIP codepostal_codetext
Only breweries with this postal code. A five-digit ZIP covers the whole area; a nine-digit ZIP+4 narrows it to one delivery route. Type the nine digits either way and the hyphen is added for you.
Name containsnametext
Only breweries whose name contains this text, in any case. Use it with the place filters to search names inside a city or a state.
Brewery typesbrewery_typeslist
Only breweries of these types. Choose none to include every type. Note that the dataset counts closed and not-yet-open places as breweries, so a list of places to visit usually excludes them.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Exclude brewery typesexclude_typeslist
Leave these types out of the results. The usual pair to exclude is 'Closed' and 'In planning', which leaves the places open today.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.

Outputs

anytrue/false
filtersobject
totalnumber
Example output
{
  "any": true,
  "filters": {
    "brewery_types": [],
    "city": "Cincinnati",
    "country": null,
    "exclude_types": [],
    "name": null,
    "postal_code": null,
    "sort": null,
    "state": null
  },
  "total": 34
}

Find breweries nearby

Find the breweries closest to a latitude and longitude, nearest first, each with how far away it actually is. Set a radius to keep it to a neighbourhood, or leave it empty to get the nearest ones wherever they are. Open Brewery DB sorts by distance but never says what the distances are, so each one is measured here from the coordinates the record carries.

Inputs

LatitudelatitudenumberRequired
Latitude of the point to search around, in degrees.From -90.0 to 90.0.
LongitudelongitudenumberRequired
Longitude of the point to search around, in degrees.From -180.0 to 180.0.
Radiusradiusnumber
How far around the point to look, in the unit below. Leave it empty to get the nearest breweries anywhere rather than nothing at all when a neighbourhood has none.From 0.1 to 10000.0.
Distance unitunittext
The unit the radius is in, and the unit each result's distance is reported in.One of: mi (Miles), km (Kilometres). Default: mi.
Brewery typesbrewery_typeslist
Only breweries of these types. Choose none to include every type. Note that the dataset counts closed and not-yet-open places as breweries, so a list of places to visit usually excludes them.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Exclude brewery typesexclude_typeslist
Leave these types out of the results. The usual pair to exclude is 'Closed' and 'In planning', which leaves the places open today.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Results per pageper_pagenumber
How many breweries to return in this step. 200 is the most Open Brewery DB returns in one request.From 1 to 200. Default: 50.
Pagepagenumber
Which page of results to return, counting from 1. When a page comes back full the result hands you the next page number to use.From 1 to 1000000. Default: 1.

Outputs

brewerieslist
brewery_typeslist
countnumber
exclude_typeslist
has_moretrue/false
latitudenumber
longitudenumber
next_pagenumber
pagenumber
per_pagenumber
radiusnumber
unittext
Example output
{
  "breweries": [
    {
      "address": "900 F St NW, Washington, District of Columbia 20004-1404, United States",
      "address_1": "900 F St NW",
      "address_2": null,
      "address_3": null,
      "brewery_type": "closed",
      "city": "Washington",
      "country": "United States",
      "distance": 0.65,
      "distance_unit": "mi",
      "id": "cb2ba6de-fc98-4ae0-83a4-b775bda03f2c",
      "is_open": false,
      "latitude": 38.8971375,
      "longitude": -77.0243479,
      "map_url": "https://www.google.com/maps/search/?api=1&query=38.8971375,-77.0243479",
      "name": "Gordon Biersch Brewery Restaurant - Washington",
      "phone": "2027835454",
      "phone_display": "(202) 783-5454",
      "postal_code": "20004-1404",
      "state": "District of Columbia",
      "state_province": "District of Columbia",
      "street": "900 F St NW",
      "type_label": "Closed",
      "website_url": "http://www.gordonbiersch.com/locations/washington-dc?action=view"
    },
    {
      "address": "509 7th St NW, Washington, District of Columbia 20004-1600, United States",
      "address_1": "509 7th St NW",
      "address_2": null,
      "address_3": null,
      "brewery_type": "closed",
      "city": "Washington",
      "country": "United States",
      "distance": 0.8,
      "distance_unit": "mi",
      "id": "a5f7b66a-2f51-4161-9365-0eef5aa282a5",
      "is_open": false,
      "latitude": 38.8965132,
      "longitude": -77.0216694,
      "map_url": "https://www.google.com/maps/search/?api=1&query=38.8965132,-77.0216694",
      "name": "District ChopHouse and Brewery",
      "phone": "2023473434",
      "phone_display": "(202) 347-3434",
      "postal_code": "20004-1600",
      "state": "District of Columbia",
      "state_province": "District of Columbia",
      "street": "509 7th St NW",
      "type_label": "Closed",
      "website_url": "http://www.districtchophouse.com"
    }
  ],
  "brewery_types": [],
  "count": 2,
  "exclude_types": [],
  "has_more": true,
  "latitude": 38.8977,
  "longitude": -77.0365,
  "next_page": 2,
  "page": 1,
  "per_page": 2,
  "radius": 1.0,
  "unit": "mi"
}

Get a brewery

Read one brewery by its Open Brewery DB ID: its name, type, full address, coordinates, phone number and website. Type part of a name in the search box to pick one, or pass an ID an earlier step returned.

Inputs

Brewery searchbrewery_searchtext
Type part of a brewery's name here, then choose the exact one from the Brewery list below.
Brewerybrewery_idtextRequired
The brewery to read. Fill in the brewery search above and this list fills with the matching breweries. It also takes an ID from an earlier step directly.

Outputs

addresstext
address_1text
address_2text
address_3text
brewery_typetext
citytext
countrytext
idtext
is_opentrue/false
latitudenumber
longitudenumber
map_urltext
nametext
phonetext
phone_displaytext
postal_codetext
statetext
state_provincetext
streettext
type_labeltext
website_urltext
Example output
{
  "address": "6 Cannery Village Ctr, Milton, Delaware 19968-1308, United States",
  "address_1": "6 Cannery Village Ctr",
  "address_2": null,
  "address_3": null,
  "brewery_type": "regional",
  "city": "Milton",
  "country": "United States",
  "id": "281e6980-e2e2-4493-9896-3517e8cafe21",
  "is_open": true,
  "latitude": 38.76691205,
  "longitude": -75.31158206,
  "map_url": "https://www.google.com/maps/search/?api=1&query=38.76691205,-75.31158206",
  "name": "Dogfish Head Craft Brewery",
  "phone": "3026841000",
  "phone_display": "(302) 684-1000",
  "postal_code": "19968-1308",
  "state": "Delaware",
  "state_province": "Delaware",
  "street": "6 Cannery Village Ctr",
  "type_label": "Regional brewery",
  "website_url": "http://www.dogfish.com"
}

Get a random brewery

Pick one brewery at random from the whole dataset and return it as a flat record, so a message can use its name and address without reaching into a list. Good for a 'brewery of the day' post.

Inputs

None.

Outputs

addresstext
address_1text
address_2text
address_3text
brewery_typetext
citytext
countrytext
idtext
is_opentrue/false
latitudenumber
longitudenumber
map_urltext
nametext
phonetext
phone_displaytext
postal_codetext
statetext
state_provincetext
streettext
type_labeltext
website_urltext
Example output
{
  "address": "5231 Manchester Ave # E, Saint Louis, Missouri 63110-2092, United States",
  "address_1": "5231 Manchester Ave # E",
  "address_2": null,
  "address_3": null,
  "brewery_type": "micro",
  "city": "Saint Louis",
  "country": "United States",
  "id": "5895ab5b-ba99-44f5-b9f1-48e332e7f20e",
  "is_open": true,
  "latitude": 38.625149,
  "longitude": -90.273784,
  "map_url": "https://www.google.com/maps/search/?api=1&query=38.625149,-90.273784",
  "name": "Modern Brewery",
  "phone": null,
  "phone_display": null,
  "postal_code": "63110-2092",
  "state": "Missouri",
  "state_province": "Missouri",
  "street": "5231 Manchester Ave # E",
  "type_label": "Microbrewery",
  "website_url": "http://www.mb314.com"
}

Get breweries by ID

Read several breweries at once from a list of IDs, in the order you asked for them. Open Brewery DB looks up 6 at a time and returns them in its own order, dropping any ID it does not have; this step splits a longer list across requests, puts the order back and reports the IDs that are not in the dataset instead of losing them.

Inputs

Brewery IDsbrewery_idslistRequired
The IDs to look up, usually taken from an earlier step. Up to 60 in one step. Open Brewery DB looks up 6 at a time, so this step makes one request per 6 IDs and says how many it made.

Outputs

brewerieslist
countnumber
missing_countnumber
missing_idslist
requested_countnumber
requested_idslist
requests_madenumber
Example output
{
  "breweries": [
    {
      "address": "6 Cannery Village Ctr, Milton, Delaware 19968-1308, United States",
      "address_1": "6 Cannery Village Ctr",
      "address_2": null,
      "address_3": null,
      "brewery_type": "regional",
      "city": "Milton",
      "country": "United States",
      "id": "281e6980-e2e2-4493-9896-3517e8cafe21",
      "is_open": true,
      "latitude": 38.76691205,
      "longitude": -75.31158206,
      "map_url": "https://www.google.com/maps/search/?api=1&query=38.76691205,-75.31158206",
      "name": "Dogfish Head Craft Brewery",
      "phone": "3026841000",
      "phone_display": "(302) 684-1000",
      "postal_code": "19968-1308",
      "state": "Delaware",
      "state_province": "Delaware",
      "street": "6 Cannery Village Ctr",
      "type_label": "Regional brewery",
      "website_url": "http://www.dogfish.com"
    },
    {
      "address": "320 Rehoboth Ave, Rehoboth Beach, Delaware 19971-3108, United States",
      "address_1": "320 Rehoboth Ave",
      "address_2": null,
      "address_3": null,
      "brewery_type": "brewpub",
      "city": "Rehoboth Beach",
      "country": "United States",
      "id": "7a6bd1cf-4385-4677-a9d7-3507535399e4",
      "is_open": true,
      "latitude": 38.7151767,
      "longitude": -75.08731545,
      "map_url": "https://www.google.com/maps/search/?api=1&query=38.7151767,-75.08731545",
      "name": "Dogfish Head Brewings & Eats",
      "phone": "3022262739",
      "phone_display": "(302) 226-2739",
      "postal_code": "19971-3108",
      "state": "Delaware",
      "state_province": "Delaware",
      "street": "320 Rehoboth Ave",
      "type_label": "Brewpub",
      "website_url": "http://www.dogfish.com"
    }
  ],
  "count": 2,
  "missing_count": 1,
  "missing_ids": [
    "00000000-0000-0000-0000-000000000000"
  ],
  "requested_count": 3,
  "requested_ids": [
    "281e6980-e2e2-4493-9896-3517e8cafe21",
    "7a6bd1cf-4385-4677-a9d7-3507535399e4",
    "00000000-0000-0000-0000-000000000000"
  ],
  "requests_made": 1
}

Get brewery statistics

Count the breweries matching a filter and break the total down by type, by state or province and by country, each as ordered rows with the busiest first and the share of the total beside each type. One request, whatever the filter matches, so it is the cheap way to size a search before running it.

Inputs

Countrycountrytext
Only breweries in this country. The list is the countries the dataset actually covers, with how many breweries each has.
State or provincestatetext
Only breweries in this state or province. Choose a country above first and this list narrows to it. A two-letter US abbreviation such as OH also works and is expanded to the full name the dataset uses.
Citycitytext
Only breweries in this city. At least 3 characters, which is what Open Brewery DB accepts.
Postal or ZIP codepostal_codetext
Only breweries with this postal code. A five-digit ZIP covers the whole area; a nine-digit ZIP+4 narrows it to one delivery route. Type the nine digits either way and the hyphen is added for you.
Name containsnametext
Only breweries whose name contains this text, in any case. Use it with the place filters to search names inside a city or a state.
Brewery typesbrewery_typeslist
Only breweries of these types. Choose none to include every type. Note that the dataset counts closed and not-yet-open places as breweries, so a list of places to visit usually excludes them.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Exclude brewery typesexclude_typeslist
Leave these types out of the results. The usual pair to exclude is 'Closed' and 'In planning', which leaves the places open today.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.

Outputs

by_countrylist
by_statelist
by_typelist
country_countnumber
filtersobject
state_countnumber
totalnumber
type_countnumber
Example output
{
  "by_country": [
    {
      "count": 34,
      "country": "United States"
    }
  ],
  "by_state": [
    {
      "count": 34,
      "state": "Ohio"
    }
  ],
  "by_type": [
    {
      "brewery_type": "micro",
      "count": 18,
      "share": 52.9,
      "type_label": "Microbrewery"
    },
    {
      "brewery_type": "brewpub",
      "count": 8,
      "share": 23.5,
      "type_label": "Brewpub"
    },
    {
      "brewery_type": "regional",
      "count": 5,
      "share": 14.7,
      "type_label": "Regional brewery"
    }
  ],
  "country_count": 1,
  "filters": {
    "brewery_types": [],
    "city": "Cincinnati",
    "country": null,
    "exclude_types": [],
    "name": null,
    "postal_code": null,
    "sort": null,
    "state": null
  },
  "state_count": 1,
  "total": 34,
  "type_count": 4
}

Get random breweries

Pick up to 50 breweries at random from the whole dataset. The pick covers every country the dataset holds and cannot be filtered, which is what Open Brewery DB's random endpoint offers.

Inputs

How manysizenumber
How many breweries to pick at random. 50 is the most allowed.From 1 to 50. Default: 1.

Outputs

brewerieslist
countnumber
sizenumber
Example output
{
  "breweries": [
    {
      "address": "20 King St E, Port Perry, Ontario L9L 1B7, Canada",
      "address_1": "20 King St E",
      "address_2": null,
      "address_3": null,
      "brewery_type": "brewpub",
      "city": "Port Perry",
      "country": "Canada",
      "id": "7011c459-794e-4a97-9dbe-be7ba151b0c3",
      "is_open": true,
      "latitude": null,
      "longitude": null,
      "map_url": "https://www.google.com/maps/search/?api=1&query=20+King+St+E%2C+Port+Perry%2C+Ontario+L9L+1B7%2C+Canada",
      "name": "Old Flame Brewing Company",
      "phone": "9059855554.0",
      "phone_display": "9059855554.0",
      "postal_code": "L9L 1B7",
      "state": "Ontario",
      "state_province": "Ontario",
      "street": "20 King St E",
      "type_label": "Brewpub",
      "website_url": "http://www.oldflamebrewingco.ca"
    },
    {
      "address": "South Street, Lewes, East Sussex BN8 6JL, England",
      "address_1": "South Street",
      "address_2": null,
      "address_3": null,
      "brewery_type": "taproom",
      "city": "Lewes",
      "country": "England",
      "id": "27853f3a-ed0f-48d9-bce7-4bc73989d658",
      "is_open": true,
      "latitude": 50.868313,
      "longitude": 0.024917,
      "map_url": "https://www.google.com/maps/search/?api=1&query=50.868313,0.024917",
      "name": "The Beak Brewery Limited",
      "phone": "1273473094",
      "phone_display": "1273473094",
      "postal_code": "BN8 6JL",
      "state": "East Sussex",
      "state_province": "East Sussex",
      "street": "South Street",
      "type_label": "Taproom",
      "website_url": "https://beakbrewery.com/"
    }
  ],
  "count": 2,
  "size": 2
}

List breweries

List breweries matching a filter: a country, a state or province, a city, a postal code, part of a name, and the brewery types to keep or leave out. Sort by any of seven fields in either direction, and page through the results. Every brewery comes back with its full address on one line, a map link, a readable phone number and whether it is open today, beside the fields Open Brewery DB itself returns.

Inputs

Countrycountrytext
Only breweries in this country. The list is the countries the dataset actually covers, with how many breweries each has.
State or provincestatetext
Only breweries in this state or province. Choose a country above first and this list narrows to it. A two-letter US abbreviation such as OH also works and is expanded to the full name the dataset uses.
Citycitytext
Only breweries in this city. At least 3 characters, which is what Open Brewery DB accepts.
Postal or ZIP codepostal_codetext
Only breweries with this postal code. A five-digit ZIP covers the whole area; a nine-digit ZIP+4 narrows it to one delivery route. Type the nine digits either way and the hyphen is added for you.
Name containsnametext
Only breweries whose name contains this text, in any case. Use it with the place filters to search names inside a city or a state.
Brewery typesbrewery_typeslist
Only breweries of these types. Choose none to include every type. Note that the dataset counts closed and not-yet-open places as breweries, so a list of places to visit usually excludes them.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Exclude brewery typesexclude_typeslist
Leave these types out of the results. The usual pair to exclude is 'Closed' and 'In planning', which leaves the places open today.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Sort bysort_bylist
Sort the results by these fields, in the order you choose them. Choose none to leave the dataset's own order alone.One or more of: name (Brewery name), brewery_type (Brewery type), city, state_province (State or province), postal_code (Postal code), country, id (Brewery ID).
Sort directionsort_directiontext
Which way round to sort. Applies to every field chosen above.One of: asc (A to Z, lowest first), desc (Z to A, highest first). Default: asc.
Results per pageper_pagenumber
How many breweries to return in this step. 200 is the most Open Brewery DB returns in one request.From 1 to 200. Default: 50.
Pagepagenumber
Which page of results to return, counting from 1. When a page comes back full the result hands you the next page number to use.From 1 to 1000000. Default: 1.

Outputs

brewerieslist
countnumber
filtersobject
has_moretrue/false
next_pagenumber
pagenumber
per_pagenumber
Example output
{
  "breweries": [
    {
      "address": "7391 Forbes Rd, Cincinnati, Ohio 45233-1013, United States",
      "address_1": "7391 Forbes Rd",
      "address_2": null,
      "address_3": null,
      "brewery_type": "micro",
      "city": "Cincinnati",
      "country": "United States",
      "id": "950180bd-29c9-46b3-ad0c-e6f09799ec7f",
      "is_open": true,
      "latitude": 39.12639764,
      "longitude": -84.70634815,
      "map_url": "https://www.google.com/maps/search/?api=1&query=39.12639764,-84.70634815",
      "name": "13 Below Brewery",
      "phone": "5139750613",
      "phone_display": "(513) 975-0613",
      "postal_code": "45233-1013",
      "state": "Ohio",
      "state_province": "Ohio",
      "street": "7391 Forbes Rd",
      "type_label": "Microbrewery",
      "website_url": "http://www.13belowbrewery.com"
    },
    {
      "address": "4720 Eastern Ave, Cincinnati, Ohio 45226-1893, United States",
      "address_1": "4720 Eastern Ave",
      "address_2": null,
      "address_3": null,
      "brewery_type": "micro",
      "city": "Cincinnati",
      "country": "United States",
      "id": "ccb3350f-eade-47d0-8fa7-351d20ead048",
      "is_open": true,
      "latitude": 39.11995755,
      "longitude": -84.41803086,
      "map_url": "https://www.google.com/maps/search/?api=1&query=39.11995755,-84.41803086",
      "name": "Bad Tom Smith Brewing",
      "phone": "5138714677",
      "phone_display": "(513) 871-4677",
      "postal_code": "45226-1893",
      "state": "Ohio",
      "state_province": "Ohio",
      "street": "4720 Eastern Ave",
      "type_label": "Microbrewery",
      "website_url": "http://www.badtomsmithbrewing.com"
    }
  ],
  "count": 2,
  "filters": {
    "brewery_types": [
      "micro"
    ],
    "city": "Cincinnati",
    "country": null,
    "exclude_types": [],
    "name": null,
    "postal_code": null,
    "sort": "name:asc",
    "state": null
  },
  "has_more": true,
  "next_page": 2,
  "page": 1,
  "per_page": 2
}

List brewery types

Every brewery type the filters accept, what each one means, and how many of each the dataset holds. Four of the fourteen are accepted by the API but missing from its documentation, and two are deprecated; each row says which it is, so a filter can be built without guessing.

Inputs

None.

Outputs

countnumber
totalnumber
typeslist
Example output
{
  "count": 14,
  "total": 11822,
  "types": [
    {
      "brewery_type": "micro",
      "count": 5837,
      "deprecated": false,
      "description": "Most craft breweries. A brewery of this size can still be a household name.",
      "documented": true,
      "share": 49.4,
      "type_label": "Microbrewery"
    },
    {
      "brewery_type": "brewpub",
      "count": 3929,
      "deprecated": false,
      "description": "A beer-focused restaurant, or a restaurant or bar with a brewery on the premises.",
      "documented": true,
      "share": 33.2,
      "type_label": "Brewpub"
    },
    {
      "brewery_type": "closed",
      "count": 642,
      "deprecated": false,
      "description": "A location which has been closed.",
      "documented": true,
      "share": 5.4,
      "type_label": "Closed"
    }
  ]
}

List countries

Every country the dataset covers, with how many breweries each has, busiest first. These are the exact names the country filter takes, and they are what fills the country dropdown on the other actions.

Inputs

Brewery typesbrewery_typeslist
Only breweries of these types. Choose none to include every type. Note that the dataset counts closed and not-yet-open places as breweries, so a list of places to visit usually excludes them.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Exclude brewery typesexclude_typeslist
Leave these types out of the results. The usual pair to exclude is 'Closed' and 'In planning', which leaves the places open today.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.

Outputs

brewery_typeslist
countnumber
countrieslist
exclude_typeslist
totalnumber
Example output
{
  "brewery_types": [],
  "count": 23,
  "countries": [
    {
      "count": 8224,
      "country": "United States"
    },
    {
      "count": 1445,
      "country": "Germany"
    },
    {
      "count": 514,
      "country": "Australia"
    },
    {
      "count": 478,
      "country": "Belgium"
    }
  ],
  "exclude_types": [],
  "total": 11822
}

List every matching brewery

The same search as 'List breweries', but followed across every page so one step returns the whole answer instead of a paging loop. It asks how many there are first, so the result says whether it returned all of them or stopped at the limit. Use it for 'every brewery in Vermont'; use 'List breweries' when one page is enough.

Inputs

Countrycountrytext
Only breweries in this country. The list is the countries the dataset actually covers, with how many breweries each has.
State or provincestatetext
Only breweries in this state or province. Choose a country above first and this list narrows to it. A two-letter US abbreviation such as OH also works and is expanded to the full name the dataset uses.
Citycitytext
Only breweries in this city. At least 3 characters, which is what Open Brewery DB accepts.
Postal or ZIP codepostal_codetext
Only breweries with this postal code. A five-digit ZIP covers the whole area; a nine-digit ZIP+4 narrows it to one delivery route. Type the nine digits either way and the hyphen is added for you.
Name containsnametext
Only breweries whose name contains this text, in any case. Use it with the place filters to search names inside a city or a state.
Brewery typesbrewery_typeslist
Only breweries of these types. Choose none to include every type. Note that the dataset counts closed and not-yet-open places as breweries, so a list of places to visit usually excludes them.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Exclude brewery typesexclude_typeslist
Leave these types out of the results. The usual pair to exclude is 'Closed' and 'In planning', which leaves the places open today.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Sort bysort_bylist
Sort the results by these fields, in the order you choose them. Choose none to leave the dataset's own order alone.One or more of: name (Brewery name), brewery_type (Brewery type), city, state_province (State or province), postal_code (Postal code), country, id (Brewery ID).
Sort directionsort_directiontext
Which way round to sort. Applies to every field chosen above.One of: asc (A to Z, lowest first), desc (Z to A, highest first). Default: asc.
Stop afterlimitnumber
The most breweries to return. The step follows the paging up to this many and then says whether there were more.From 1 to 2000. Default: 2000.

Outputs

brewerieslist
countnumber
filtersobject
limitnumber
requests_madenumber
total_countnumber
truncatedtrue/false
Example output
{
  "breweries": [
    {
      "address": "Prospekt Pratsi, 8, Dnipro, Dnipropetrovsk Oblast 49000, Ukraine",
      "address_1": "Prospekt Pratsi, 8",
      "address_2": null,
      "address_3": null,
      "brewery_type": "micro",
      "city": "Dnipro",
      "country": "Ukraine",
      "id": "4ea40878-7bc0-46d3-b7e4-7e890d908d62",
      "is_open": true,
      "latitude": null,
      "longitude": null,
      "map_url": "https://www.google.com/maps/search/?api=1&query=Prospekt+Pratsi%2C+8%2C+Dnipro%2C+Dnipropetrovsk+Oblast+49000%2C+Ukraine",
      "name": "MOVA",
      "phone": null,
      "phone_display": null,
      "postal_code": "49000",
      "state": "Dnipropetrovsk Oblast",
      "state_province": "Dnipropetrovsk Oblast",
      "street": "Prospekt Pratsi, 8",
      "type_label": "Microbrewery",
      "website_url": "https://mova.beer"
    }
  ],
  "count": 1,
  "filters": {
    "brewery_types": [],
    "city": null,
    "country": "Ukraine",
    "exclude_types": [],
    "name": null,
    "postal_code": null,
    "sort": null,
    "state": null
  },
  "limit": 2000,
  "requests_made": 2,
  "total_count": 1,
  "truncated": false
}

List states and provinces

Every state or province the dataset covers, with how many breweries each has, busiest first. Choose a country to narrow it, or leave it empty for all of them worldwide. These are the exact names the state filter takes, spelled the way the dataset spells them.

Inputs

Countrycountrytext
Only breweries in this country. The list is the countries the dataset actually covers, with how many breweries each has.
Brewery typesbrewery_typeslist
Only breweries of these types. Choose none to include every type. Note that the dataset counts closed and not-yet-open places as breweries, so a list of places to visit usually excludes them.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.
Exclude brewery typesexclude_typeslist
Leave these types out of the results. The usual pair to exclude is 'Closed' and 'In planning', which leaves the places open today.One or more of: micro (Microbrewery: most craft breweries), brewpub (Brewpub: a restaurant or bar that brews on site), regional (Regional: a location of an expanded brewery), nano (Nanobrewery: tiny, and usually local only), taproom, contract (Contract: brews on another brewery's equipment), proprietor (Proprietor: a brewery incubator), beergarden (Beer garden), cidery, location, and 4 more.

Outputs

brewery_typeslist
countnumber
countrytext
exclude_typeslist
stateslist
totalnumber
Example output
{
  "brewery_types": [],
  "count": 16,
  "country": "Germany",
  "exclude_types": [],
  "states": [
    {
      "count": 597,
      "state": "Bayern"
    },
    {
      "count": 195,
      "state": "Baden-W\u00fcrttemberg"
    },
    {
      "count": 145,
      "state": "Nordrhein-Westfalen"
    },
    {
      "count": 79,
      "state": "Niedersachsen"
    }
  ],
  "total": 1445
}

Search breweries by name

Search brewery names for part of a name, in any case, and get the full record of each match. The search covers names only and takes no place or type filters, so use 'List breweries' with its Name filter to search names inside a city or a state.

Inputs

Search termquerytextRequired
Part of a brewery's name, matched in any case. At least 3 characters, which is what Open Brewery DB accepts.
Results per pageper_pagenumber
How many breweries to return in this step. 200 is the most Open Brewery DB returns in one request.From 1 to 200. Default: 50.
Pagepagenumber
Which page of results to return, counting from 1. When a page comes back full the result hands you the next page number to use.From 1 to 1000000. Default: 1.

Outputs

brewerieslist
countnumber
has_moretrue/false
next_pagenumber
pagenumber
per_pagenumber
querytext
Example output
{
  "breweries": [
    {
      "address": "6 Cannery Village Ctr, Milton, Delaware 19968-1308, United States",
      "address_1": "6 Cannery Village Ctr",
      "address_2": null,
      "address_3": null,
      "brewery_type": "regional",
      "city": "Milton",
      "country": "United States",
      "id": "281e6980-e2e2-4493-9896-3517e8cafe21",
      "is_open": true,
      "latitude": 38.76691205,
      "longitude": -75.31158206,
      "map_url": "https://www.google.com/maps/search/?api=1&query=38.76691205,-75.31158206",
      "name": "Dogfish Head Craft Brewery",
      "phone": "3026841000",
      "phone_display": "(302) 684-1000",
      "postal_code": "19968-1308",
      "state": "Delaware",
      "state_province": "Delaware",
      "street": "6 Cannery Village Ctr",
      "type_label": "Regional brewery",
      "website_url": "http://www.dogfish.com"
    },
    {
      "address": "320 Rehoboth Ave, Rehoboth Beach, Delaware 19971-3108, United States",
      "address_1": "320 Rehoboth Ave",
      "address_2": null,
      "address_3": null,
      "brewery_type": "brewpub",
      "city": "Rehoboth Beach",
      "country": "United States",
      "id": "7a6bd1cf-4385-4677-a9d7-3507535399e4",
      "is_open": true,
      "latitude": 38.7151767,
      "longitude": -75.08731545,
      "map_url": "https://www.google.com/maps/search/?api=1&query=38.7151767,-75.08731545",
      "name": "Dogfish Head Brewings & Eats",
      "phone": "3022262739",
      "phone_display": "(302) 226-2739",
      "postal_code": "19971-3108",
      "state": "Delaware",
      "state_province": "Delaware",
      "street": "320 Rehoboth Ave",
      "type_label": "Brewpub",
      "website_url": "http://www.dogfish.com"
    }
  ],
  "count": 2,
  "has_more": true,
  "next_page": 2,
  "page": 1,
  "per_page": 2,
  "query": "dogfish"
}

Suggest breweries

The same name search trimmed to an ID, a name and a place, with a ready-made label such as 'Dogfish Head Craft Brewery (Milton, Delaware, United States)'. Use it to offer a short list of choices in a chat reply, or to turn a name someone typed into the ID the other actions take.

Inputs

Search termquerytextRequired
Part of a brewery's name, matched in any case. At least 3 characters, which is what Open Brewery DB accepts.
How many suggestionslimitnumber
The most suggestions to return.From 1 to 200. Default: 10.

Outputs

countnumber
limitnumber
querytext
suggestionslist
Example output
{
  "count": 2,
  "limit": 10,
  "query": "dogfish",
  "suggestions": [
    {
      "brewery_type": "regional",
      "city": "Milton",
      "country": "United States",
      "id": "281e6980-e2e2-4493-9896-3517e8cafe21",
      "label": "Dogfish Head Craft Brewery (Milton, Delaware, United States)",
      "name": "Dogfish Head Craft Brewery",
      "state_province": "Delaware"
    },
    {
      "brewery_type": "brewpub",
      "city": "Rehoboth Beach",
      "country": "United States",
      "id": "7a6bd1cf-4385-4677-a9d7-3507535399e4",
      "label": "Dogfish Head Brewings & Eats (Rehoboth Beach, Delaware, United States)",
      "name": "Dogfish Head Brewings & Eats",
      "state_province": "Delaware"
    }
  ]
}

On this page