# New Liquor License Applications by State: NY, TX, MO (`transparent_meteorite/state-liquor-license-new-applications`) Actor

Find bars and restaurants about to open from new and pending liquor license records on official NY, TX and MO open-data portals: dates, address, venue category and a lead score in one schema. No login, no proxy.

- **URL**: https://apify.com/transparent_meteorite/state-liquor-license-new-applications.md
- **Developed by:** [Detroit Web Agent - Open Data](https://apify.com/transparent_meteorite) (community)
- **Categories:** Lead generation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.90 / 1,000 license records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## New Liquor License Applications by State: Leads for Bars and Restaurants About to Open

**Liquor license applications** from the official open-data portals of New York, Texas and Missouri: pending applications and newly issued licenses for bars, restaurants and liquor stores, in one clean schema with a lead score.

**Free sample:** [download a CSV of real rows](https://api.apify.com/v2/key-value-stores/7PfCqoK4MaW53BleR/records/state-liquor-license-new-applications.csv) from recent runs of this Actor (up to 50 rows, refreshed weekly, no account needed).

**This Actor vs malonestar/liquor-license-new-openings-tracker:** that one covers more states and cities. This one gives one flat schema with a lead score, read straight from the official state portals with no login.

Find new bars, restaurants and liquor stores before they open. This Actor reads the official open-data portals of New York, Texas and Missouri, collects pending liquor license applications and newly issued licenses, and returns them in one clean schema with a lead score. No login, no proxy, no scraping of private pages.

### What does this Actor do?

A venue cannot serve alcohol without a state license, and the state publishes those records. This Actor pulls them for you, keeps only the window you ask for (for example the last 30 days), and adds three things a sales or research team needs:

- **One schema across states.** Business name, trade name, license type, status, dates, address, city, county and ZIP use the same field names for NY, TX and MO.
- **A venue category.** `bar_nightlife`, `restaurant`, `retail_store`, `producer`, `event_temp` or `other`, from fixed text rules on the license type.
- **A lead score from 0 to 100.** On-premise venues score higher than wholesalers, pending applications score higher than issued licenses (the venue is not open yet), and fresh records score higher than old ones.

**Which records are applications and which are issued licenses?**

| Dataset | State | Kind | Date used |
|---|---|---|---|
| NY State Liquor Authority pending applications | NY | `application` | date received |
| NY State Liquor Authority active licenses | NY | `issued` | original issue date |
| Texas TABC license information | TX | `issued` | original issue date |
| Missouri newly issued liquor licenses | MO | `issued` | original license date |

**Run in 30 seconds**

1. Open the Actor and press **Try for free** (a free Apify account is enough).
2. Keep the prefilled input and press **Start**. A run takes well under a minute.
3. Open the **Output** tab. Use the table view or download CSV, Excel or JSON.

### Input

| Field | What it does |
|---|---|
| `states` | Two-letter codes: `NY`, `TX`, `MO`. Empty means all three. |
| `recordKind` | `all`, `application` (pending, NY only) or `issued`. |
| `licenseTypeContains` | Keep records whose license type contains one of these words, for example `restaurant`, `tavern`, `mixed beverage`. |
| `countyOrCityContains` | Keep records whose city or county contains this text, for example `Brooklyn`. |
| `newSinceDays` | Keep records filed or issued in the last N days. Default 30. |
| `onlyNewSinceLastRun` | Monitor mode. Skips records an earlier run already delivered. |
| `maxItems` | Stop after this many records, best lead score first. |

Sample input:

```json
{
  "states": ["NY", "TX"],
  "recordKind": "all",
  "licenseTypeContains": ["restaurant", "tavern", "mixed beverage"],
  "newSinceDays": 30,
  "onlyNewSinceLastRun": true,
  "maxItems": 200
}
```

### Output

One row per application or license:

| Field | Meaning |
|---|---|
| `businessName`, `tradeName` | Legal name and doing-business-as name, when the state publishes them. |
| `licenseType`, `licenseClass`, `licenseNumber`, `licenseId` | What was applied for and the identifiers. |
| `recordKind`, `status` | `application` or `issued`, plus the state's own status text. |
| `applicationOrIssueDate`, `daysSinceFiled` | Date filed or issued (ISO) and its age in days. |
| `effectiveDate`, `expirationDate` | Published when the dataset has them, otherwise null. |
| `premisesAddress`, `city`, `county`, `zip`, `premisesState` | Where the venue will be. |
| `latitude`, `longitude` | Published for NY records. |
| `venueCategory`, `leadScore` | Our rules-based category and the 0 to 100 score. |
| `isNewSinceLastRun` | True when this Actor has not delivered this record before. |
| `sourceDataset`, `sourceUrl`, `scrapedAt` | Where the row came from and when. |

### Sample output

```json
{
  "licenseId": "ny-pending:NA-0340-26-127746",
  "state": "NY",
  "recordKind": "application",
  "licenseNumber": "NA-0340-26-127746",
  "licenseType": "Restaurant",
  "status": "IntakeComplete",
  "applicationOrIssueDate": "2026-09-17",
  "daysSinceFiled": 4,
  "businessName": "Lola's Latin Bistro Inc.",
  "premisesAddress": "293 Port Richmond Ave",
  "city": "Staten Island",
  "county": "Richmond",
  "zip": "10302",
  "venueCategory": "restaurant",
  "leadScore": 100,
  "isNewSinceLastRun": true,
  "sourceUrl": "https://data.ny.gov/d/f8i8-k2gm"
}
```

### Use cases

- Sell to new venues: restaurant suppliers, POS and payment providers, insurance brokers, sign makers, linen and cleaning services and local marketing agencies can reach a bar or restaurant before its opening week.
- Run it every week with `onlyNewSinceLastRun` on and push only fresh, high-score rows into a CRM, a Google Sheet or an n8n workflow that sends a Slack alert for each new record.
- Track licensing trends by county or license type for market research, commercial real estate scouting or franchise site selection.
- Feed the addresses to a maps or enrichment Actor to find the venue's website and phone number for outreach.

### Why use it

- **Official sources only.** Every row links back to the state dataset it came from.
- **Fixed rules, no LLM.** The venue category and score come from plain rules, so results repeat run to run.
- **Pending applications, not only old licenses.** New York publishes applications that are still under review.
- **Add a state without new code.** Sources live in one config file, so new states are quick to add.

### Pricing

Pay per event. You pay a small fixed amount per record delivered, shown on the Pricing tab, plus a tiny start fee per run. Records removed by your filters, or already delivered in monitor mode, are never charged, and you can set a maximum cost per run in the run options.

### FAQ

**Which states are covered?**
New York (pending applications and newly issued licenses), Texas (TABC licenses by original issue date) and Missouri (newly issued licenses). The portals update daily or weekly, so a record can appear a few days after it was filed.

**Are these pending applications or issued licenses?**
Check `recordKind`. Only New York publishes pending applications. Texas and Missouri publish licenses that are already granted, so "new" means newly issued.

**How do I schedule it?**
Create a Schedule on the Apify platform, set `onlyNewSinceLastRun` to true, and connect the dataset to a webhook, Make, Zapier or n8n.

**Is the owner's phone or email included?**
No. The states do not publish contact details in these datasets. The rows hold business names and premises addresses only.

**Why does a NY row show a premises in another state?**
New York also lists out-of-state shippers that apply for a NY license. Use `premisesState` to filter them out.

### Limits

- Coverage is three states today, and each portal is only as fresh as the state makes it.
- Texas and Missouri list issued licenses, not pending applications.
- Venue categories come from the license wording and can be wrong for unusual types. Treat `other` as "not classified".
- Public business records only. If you contact businesses, follow the rules that apply to you, such as CAN-SPAM and TCPA.

### New-registration lead actors

These actors share one lead schema (name, dates, status, address, source link, lead score) and cover the five public signals that a business is starting up. Combine them to reach the same company at several stages:

- [FMCSA New Motor Carrier Leads](https://apify.com/transparent_meteorite/fmcsa-new-carrier-leads): new USDOT and MC registrations with phone, email and fleet size
- [New Business Filings](https://apify.com/transparent_meteorite/new-business-filings): newly registered LLCs, corporations and nonprofits by state
- [Building Permits Leads](https://apify.com/transparent_meteorite/building-permits-leads): new city building permits with property address and contractor
- [Contractor License Lookup](https://apify.com/transparent_meteorite/contractor-license-lookup): trade and contractor licenses from official state portals

### Related Actors

- [Business Entity Search](https://apify.com/transparent_meteorite/business-entity-search) finds registered companies by name and state.
- [Contractor License Lookup](https://apify.com/transparent_meteorite/contractor-license-lookup) checks contractor licenses in state registries.
- [Google Maps New Business Radar](https://apify.com/transparent_meteorite/google-maps-new-business-radar) spots newly listed local businesses.

Found a bug or need a field? Open an issue on the Issues tab with the run URL.

### More from DWA Open Data

Browse all 69 data Actors, with live prices and sample output, at [open-data-actors.pages.dev](https://open-data-actors.pages.dev).

***

**Feedback:** if this Actor was useful, or if it fell short, an honest review on the [Reviews tab](https://apify.com/transparent_meteorite/state-liquor-license-new-applications/reviews) helps other users decide. Problems or feature requests: please open an [Issue](https://apify.com/transparent_meteorite/state-liquor-license-new-applications/issues) and we usually reply within one business day.

# Actor input Schema

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

Two-letter state codes to read. Supported: NY (pending applications and new licenses), TX (new TABC licenses), MO (new licenses). Leave empty for all.

## `recordKind` (type: `string`):

application = filed but not yet approved (best lead timing; NY only). issued = a license that was recently granted.

## `licenseTypeContains` (type: `array`):

Keep records whose license type contains at least one of these words (case-insensitive). Example: \["restaurant", "tavern", "mixed beverage"]. Leave empty for all types.

## `countyOrCityContains` (type: `string`):

Keep records whose city or county contains this text. Example: "Brooklyn" or "Harris". Leave empty for everywhere.

## `newSinceDays` (type: `integer`):

Keep records whose application or issue date is within the last N days.

## `onlyNewSinceLastRun` (type: `boolean`):

Monitor mode. Skips records that an earlier run of this Actor already delivered, so a weekly schedule returns only fresh leads.

## `maxItems` (type: `integer`):

Stop after this many records, highest lead score first. You pay only for records delivered.

## Actor input object example

```json
{
  "states": [
    "NY",
    "TX",
    "MO"
  ],
  "recordKind": "all",
  "newSinceDays": 30,
  "onlyNewSinceLastRun": false,
  "maxItems": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "states": [
        "NY",
        "TX",
        "MO"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("transparent_meteorite/state-liquor-license-new-applications").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 = {
    "states": [
        "NY",
        "TX",
        "MO",
    ],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("transparent_meteorite/state-liquor-license-new-applications").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "states": [
    "NY",
    "TX",
    "MO"
  ],
  "maxItems": 100
}' |
apify call transparent_meteorite/state-liquor-license-new-applications --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,transparent_meteorite/state-liquor-license-new-applications"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rvLigUOtzrDKX2aKE/builds/nCfCsTHG4YzShGx6O/openapi.json
