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)
- CSV - Lite Dataset (460 KB) - Only the features
name,city,state, andcountryfor breweries without theclosedbrewery type. - JSON
- PostgreSQL SQL
A shared Postman collection containing all the API requests to fetch breweries information from the open-source dataset.
git clone git@github.com:openbrewerydb/openbrewerydb.gitcd 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.csvnpm run csv:split- Splitbreweries.csvinto 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.mdnpm run generate:ids- Generate unique OBDB IDs based on the brewery name and city and overwritebreweries.csvnpm run generate:json- Generate JSON frombreweries.csvoutput tobreweries.jsonnpm run generate:sql- Generate PostgreSQL SQL frombreweries.csvoutput tobreweries.sqlnpm 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!
