Which distilleries, wineries, alcohol importers, and wholesalers hold a federal TTB basic
Which distilleries, wineries, alcohol importers, and wholesalers hold a federal TTB basic permit in a market? Search the TTB List of Permittees by owner, operating/DBA name, permit number, permit_type (S/W/I/P), industry, state, city, county, zip, entity_id, or new-permit-only (new=true, a new-business trigger). Returns the permittee, operating name, address, industry type, and entity-resolved owner. Excludes brewers/tobacco (IRC 6103). TTB public-domain records.
1250000 (raw units)
price
1
calls / 30d
1
unique payers
2026-09-07
updated
Provider
api.govparse.io · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x3873d15CF3209c32aaA8d9AA542164E658567129",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "1250000",
"maxTimeoutSeconds": 300
},
{
"scheme": "exact",
"network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
"payTo": "BdcZbENFdEyEUMqv9pnRMUnn1Yyeyo2dCMbYXbJ3LmaB",
"asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "1250000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"operating_name": "Distillery",
"owner": "Southern Glazer's",
"permit_number": "CA-W-25810"
},
"type": "http"
},
"output": {
"example": {
"rows": [
{
"city": "Louisville",
"county": "Jefferson",
"entity_id": null,
"industry_type": "Distilled Spirits Plant",
"is_distillery": true,
"is_importer": false,
"is_new": false,
"is_wholesaler": false,
"is_winery": false,
"name": "Example Bourbon Distillers LLC",
"operating_name": "Example Bourbon Co",
"permit_number": "KY-S-21001",
"permit_type": "S",
"state": "KY",
"street": "100 Distillery Rd",
"zip": "40202"
}
],
"total_matched": 1
},
"type": "json"
}
},
"routeTemplate": "/v1/ttb/permittees/search",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"properties": {
"city": {
"description": "Premise city fragment.",
"examples": [
"Louisville"
],
"type": "string"
},
"county": {
"description": "Premise county fragment.",
"examples": [
"Jefferson"
],
"type": "string"
},
"entity_id": {
"description": "Resolved owner entity UUID (pivots to business360).",
"examples": [
"b7f3e2d1-4a5c-4e6f-8a9b-0c1d2e3f4a5b"
],
"type": "string"
},
"industry": {
"description": "Industry type (Distilled Spirits Plant | Wine Producer | Importer (Alcohol) | Wholesaler (Alcohol)), CSV.",
"examples": [
"Distilled Spirits Plant"
],
"type": "string"
},
"limit": {
"description": "Max rows (default 25, cap 100).",
"examples": [
25
],
"type": "integer"
},
"new": {
"description": "true = newly-issued permits only (< 7 days) — a new-business trigger.",
"examples": [
"true"
],
"type": "string"
},
"offset": {
"description": "Rows to skip.",
"examples": [
0
],
"type": "integer"
},
"operating_name": {
"description": "Operating / DBA name fragment.",
"examples": [
"Distillery"
],
"type": "string"
},
"owner": {
"description": "Permit-holder (owner) name — suffix/punctuation-insensitive.",
"examples": [
"Southern Glazer's"
],
"type": "string"
},
"permit_number": {
"description": "TTB permit number(s), CSV (STATE-TYPE-SEQ).",
"examples": [
"CA-W-25810"
],
"type": "string"
},
"permit_type": {
"description": "S = distilled spirits, W = wine, I = importer, P = wholesaler.",
"examples": [
"S"
],
"type": "string"
},
"sort": {
"description": "permit_number | owner | city :asc|:desc. Default permit_number:asc.",
"examples": [
"owner:asc"
],
"type": "string"
},
"state": {
"description": "Premise state code(s), CSV.",
"examples": [
"KY"
],
"type": "string"
},
"zip": {
"description": "Premise ZIP code.",
"examples": [
"40202"
],
"type": "string"
}
},
"required": [],
"type": "object"
}
},
"type": "object"
}
}
}Use it
curl
curl "https://api.govparse.io/v1/ttb/permittees/search" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.govparse.io/v1/ttb/permittees/search");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.govparse.io/v1/ttb/permittees/search")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/14586.json, and this resource appears in /discovery/resources and /discovery/search.