# New Business License Leads — Chicago + NY State Liquor (`esco.api/new-business-licenses`) Actor

Businesses that just got licensed to open — new Chicago business licenses (all categories) plus pending NY State liquor applications (bars & restaurants opening soon). Official feeds, normalized, deduplicated.

- **URL**: https://apify.com/esco.api/new-business-licenses.md
- **Developed by:** [Francesco Freedman](https://apify.com/esco.api) (community)
- **Categories:** Lead generation, Business
- **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

## New Business License Leads — Chicago + NY State Liquor

Get **businesses that just got licensed to open** — every new Chicago business license (all categories) and every **pending New York State liquor license application** — straight from the official government feeds. Normalized, deduplicated, lead-ready.

A new license is a stronger signal than a new LLC filing: it means a real business, at a real address, in a known category, about to start operating. A *pending liquor application* is the classic **soon-to-open** signal — bars and restaurants file 1–6 months before opening day, which is exactly when they're buying everything.

### Why this actor

- **Official sources only.** City of Chicago business licenses and NY State Liquor Authority pending applications, from the government open-data portals — no scraping of third-party sites, no stale resold lists.
- **Category-rich.** Chicago: every license category (Retail Food, Pop-Up Retail, Tobacco, Home Repair…). NY liquor: human-readable class (Restaurant, Grocery Store, Tavern…).
- **Soon-to-open leads, not old news.** NY liquor applications are captured the day the SLA logs them — months before the doors open.
- **You only pay for new leads.** With `newOnly` enabled (default), records already delivered in previous runs are skipped — a scheduled run only charges for rows you haven't seen before.
- **New issuances only.** Chicago renewals are filtered out at the source (`application_type=ISSUE`); you only see businesses that are new.

### Output example

```json
{
    "region": "NY-LIQUOR",
    "event": "liquor application received",
    "event_date": "2026-07-07",
    "business_name": "Watches of Switzerland LLC",
    "category": "Restaurant",
    "address": "1 Vanderbilt Ave",
    "city": "New York",
    "zip": "10017",
    "area": "New York County",
    "status": "Pending",
    "source": "NY State Liquor Authority — Pending Licenses (data.ny.gov)"
}
````

Typical volume: **250–550 new license events per week** across both sources.

### Who uses this

- **Restaurant suppliers & food distributors** — a pending liquor license is a restaurant fitting out its space right now.
- **POS, payments & reservation platforms** — reach owners before they've picked a stack.
- **Commercial insurance** — new licensees need liquor liability, GL, workers' comp.
- **Marketing agencies & sign makers** — new businesses need launch marketing.
- **Beverage distributors** — every pending license is a future account, with the county included.
- **CRE & market analysts** — track retail/hospitality openings by neighborhood.

### Inputs

| Field | Default | Notes |
|---|---|---|
| `sources` | both | `CHI` (Chicago licenses), `NY_LIQUOR` (NY State pending liquor) |
| `sinceDays` | `7` | Look-back window (1–90 days) |
| `newOnly` | `true` | Skip records delivered by previous runs |
| `maxResults` | `0` (no cap) | Handy for test runs |
| `socrataAppToken` | — | Optional; raises API rate limits for large backfills |

### Recommended setup: scheduled lead feed

1. Create a **Schedule** in Apify Console (daily or weekly).
2. Input: your sources, `sinceDays: 7`, `newOnly: true`.
3. Add an integration (email, Slack, webhook, Google Sheets, Make/Zapier) to deliver each run's fresh leads to your pipeline.

### More sources?

Chicago and NY State are live. Other cities and state liquor boards publish similar feeds — **open an issue and tell me which region you need**; well-supported requests ship within days. (NYC's own license feed was evaluated and excluded on purpose: the city publishes new licenses with a ~3-month lag, which is not a lead. NYC bar & restaurant openings are covered here via the NY State liquor feed.)

### Data & fair-use notes

All records are public business licenses and license applications published by government agencies for exactly this purpose. The actor queries official open-data APIs politely (paged, rate-limited, identified). Records describe businesses, not consumers.

# Actor input Schema

## `sources` (type: `array`):

Which license feeds to pull. All supported sources by default.

## `sinceDays` (type: `integer`):

Return licenses issued (or liquor applications received) within the last N days. Feeds update daily-to-weekly, so 7-14 is a good cadence.

## `newOnly` (type: `boolean`):

When enabled, records already returned by previous runs of this actor are skipped, so a scheduled run only yields (and only charges for) genuinely new leads.

## `maxResults` (type: `integer`):

Hard cap on total results across all sources (0 = no cap). Useful for test runs.

## `socrataAppToken` (type: `string`):

Optional app token from any Socrata open-data portal account. Not required — it just raises the APIs' rate limits for very large backfills.

## Actor input object example

```json
{
  "sources": [
    "CHI",
    "NY_LIQUOR"
  ],
  "sinceDays": 7,
  "newOnly": true,
  "maxResults": 0
}
```

# 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("esco.api/new-business-licenses").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("esco.api/new-business-licenses").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 esco.api/new-business-licenses --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=esco.api/new-business-licenses",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "New Business License Leads — Chicago + NY State Liquor",
        "description": "Businesses that just got licensed to open — new Chicago business licenses (all categories) plus pending NY State liquor applications (bars & restaurants opening soon). Official feeds, normalized, deduplicated.",
        "version": "0.1",
        "x-build-id": "WXDxp2yr2Nx4PgTA0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/esco.api~new-business-licenses/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-esco.api-new-business-licenses",
                "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/esco.api~new-business-licenses/runs": {
            "post": {
                "operationId": "runs-sync-esco.api-new-business-licenses",
                "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/esco.api~new-business-licenses/run-sync": {
            "post": {
                "operationId": "run-sync-esco.api-new-business-licenses",
                "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": {
                    "sources": {
                        "title": "Sources",
                        "type": "array",
                        "description": "Which license feeds to pull. All supported sources by default.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "CHI",
                                "NY_LIQUOR"
                            ],
                            "enumTitles": [
                                "Chicago — new business licenses (all categories)",
                                "New York State — pending liquor license applications (soon-to-open bars & restaurants)"
                            ]
                        },
                        "default": [
                            "CHI",
                            "NY_LIQUOR"
                        ]
                    },
                    "sinceDays": {
                        "title": "Look-back window (days)",
                        "minimum": 1,
                        "maximum": 90,
                        "type": "integer",
                        "description": "Return licenses issued (or liquor applications received) within the last N days. Feeds update daily-to-weekly, so 7-14 is a good cadence.",
                        "default": 7
                    },
                    "newOnly": {
                        "title": "New results only (dedupe across runs)",
                        "type": "boolean",
                        "description": "When enabled, records already returned by previous runs of this actor are skipped, so a scheduled run only yields (and only charges for) genuinely new leads.",
                        "default": true
                    },
                    "maxResults": {
                        "title": "Max results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on total results across all sources (0 = no cap). Useful for test runs.",
                        "default": 0
                    },
                    "socrataAppToken": {
                        "title": "Socrata app token (optional)",
                        "type": "string",
                        "description": "Optional app token from any Socrata open-data portal account. Not required — it just raises the APIs' rate limits for very large backfills."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
