Open Brewery Db Scraper
Pricing
from $2.99 / 1,000 results
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
Maintained by CommunityActor 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
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | String | breweries | Collection mode: breweries, search, single, or meta. |
cities | Array | ["austin"] | City names used for brewery listings and metadata collection. |
states | Array | [] | State or province names, such as texas. |
breweryType | String | Empty | Filter by brewery type: micro, nano, regional, brewpub, large, planning, bar, contract, proprietor, or closed. |
searchQuery | String | Empty | Name or keyword to search for when mode is search. |
postalCodes | Array | [] | Postal or ZIP codes used for listings and metadata collection. |
maxItems | Integer | 100 | Maximum number of dataset rows to save. Hard maximum: 1,000. |
requestDelaySecs | Number | 0.5 | Minimum pause between requests; minimum supported value is 0.5 seconds. |
timeoutSecs | Integer | 300 | Maximum run duration in seconds. Previously saved rows are retained when the run stops. |
requestTimeoutSecs | Integer | 30 | Maximum 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
| Field | Type | Description |
|---|---|---|
id | String | Brewery identifier or generated identifier for a metadata row. |
name | String | Brewery name. |
brewery_type | String | Brewery classification, such as micro, brewpub, or closed. |
address_1 | String | Primary street address. |
address_2 | String or null | Additional address information. |
address_3 | String or null | Third address line, when available. |
city | String | City where the brewery is located. |
state_province | String | State or province. |
postal_code | String | Postal or ZIP code. |
country | String | Country. |
longitude | Number or null | Geographic longitude, when available. |
latitude | Number or null | Geographic latitude, when available. |
phone | String | Brewery telephone number, when available. |
website_url | String | Brewery website address, when available. |
state | String | State name, when supplied in the record. |
street | String | Street address, when available. |
mode | String | Collection mode associated with the row. |
scraped_at | String | Timestamp indicating when the row was saved, in UTC. |
meta_total | Integer | Overall count included in a metadata summary. |
meta_bucket | String | Metadata category: total, by_state, by_country, or by_type. |
meta_label | String | State, country, brewery type, or other label associated with a count. |
meta_count | Integer | Count 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, andmeta. - 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
maxItemsto 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.
Is Web Scraping Legal?
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?.