Unofficial CLI for the Open Brewery DB — a free, public API with data on breweries worldwide. No API key required.
Note: This is a community-maintained project and is not officially affiliated with or endorsed by Open Brewery DB.
npm i -g breweries-cli
# or run without installing
npx breweries-cli --helpRequires Bun. Install it with:
curl -fsSL https://bun.sh/install | bash
breweries-cli breweries list List breweries with filters
breweries-cli breweries get <id> Get a brewery by OBDB ID
breweries-cli breweries search <q> Search breweries by name
breweries-cli breweries random Get one or more random breweries
breweries-cli breweries meta Get total counts and metadata
# List micro breweries in Oregon
breweries-cli breweries list --by-state Oregon --by-type micro
# Search by name
breweries-cli breweries search "stone brewing" --json
# Get a specific brewery
breweries-cli breweries get madtree-brewing-cincinnati
# Get 3 random breweries as JSON
breweries-cli breweries random --size 3 --json
# Count all breweries in California
breweries-cli breweries meta --by-state California --json
# Sort by name, paginate
breweries-cli breweries list --by-city Portland --sort name:asc --per-page 10The list and meta commands accept the following filters:
| Flag | Description |
|---|---|
--by-city |
Filter by city |
--by-country |
Filter by country |
--by-name |
Filter by name |
--by-state |
Filter by full state name (no abbreviations) |
--by-postal |
Filter by postal/ZIP code |
--by-type |
Filter by type (see below) |
--by-ids |
Comma-separated list of brewery IDs |
--by-dist |
Sort by distance from lat,lon coordinates |
--per-page |
Results per page (max 200, default 50) |
--page |
Page number |
--sort |
Sort field, e.g. name:asc |
Brewery types: micro, nano, regional, brewpub, large, planning, bar, contract, proprietor, closed
All commands support:
--json— output as structured JSON (recommended for scripting)--format— one of:text,json,csv,yaml--verbose— enable debug logging--no-color— disable colored output--no-header— omit table/CSV headers
With --json, all commands return:
{ "ok": true, "data": [...], "meta": { "total": 42 } }