# US Liquor License Leads — New & Changed Filings (`filingradar/us-liquor-license-filings`) Actor

Fresh U.S. liquor-license leads — new, renewed & changed alcohol-license filings, normalized across states with NEW-filing detection. High-intent signals for POS, merchant-services, insurance, distributors & B2B sales. 100% public data, pay-per-result. NY + TX live, more on request.

- **URL**: https://apify.com/filingradar/us-liquor-license-filings.md
- **Developed by:** [Filing Radar](https://apify.com/filingradar) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## US Liquor License Leads — New & Changed Filings

**Know the moment a bar, restaurant, or store gets (or applies for) a liquor license.** This Actor pulls **new, renewed, and changed U.S. liquor-license filings** straight from official state open-data portals, normalizes every state into **one clean schema**, and flags exactly what changed — so you get **high-intent "a business is opening" leads** the day they happen.

A new liquor license means someone is about to spend on point-of-sale, payments, insurance, equipment, signage, staffing, and supply. This is the list of who, where, and when — fresh.

> **Live coverage: 6 states — NY, TX, IL (Chicago), CO, MO, CT.** (FL and more on request.) 100% public government data — no logins, no gray areas.

---

### Who uses this

- **POS & payments / merchant-services (ISOs):** reach a new venue before they sign with an incumbent.
- **Business insurance & bonding:** new licensees need coverage immediately.
- **Beverage distributors & equipment sellers:** territory prospecting on real, dated signals.
- **Staffing, payroll, cleaning, signage, marketing agencies:** a new bar is about to hire and buy.
- **Researchers & analysts:** track alcohol-market openings, closings, and license churn over time.

### What's in every record

| Field | Example |
|-------|---------|
| `business_name` / `dba_trade_name` | `JB Liquor Foote Ave, Inc` / `JB Liquor` |
| `license_number` | `0524-26-46372` |
| `license_type_normalized` | `on_premise` · `off_premise` · `wholesale` · `manufacturer` · `retail_other` |
| `status_normalized` | `active` · `pending` · `expired` · `inactive` |
| `change_type` | **`NEW`** · `RENEWAL` · `STATUS_CHANGE` · `TRANSFER` |
| `filing_date` / `issue_date` / `expiration_date` | `2026-06-17` |
| `address` · `city` · `county` · `state` · `zip` | `766 Foote Ave`, `Jamestown`, `NY` |
| `lat` / `lng` | geocoded where the state provides it |
| `first_seen_date` | the day this filing first appeared in our feed |
| `source` / `source_url` | provenance for every row |

Delivered as a dataset you can export to **JSON, CSV, or Excel**, or pull via the **Apify API** into your CRM/warehouse.

#### Example output

```json
{
  "business_name": "The Spot Social Hour Inc",
  "dba_trade_name": "The Spot Social Hour",
  "license_number": "2574556",
  "license_type_normalized": "on_premise",
  "status_normalized": "active",
  "change_type": "NEW",
  "filing_date": "2026-04-16",
  "city": "Chicago",
  "county": "Cook",
  "state": "IL",
  "first_seen_date": "2026-06-18",
  "source": "il-chicago"
}
````

### The premium signal: new-filing detection

Most "license data" is a stale full dump. The value here is **what changed**. The Actor remembers prior runs and tags each record:

- **`NEW`** — first time we've ever seen this license/application (your hottest lead).
- **`RENEWAL`** — an existing license was just renewed.
- **`STATUS_CHANGE`** — pending → active, active → expired, etc.

Run it weekly and you get a clean "**what's new this week**" list, not the whole haystack.

### Inputs

| Input | What it does |
|-------|--------------|
| **States** | Which states to include — `NY`, `TX`, `IL`, `CO`, `MO`, `CT`. |
| **Change types** | Keep only `NEW`, `RENEWAL`, `STATUS_CHANGE`, `TRANSFER` — or all. |
| **Max records per source** | Cap the volume (and your cost) per run. |

Leave everything default to pull all six states; narrow `states` to your territory, and set `change_types: ["NEW"]` for a pure fresh-leads feed.

### Pricing

**Pay per result** — you only pay for the records you receive: **$0.004 per delivered, verified record.** Filter to `change_types: ["NEW"]` and that's under half a cent per fresh, high-intent lead.

No subscription, no minimums. A weekly NEW-only pull for one state is typically a few dollars.

### Data sources & legality

100% **public** state open-data APIs and official extracts, intended for reuse:

- **NY** — Liquor Authority active licenses (`data.ny.gov`)
- **TX** — TABC license info + **pending new applications** (`data.texas.gov`)
- **IL** — City of Chicago business licenses, liquor & amusement (`data.cityofchicago.org`)
- **CO** — Liquor Enforcement active + **recently-approved** licenses (`data.colorado.gov`)
- **MO** — Division of Alcohol & Tobacco Control active licenses (`data.mo.gov`)
- **CT** — Dept. of Consumer Protection liquor permits (`data.ct.gov`)

This is public *business*-registry data (not personal data). The Actor only touches public endpoints, never logged-in or ToS-gated sources, and rate-limits politely.

### FAQ

**How fresh is it?** As fresh as the state portals — the NEW/RENEWAL flags are computed against your last run, so you always see deltas.

**Which states?** Six live now: NY, TX, IL (Chicago), CO, MO, CT. Want FL, PA, CA, or your state next? Request it — adding states is the roadmap.

**Is this AI-generated?** The dataset is real government data; an automated pipeline normalizes and de-duplicates it. No fabricated rows, ever.

**Can I get only brand-new licenses?** Yes — set `change_types` to `["NEW"]`.

**How do I automate it?** Schedule the Actor in Apify and push results to a webhook, Google Sheet, or your CRM via the Apify API/integrations.

***

<sub>**For developers / source:** zero-dependency Node 20 (built-in `fetch`, `node:test`). `node src/run.js` runs the pipeline locally; `node tests/report.mjs` runs the acceptance suite. Public-data only; normalization is deterministic and unmapped values fall to `other` (counted, never hidden). See `LEGAL.md`.</sub>

# Actor input Schema

## `states` (type: `array`):

Which states to include. Supported: NY, TX, IL (Chicago), CO, MO, CT.

## `change_types` (type: `array`):

Filter to specific change types. Empty = all (the full current roster). Set \["NEW"] for a pure fresh-leads feed.

## `limit` (type: `integer`):

Upper bound on rows pulled per source per run.

## Actor input object example

```json
{
  "states": [
    "NY",
    "TX",
    "IL",
    "CO",
    "MO",
    "CT"
  ],
  "change_types": [],
  "limit": 1000
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("filingradar/us-liquor-license-filings").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("filingradar/us-liquor-license-filings").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call filingradar/us-liquor-license-filings --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=filingradar/us-liquor-license-filings",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "US Liquor License Leads — New & Changed Filings",
        "description": "Fresh U.S. liquor-license leads — new, renewed & changed alcohol-license filings, normalized across states with NEW-filing detection. High-intent signals for POS, merchant-services, insurance, distributors & B2B sales. 100% public data, pay-per-result. NY + TX live, more on request.",
        "version": "1.0",
        "x-build-id": "tsKz5WnjC4hZ7zoh5"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/filingradar~us-liquor-license-filings/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-filingradar-us-liquor-license-filings",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/filingradar~us-liquor-license-filings/runs": {
            "post": {
                "operationId": "runs-sync-filingradar-us-liquor-license-filings",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/filingradar~us-liquor-license-filings/run-sync": {
            "post": {
                "operationId": "run-sync-filingradar-us-liquor-license-filings",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "states": {
                        "title": "States",
                        "type": "array",
                        "description": "Which states to include. Supported: NY, TX, IL (Chicago), CO, MO, CT.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "NY",
                                "TX",
                                "IL",
                                "CO",
                                "MO",
                                "CT"
                            ]
                        },
                        "default": [
                            "NY",
                            "TX",
                            "IL",
                            "CO",
                            "MO",
                            "CT"
                        ]
                    },
                    "change_types": {
                        "title": "Change types",
                        "type": "array",
                        "description": "Filter to specific change types. Empty = all (the full current roster). Set [\"NEW\"] for a pure fresh-leads feed.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "NEW",
                                "RENEWAL",
                                "TRANSFER",
                                "STATUS_CHANGE"
                            ]
                        },
                        "default": []
                    },
                    "limit": {
                        "title": "Max records per source",
                        "minimum": 1,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Upper bound on rows pulled per source per run.",
                        "default": 1000
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
