Logr Pub API
Access 18,041 breweries, 167,372 beers, and 254 styles via a simple REST API.
API Traffic (30 days)
Quick Start
curl https://discord.logr.beer/api/breweries?search=dogfish
curl https://discord.logr.beer/api/breweries/e68e9bec-3f76-4505-8752-128a1eba77b1
curl "https://discord.logr.beer/api/search?q=hazy+ipa"
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://discord.logr.beer/api/breweries
Base URL
https://discord.logr.beer/api
The root endpoint returns a JSON self-discovery document with links to all available resources.
Authentication
Public endpoints work without authentication but return sample data (max 10 results). Register for a free API key to get full paginated access.
1. Register
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret123", "password_confirmation": "secret123"}'
2. Get a token
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "secret123", "device_name": "my-app"}'
3. Use the token
Rate Limits
Endpoints
Breweries
/api/breweries
List and search breweries. Returns sample data (max 10) without auth.
search, country, state, per_page (max 100, default 25)
Example request & response
curl "https://discord.logr.beer/api/breweries?search=dogfish&per_page=2"
{
"data": [
{
"id": "e68e9bec-3f76-4505-8752-128a1eba77b1",
"name": "Dogfish Head Craft Brewery",
"slug": "dogfish-head-craft-brewery",
"city": "Milton",
"state": "Delaware",
"country": "United States",
"website": "http://www.dogfish.com",
"brewery_type": "large",
"sources": ["catalog_beer", "open_brewery_db"],
"beers_count": 42,
"created_at": "2026-05-14T12:00:00.000000Z",
"updated_at": "2026-05-14T12:00:00.000000Z"
}
],
"links": { "first": "...", "last": "...", "prev": null, "next": "..." },
"meta": { "current_page": 1, "last_page": 1, "per_page": 2, "total": 1 }
}
/api/breweries/{uuid}
Get a single brewery by UUID.
Example request & response
curl https://discord.logr.beer/api/breweries/e68e9bec-3f76-4505-8752-128a1eba77b1
{
"data": {
"id": "e68e9bec-3f76-4505-8752-128a1eba77b1",
"name": "Dogfish Head Craft Brewery",
"slug": "dogfish-head-craft-brewery",
"city": "Milton",
"state": "Delaware",
"country": "United States",
"address": "6 Cannery Village Center",
"postal_code": "19968",
"phone": "(302) 684-1000",
"latitude": 38.7776,
"longitude": -75.3105,
"website": "http://www.dogfish.com",
"description": "An off-centered place for off-centered people.",
"brewery_type": "large",
"untappd_id": "459",
"catalog_beer_id": "abc123",
"open_brewery_db_id": "dogfish-head-craft-brewery-milton",
"sources": ["catalog_beer", "open_brewery_db", "untappd"],
"beers_count": 42,
"created_at": "2026-05-14T12:00:00.000000Z",
"updated_at": "2026-05-14T12:00:00.000000Z"
}
}
/api/breweries/{uuid}/beers
List beers for a brewery. Returns sample data (max 10) without auth.
per_page (max 100, default 25)
Example response
{
"data": [
{
"id": "a1b2c3d4-...",
"name": "60 Minute IPA",
"slug": "60-minute-ipa",
"styles": ["American IPA"],
"abv": 6.0,
"ibu": 60,
"description": "Continually hopped for 60 minutes.",
"brewery_name": "Dogfish Head Craft Brewery",
"brewery_id": "e68e9bec-...",
"sources": ["untappd", "catalog_beer"],
"created_at": "2026-05-14T12:00:00.000000Z",
"updated_at": "2026-05-14T12:00:00.000000Z"
}
],
"links": { ... },
"meta": { "current_page": 1, "per_page": 25, "total": 42 }
}
Beers
/api/beers
List and search beers. Searches beer names, brewery names, and aliases. Returns sample data (max 10) without auth.
search, brewery_id (uuid), style (slug or name), per_page (max 100, default 25)
Example request & response
curl "https://discord.logr.beer/api/beers?search=60+minute&per_page=2"
{
"data": [
{
"id": "a1b2c3d4-...",
"name": "60 Minute IPA",
"slug": "60-minute-ipa",
"styles": ["American IPA"],
"abv": 6.0,
"ibu": 60,
"description": "Continually hopped for 60 minutes.",
"untappd_id": "3839",
"untappd_rating": 3.78,
"sources": ["untappd", "catalog_beer"],
"brewery_name": "Dogfish Head Craft Brewery",
"brewery_id": "e68e9bec-...",
"brewery": {
"id": "e68e9bec-...",
"name": "Dogfish Head Craft Brewery",
"slug": "dogfish-head-craft-brewery",
"city": "Milton",
"state": "Delaware",
"country": "United States"
},
"created_at": "2026-05-14T12:00:00.000000Z",
"updated_at": "2026-05-14T12:00:00.000000Z"
}
],
"links": { ... },
"meta": { "current_page": 1, "per_page": 2, "total": 1 }
}
/api/beers/{uuid}
Get a single beer by UUID. Includes brewery and styles.
Example response
{
"data": {
"id": "a1b2c3d4-...",
"name": "60 Minute IPA",
"slug": "60-minute-ipa",
"styles": ["American IPA"],
"abv": 6.0,
"ibu": 60,
"release_year": null,
"description": "Continually hopped for 60 minutes.",
"untappd_id": "3839",
"untappd_rating": 3.78,
"untappd_url": "https://untappd.com/b/dogfish-head-60-minute-ipa/3839",
"catalog_beer_id": "abc123",
"sources": ["untappd", "catalog_beer"],
"brewery_name": "Dogfish Head Craft Brewery",
"brewery_id": "e68e9bec-...",
"brewery": {
"id": "e68e9bec-...",
"name": "Dogfish Head Craft Brewery",
"slug": "dogfish-head-craft-brewery",
"city": "Milton",
"state": "Delaware",
"country": "United States"
},
"created_at": "2026-05-14T12:00:00.000000Z",
"updated_at": "2026-05-14T12:00:00.000000Z"
}
}
Search
/api/search
Search across beers and breweries. Matches names, aliases, and location fields. Returns sample data (max 10 per type) without auth.
q (required, min 2 chars), type (beer or brewery), per_page (max 25, default 25)
Example request & response
curl "https://discord.logr.beer/api/search?q=hazy+ipa&type=beer&per_page=2"
{
"beers": {
"data": [
{
"id": "f5e6d7c8-...",
"name": "Hazy Little Thing IPA",
"slug": "hazy-little-thing-ipa",
"styles": ["Hazy IPA"],
"abv": 6.7,
"brewery_name": "Sierra Nevada Brewing Co.",
"brewery_id": "b2c3d4e5-...",
"sources": ["untappd"]
}
],
"links": { ... },
"meta": { "current_page": 1, "per_page": 2, "total": 15 }
},
"meta": {
"sample": true,
"notice": "Unauthenticated requests return sample data. Register for full access."
}
}
Authentication
/api/auth/register
Register a new account. Returns a Sanctum API token.
email, password, password_confirmation
Example request & response
curl -X POST https://discord.logr.beer/api/auth/register \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"secret123","password_confirmation":"secret123"}'
{
"token": "1|abc123def456..."
}
/api/auth/token
Get an API token for an existing account.
email, password, device_name
Example response
{
"token": "2|xyz789ghi012..."
}
/api/auth/token/reset
Request a token reset email. Revokes all existing tokens and emails a new one.
email
/api/auth/user
auth
Get the currently authenticated user.
Example response
{
"id": 1,
"email": "you@example.com",
"is_admin": false,
"created_at": "2026-05-14T12:00:00.000000Z"
}
/api/auth/token
auth
Revoke the current API token.
Submissions auth required
/api/submissions
auth
List your submissions. Paginated, most recent first.
/api/submissions
auth
Submit a new beer or brewery for review.
Example: submit a beer
curl -X POST https://discord.logr.beer/api/submissions \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "beer",
"data": {
"name": "Haze Bomb IPA",
"brewery_name": "Sierra Nevada Brewing Co.",
"style": ["Hazy IPA"],
"abv": 6.7,
"description": "A hazy, juicy IPA."
}
}'
{
"data": {
"id": "c4d5e6f7-...",
"type": "beer",
"data": {
"name": "Haze Bomb IPA",
"brewery_name": "Sierra Nevada Brewing Co.",
"brewery_id": "b2c3d4e5-...",
"style": ["Hazy IPA"],
"abv": 6.7,
"description": "A hazy, juicy IPA."
},
"status": "pending",
"notes": null,
"resolved_at": null,
"created_at": "2026-05-20T12:00:00.000000Z"
}
}
Example: submit a brewery
curl -X POST https://discord.logr.beer/api/submissions \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"type": "brewery",
"data": {
"name": "New Local Brewing",
"city": "Portland",
"state": "Oregon",
"country": "United States",
"website": "https://newlocalbrewing.com"
}
}'
name (required), brewery_name, brewery_id (uuid), style (array), abv, ibu, description
name (required), city, state, country, website, description
/api/submissions/{uuid}
auth
Get a single submission by UUID. Must be the submission owner.
Utility
/api/traffic
API traffic statistics.
/api/docs
API documentation as JSON (self-discovery).
Response Format
All responses are JSON. Brewery and beer resources resolve canonical values from multiple data sources (Untappd, Open Brewery DB, catalog.beer, and more). Paginated endpoints return standard Laravel pagination with data, links, and meta keys.