Open Brewery Db Scraper avatar

Open Brewery Db Scraper

Pricing

from $2.99 / 1,000 results

Go to Apify Store
Open Brewery Db Scraper

Open Brewery Db Scraper

Open Brewery DB Scraper is a Python tool designed to query and extract craft brewery names, types, addresses, geographic coordinates, phone numbers, and website URLs from the Open Brewery DB API. It exports structured brewery datasets for location mapping and market research.

Pricing

from $2.99 / 1,000 results

Rating

0.0

(0)

Developer

ZeroBreak

ZeroBreak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Open Brewery DB Scraper — Breweries by City and State

Overview

Open Brewery DB Scraper collects brewery records and organizes them into a structured dataset. Filter breweries by city, state or province, brewery type, and postal code, search by brewery name, retrieve a random brewery, or collect brewery statistics by category.

Each brewery is saved as a flat dataset row, making it easier to analyze locations, build business directories, and refresh brewery lists. Export collected data as JSON, CSV, or Excel through the Apify dataset.

Features

  • Location filtering: Find breweries by city, state or province, and postal code.
  • Brewery type filtering: Filter microbreweries, brewpubs, regional breweries, and other supported types.
  • Name search: Find breweries using a search term.
  • Random brewery: Retrieve a randomly selected brewery.
  • Metadata collection: Gather total counts and breakdowns by state, country, and brewery type.
  • Structured records: Collect brewery names, addresses, contact information, locations, and other available details.
  • Duplicate prevention: Skip brewery IDs that have already been saved during the run.
  • Flexible exports: Download results as JSON, CSV, or Excel.

Use Cases

  • City-based directories: Build lists of breweries in Austin or other cities.
  • State-level research: Analyze brewery distribution across Texas or other states.
  • Business research: Organize brewery addresses, phone numbers, and websites.
  • Name discovery: Search for breweries using partial names or keywords.
  • Market analysis: Compare brewery counts across locations and categories.
  • Recurring data collection: Refresh brewery datasets periodically and compare changes over time.
  • International records: Preserve original brewery names and address details, including non-English characters.

Input Parameters

ParameterTypeDefaultDescription
modeStringbreweriesCollection mode: breweries, search, single, or meta.
citiesArray["austin"]City names used for brewery listings and metadata collection.
statesArray[]State or province names, such as texas.
breweryTypeStringEmptyFilter by brewery type: micro, nano, regional, brewpub, large, planning, bar, contract, proprietor, or closed.
searchQueryStringEmptyName or keyword to search for when mode is search.
postalCodesArray[]Postal or ZIP codes used for listings and metadata collection.
maxItemsInteger100Maximum number of dataset rows to save. Hard maximum: 1,000.
requestDelaySecsNumber0.5Minimum pause between requests; minimum supported value is 0.5 seconds.
timeoutSecsInteger300Maximum run duration in seconds. Previously saved rows are retained when the run stops.
requestTimeoutSecsInteger30Maximum wait for an individual response.

Example Input

1. Collect breweries in Austin

{
"mode": "breweries",
"cities": ["austin"],
"states": [],
"breweryType": "",
"searchQuery": "",
"postalCodes": [],
"maxItems": 100,
"requestDelaySecs": 0.5,
"timeoutSecs": 300,
"requestTimeoutSecs": 30
}

2. Search breweries by name

{
"mode": "search",
"searchQuery": "dog",
"maxItems": 100,
"requestDelaySecs": 0.5,
"timeoutSecs": 300,
"requestTimeoutSecs": 30
}

3. Collect Texas brewery statistics

{
"mode": "meta",
"cities": [],
"states": ["texas"],
"breweryType": "",
"postalCodes": [],
"maxItems": 100
}

For metadata collection across the state, clear the default city filter so results are not restricted to Austin.

4. Filter by brewery type

{
"mode": "breweries",
"cities": ["austin"],
"breweryType": "micro",
"maxItems": 100
}

What Data Does This Actor Extract?

Each brewery is represented by one structured dataset row. Metadata mode can also produce summary rows containing total counts and breakdowns by state, country, and brewery type.

The fields available depend on the selected mode and the information provided for each record.

Extracted Data Fields

FieldTypeDescription
idStringBrewery identifier or generated identifier for a metadata row.
nameStringBrewery name.
brewery_typeStringBrewery classification, such as micro, brewpub, or closed.
address_1StringPrimary street address.
address_2String or nullAdditional address information.
address_3String or nullThird address line, when available.
cityStringCity where the brewery is located.
state_provinceStringState or province.
postal_codeStringPostal or ZIP code.
countryStringCountry.
longitudeNumber or nullGeographic longitude, when available.
latitudeNumber or nullGeographic latitude, when available.
phoneStringBrewery telephone number, when available.
website_urlStringBrewery website address, when available.
stateStringState name, when supplied in the record.
streetStringStreet address, when available.
modeStringCollection mode associated with the row.
scraped_atStringTimestamp indicating when the row was saved, in UTC.
meta_totalIntegerOverall count included in a metadata summary.
meta_bucketStringMetadata category: total, by_state, by_country, or by_type.
meta_labelStringState, country, brewery type, or other label associated with a count.
meta_countIntegerCount associated with a metadata label.

Example Output

{
"id": "9c5a66c8-cc13-416f-a5d9-0a769c87d318",
"name": "(512) Brewing Co",
"brewery_type": "micro",
"address_1": "407 Radam Ln Ste F200",
"address_2": null,
"address_3": null,
"city": "Austin",
"state_province": "Texas",
"postal_code": "78745-1197",
"country": "United States",
"longitude": null,
"latitude": null,
"phone": "5129211545",
"website_url": "BREWERY_WEBSITE_URL",
"state": "Texas",
"street": "407 Radam Ln Ste F200",
"mode": "breweries",
"scraped_at": "2026-10-12T00:00:00+00:00"
}

The example illustrates the record structure. Actual values depend on the records available when the actor runs, and some fields may be null or absent.

Working with Your Dataset

After a run completes, open the dataset in Apify to review and export the collected records.

  • JSON: Use for programmatic processing and structured data storage.
  • CSV: Use for spreadsheets, filtering, and business-directory workflows.
  • Excel: Use for manual review, reporting, and analysis.

You can filter records by city, state, brewery type, or postal code in your downstream workflow. Metadata rows are useful for aggregate analysis, while brewery rows contain individual business details.

Important Notes

  • The default collection mode is breweries, with Austin as the default city.
  • Supported modes are breweries, search, single, and meta.
  • Search mode requires a non-empty searchQuery.
  • Listing and search modes can paginate through available results until a page is short or empty, or the configured item limit is reached.
  • The maximum number of saved rows is 1,000 per run.
  • The default item limit is 100. Increase maxItems to collect a larger result set.
  • A low item limit can restrict how many brewery records or metadata rows are saved.
  • Some breweries may not have a phone number, website, complete address, or geographic coordinates.
  • Brewery names and address fields are retained as provided by the source data.
  • Results reflect the records available at collection time. Newly added breweries and changes to brewery status depend on source updates.
  • Metadata mode produces aggregate count records rather than only individual brewery listings.
  • The actor uses a minimum request delay of 0.5 seconds to moderate collection activity.

FAQ

What collection modes are available?

The actor supports four modes: breweries for filtered listings, search for brewery-name searches, single for a random brewery, and meta for summary counts.

Can I search by city and state?

Yes. Provide city and state or province filters in the input. You can also filter by brewery type and postal code where supported.

Can I collect only microbreweries or brewpubs?

Yes. Set breweryType to a supported value, such as micro or brewpub.

What does metadata mode return?

Metadata mode collects aggregate information, including total counts and breakdowns by state, country, and brewery type, depending on the selected filters and available data.

Why are some fields empty?

Not every brewery record contains complete contact, address, or geographic information. Missing values may appear as null or may not be present in a particular record.

Why did the actor collect only 100 rows?

The default maxItems setting is 100. Increase this value to collect more rows, up to the hard maximum of 1,000 per run.

Can I export the results to a spreadsheet?

Yes. Download the dataset in CSV or Excel format for spreadsheet analysis, or choose JSON for structured data workflows.

How current are the results?

The dataset reflects the information available during the run. Updates to brewery names, locations, and operating status depend on when the underlying data is updated.

Disclaimer

This actor is an independent data-collection tool and is not affiliated with, endorsed by, or officially associated with Open Brewery DB or its owners. Users are responsible for evaluating whether their intended collection, storage, and use of the resulting data comply with applicable requirements.

Collecting information that is already public is generally legal. Scraping is not the same thing as hacking, and there is no single law that bans it. The limits are the usual ones: do not break into accounts, do not take private or confidential data, and be careful with personal data and copyrighted works. A site's terms can also restrict how you access it. Facts such as a public name, price, or rating are not the same thing as republishing someone's article or photo.

This actor collects information from public pages. It does not log in and it does not bypass access controls.

For a longer explanation, see Apify's article Is web scraping legal?.