US State Liquor License Aggregator
LEAD GENERATIONBUSINESS
US State Liquor License Aggregator
Aggregates active alcoholic beverage control (ABC) / liquor license data from multiple US state open-data portals. Returns standardized records covering license holder, trade name, license type, status, address, and county — across California, Texas, and New York in a single run.
Data Sources
| State | Agency | Source |
|---|---|---|
| CA | California ABC | Daily CSV bulk export (~129k records) |
| TX | Texas TABC | Socrata API — data.texas.gov (~77k active records) |
| NY | New York SLA | Socrata API — data.ny.gov (~59k active records) |
All sources are publicly available open government data. No authentication or proxy is required.
Input
| Field | Type | Default | Description |
|---|---|---|---|
states |
array | ["CA","TX","NY"] |
State codes to fetch. Supported: CA, TX, NY. |
licenseStatus |
string | "active" |
"active" returns only active/current licenses; "all" includes expired and inactive. |
maxItems |
integer | 10 |
Maximum total records to return across all selected states. 0 = unlimited. |
Example Input
{
"states": ["CA", "TX"],
"licenseStatus": "active",
"maxItems": 500
}
Output
Each record contains the following fields:
| Field | Description |
|---|---|
licenseHolderName |
Legal name of the license holder (individual or entity) |
tradeName |
Trade name / DBA (Doing Business As) |
licenseNumber |
State-assigned license or file number |
licenseType |
License type code (state-specific, e.g. 47 for CA On-Sale General) |
licenseClass |
License class or category description |
licenseStatus |
Current status (Active, Expired, Suspended, etc.) |
issuedDate |
Original issue date (YYYY-MM-DD) |
expirationDate |
Expiration date (YYYY-MM-DD) |
address |
Street address of the licensed premises |
city |
City |
state |
US state code (CA, TX, NY) |
zip |
ZIP code |
county |
County |
sourceUrl |
URL of the source portal or data file |
sourceState |
Two-letter US state code of the data source |
scrapedAt |
ISO 8601 timestamp when the record was scraped |
Example Output Record
{
"licenseHolderName": "SMITH ENTERPRISES LLC",
"tradeName": "THE DOWNTOWN BAR",
"licenseNumber": "612345",
"licenseType": "48",
"licenseClass": "LIC",
"licenseStatus": "ACTIVE",
"issuedDate": "2019-03-15",
"expirationDate": "2027-03-14",
"address": "123 MAIN ST",
"city": "LOS ANGELES",
"state": "CA",
"zip": "90001",
"county": "LOS ANGELES",
"sourceUrl": "https://www.abc.ca.gov/licensing/licensing-reports/",
"sourceState": "CA",
"scrapedAt": "2026-05-10T10:36:12.000Z"
}
Use Cases
- Distributor prospecting — Identify licensed retailers, bars, and restaurants in target markets
- Compliance research — Verify license status before executing contracts or shipments
- POS / ordering system outreach — Build contact lists for B2B alcohol tech sales
- Market analysis — Map the distribution of license types across counties and cities
Performance & Scale
- CA: ~7 MB ZIP download, ~129k total records. The actor applies an active-status filter client-side; the CA CSV includes both issued licenses (LIC) and pending applications (APP).
- TX: Server-side
$where=primary_status='Active'filter reduces the dataset to ~77k active records before transfer. Pagination at 5,000 records per request. - NY: The NY SLA dataset is pre-filtered to current active licenses only (~59k records). No additional filtering required.
For large full-state runs (maxItems: 0), set the actor timeout to at least 30 minutes and memory to 512 MB.
Pricing
Pay-per-event pricing: $0.10 per run + $0.00125 per record scraped.