openbrewerydb icon indicating copy to clipboard operation
openbrewerydb copied to clipboard

🍻 An open-source dataset of breweries, cideries, brewpubs, and bottleshops.

🍻 Open Brewery DB Dataset

All Contributors

Open Brewery DB Logo

This is the open-source dataset for the Open Brewery DB API which is served by a REST API built with Ruby on Rails

🎯 Purpose

Provide an approval-based pipeline to update the dataset and API.

🗄 Data Formats

  • CSV - Full Dataset (1.5 MB)
  • CSV - Lite Dataset (460 KB) - Only the features name, city, state, and country for breweries without the closed brewery type.
  • JSON
  • PostgreSQL SQL

API

Access the dataset programmatically via the Open Brewery DB API. Use the following tools to get started without any code:

databar.ai

If you don't know how to use APIs, you can use Brewery DB without code through the databar.ai platform.

Run without code

Postman

A shared Postman collection containing all the API requests to fetch breweries information from the open-source dataset.

Run in Postman

🚀 Getting Started

  1. git clone [email protected]:openbrewerydb/openbrewerydb.git
  2. cd openbrewerydb && npm install

🤝 Contributing

For information on contributing to this project, please see the contributing guide and our code of conduct.

  1. Fork the repository
  2. Add or update breweries in the CSV (Excel, Google Sheets)
  3. Submit a Pull Request

Tips

  • CSVs are organized by data/[country]/[state] or data/[country]/[county_province]
  • Required fields/columns: name, street, brewery_type, city, state (or county_province), postal_code, and country

⚙️ Scripts

These are the npm scripts used to maintain this dataset.

  • npm run csv:combine - Combine CSVs from country/state-region folders into breweries.csv
  • npm run csv:split - Split breweries.csv into country/state-region/city CSVs
  • npm run contributors:add - Add contributor (interactive CLI)
  • npm run contributors:check - Check if there are any missing contributors
  • npm run contributors:generate - Generate contributors into README.md
  • npm run generate:ids - Generate unique OBDB IDs based on the brewery name and city and overwrite breweries.csv
  • npm run generate:json - Generate JSON from breweries.csv output to breweries.json
  • npm run generate:sql - Generate PostgreSQL SQL from breweries.csv output to breweries.sql
  • npm run validate - Validate CSVs based on JSON Schema
  • npm run workflow:maintain - Combine, generate, split (used when updating individual CSVs)

👾 Community

📫 Feedback

Any feedback, please email me.

Cheers! 🍻

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Mike Putnam

🔣

Andrew A. Barber

🔣

Jason Allen

🔣

Juicob

🔣

Will Karnasiewicz

🔣

Dylan T. Vavra

🔣

Madison Martinez

🔣

Daniel Eremchuk

🔣

Alex Chong

🔣

Matt S

🔣

Samuel Rusher

🔣

Evan Caraway

🔣

Tyler K Kuromiya Parker

🔣

kendellmendoza

🔣

Johnnyk737

🔣

James Schuler

🔣

Creighton Leif

🔣

Vitaly Tomilov

💻

Kyle Scudder

🔣

Chris Mears

💬 💻 🔣 🚧 📆 🔧

donkeyslaps

🔣

Pranav Davar

🔧

Alexandre Hernandes Barrozo

🔣

Resten

🔣

Matt Higgins

🔣

Alex Justesen

🔣

Craig Kelly

🔣

This project follows the all-contributors specification. Contributions of any kind welcome!