This is the open-source dataset for the Open Brewery DB API which is served by a REST API built with Ruby on Rails
Provide an approval-based pipeline to update the dataset and API.
- CSV - Full Dataset (1.5 MB)
- JSON
- PostgreSQL SQL
Access the dataset programmatically via the Open Brewery DB API. Use the following tools to get started without any code:
If you don't know how to use APIs, you can use Brewery DB without code through the databar.ai platform.
A shared Postman collection containing all the API requests to fetch breweries information from the open-source dataset.
git clone [email protected]:openbrewerydb/openbrewerydb.git
cd openbrewerydb && npm install
For information on contributing to this project, please see the contributing guide and our code of conduct.
- Fork the repository
- Add or update breweries in the CSV (Excel, Google Sheets)
- Submit a Pull Request
- CSVs are organized by
data/[country]/[state]
ordata/[country]/[county_province]
- Required fields/columns:
name
,street
,brewery_type
,city
,state
(orcounty_province
),postal_code
, andcountry
These are the npm scripts used to maintain this dataset.
npm run csv:combine
- Combine CSVs from country/state-region folders intobreweries.csv
npm run csv:split
- Splitbreweries.csv
into country/state-region/city CSVsnpm run contributors:add
- Add contributor (interactive CLI)npm run contributors:check
- Check if there are any missing contributorsnpm run contributors:generate
- Generate contributors intoREADME.md
npm run generate:ids
- Generate unique OBDB IDs based on the brewery name and city and overwritebreweries.csv
npm run generate:json
- Generate JSON frombreweries.csv
output tobreweries.json
npm run generate:sql
- Generate PostgreSQL SQL frombreweries.csv
output tobreweries.sql
npm run validate
- Validate CSVs based on JSON Schemanpm run workflow:maintain
- Combine, generate, split (used when updating individual CSVs)
Any feedback, please email me.
Cheers! π»
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!