New Business Opening
Pricing
from $5.00 / 1,000 results
New Business Opening
Discover early business-opening leads across New York using public licensing and construction signals. Get ranked, deduplicated opportunities with source evidence for sales and market research.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
宣哲 黃
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
New Business Opening Lead Intelligence — New York
Find potential upcoming businesses using public New York liquor applications, business-license applications and commercial construction records. Export deduplicated leads with deterministic evidence scores and the original public signals behind each lead.
Private preview. Opening signals are not confirmations. Scores are not probabilities or estimates of an opening date. This independent tool is not affiliated with New York State, NYC, SLA, DCWP or DOB. Verify public records before acting on a lead.
Coverage and sources
| Source | Coverage | Publisher cadence | Role |
|---|---|---|---|
| Current SLA Pending Licenses | New York State premises | Daily | Pending liquor application |
| DCWP License Applications | NYC licensing; only NY premises retained | Weekly | New premises application; individual licenses and renewals excluded |
| DOB NOW Job Application Filings | NYC | Daily | Commercial construction support |
| DOB NOW Approved Permits | NYC | Daily | Initial commercial permit support |
Publisher cadence does not guarantee current records. On September 17, 2026, DCWP's
latest New application date was April 17, 2026, although renewal records were more
recent. A 30-day DCWP query can legitimately return zero. SLA is a current pending
snapshot, not a complete historical archive. Separate DOB electrical/elevator/LAA
datasets are outside this release.
examples/input-dcwp-history.json uses a 180-day window and a zero score threshold
to verify older DCWP records. It is a source diagnostic, not a fresh-lead benchmark.
Input
{"state":"NY","city":"New York","lookbackDays":30,"maxResults":100}
| Field | Default | Meaning |
|---|---|---|
state | NY | Only New York State |
city | New York | NYC's five boroughs; empty string selects statewide NY coverage |
boroughs | [] | Optional Manhattan, Bronx, Brooklyn, Queens, Staten Island filter |
lookbackDays | 30 | Inclusive New York calendar-day age, 1–365; excludes future dates |
businessCategories | [] | Exact case-insensitive source category labels, e.g. Restaurant; no invented category mapping |
signalTypes | All four | liquor_license, business_license, building_application, building_permit |
minimumSignalScore | 30 | Minimum score, 0–100 |
maxResults | 1000 | Final deduplicated result cap, 1–10000; fewer results are possible |
includeLowConfidence | false | Include construction candidates without an identified operator |
includeRawSourceData | false | Include allowlisted original business/source fields, never unrestricted raw rows |
Statewide liquor search:
{"city":"","signalTypes":["liquor_license"],"lookbackDays":30,"maxResults":100}
Commercial construction review, including unknown operators:
{"signalTypes":["building_application","building_permit"],"lookbackDays":7,"includeLowConfidence":true,"minimumSignalScore":0,"maxResults":100}
Matching and scoring
Names normalize Unicode, spacing, punctuation and trailing legal suffixes. Displayed names and source addresses remain original. Matching retains house-number hyphens, ZIP codes, boroughs and unit information. Different units, conflicting ZIP/government business IDs or missing versus known units prevent a merge.
Records can merge at the same normalized premises using matching government identity, an exact legal/DBA relationship or conservative name similarity (95/100, long names, same first token and matching numeric tokens). Every group member must be compatible; ambiguous and transitive-only relationships remain separate. A shared building never proves a shared business. Conservative matching can miss real relationships.
DOB property owners, contractors and applicants are not treated as future tenants.
Job and permit records can join by exact filing number and compatible premises. DOB
records without operator evidence do not join a liquor/DCWP business on address alone.
They retain businessName: null and low identity confidence. Use the construction
input above to review them. This protects against assigning a landlord's or architect's
name to a potential opening.
Initial weights: liquor 45, new premises license 35, permit 20, job application 10. Only the most recent signal of each type contributes its base weight. Ages 0–30, 31–60, 61–90 and 91–365 days receive 100%, 80%, 60% and 30% of that weight. Two independent agencies add 20; a third adds 10. Business identity adds 5; commercial work adds 5; unknown identity subtracts 10. DOB's two datasets count as one agency, not independent corroboration. Scores clamp to 0–100.
Levels: low 0–29, medium 30–49, high 50–69, very_high 70–100. Renewals, denied/withdrawn/expired/closed records, future/stale records, individual licenses, residential-only work and construction without commercial evidence are excluded. No LLM, contact enrichment or estimated opening date is used.
Output and failure behavior
One default Dataset item is one deduplicated potential opening. Fields include
leadId, business/DBA/category, address, score/level/reasons, identity confidence,
signals, dataset/agency counts, first/latest signal dates and retrieval timestamp.
Each signal preserves its source record ID, source link, date, status, original name
and address. Unknown phone, website, email and opening date remain null.
examples/output.json is fictional test data, not a real business lead.
leadId is deterministic for the same evidence and independent of input order or exact
duplicates. It is anchored to a source record and premises; it can change when that
anchor disappears, changes or is superseded by new source evidence. This is not a
persistent change-monitoring service.
DOB permit source IDs include filing number, work permit, sequence and work type, because the official export can repeat the first three across different work types. Those evidence rows do not create extra leads or repeated base-score contributions. Job record IDs include filing number and floor/unit scope. If a source still supplies conflicting versions of the same record key, all versions are excluded and counted as ambiguous in OUTPUT; coverage is marked partial rather than choosing one status.
The default Key-Value Store's OUTPUT contains source counts, source update times,
failures, exclusions, duplicate count, qualified count and actual Dataset count.
ambiguousSourceIdentities counts quarantined contradictory identities; per-source
rejectedRecords includes their excluded rows.
If some requested sources fail, remaining sources produce partial results with explicit
coverage gaps. A failed source count is null, never zero. If all sources fail, the
Run fails. Check sourceCoverageComplete before treating results as comprehensive.
Dataset writes are sequential and never automatically retried. If a write fails after
partial delivery, saved items can remain accessible. Uncertain delivery counts are
null in failed OUTPUT. Restart of a run with prior output intent is rejected; start
a fresh run. No automatic cross-run deduplication is promised.
Privacy and limitations
Only public business and regulatory evidence is used. Personal license applicants, owner/architect names, phone numbers and mailing addresses are not selected for output. Optional raw fields are allowlisted; construction descriptions remain public work descriptions, not independently verified claims. No email, website, social profile, Google Maps or automated outreach enrichment is performed.
An application can concern an existing business or a change of operator. Commercial renovation does not guarantee a new opening. Missing units, incomplete identities, source delays and conservative matching affect recall. Nationwide coverage is absent.
Pricing and usage
Approved launch price: $0.005 per delivered qualified lead ($5 per 1,000),
with platform usage included. 100 leads cost $0.50; 500 cost $2.50; 1,000 cost $5.00.
Apify's standard apify-actor-start charge is separate: $0.00005 at 1024 MB.
There is no custom base/run fee. Private Cloud billing verification has passed; publication remains a separate step.
Every default Dataset item is one final lead. Apify automatically bills
apify-default-dataset-item; no custom qualified-lead event is charged. Source
records, signals, duplicates, merged-away entities, rejected/conflicting/below-threshold
candidates, source failures and OUTPUT are never result events. Zero leads means zero
result charges; the standard start event still applies. Optional low-confidence leads
must still satisfy the user's filters and are billed only when delivered.
The Actor respects the remaining run budget after startup, delivering only the affordable
prefix of the ranked results, always within maxResults. OUTPUT reports actual
datasetItems/returnedLeads and budgetTruncated=true when the spending cap removes
otherwise selected leads. Source coverage status is independent of budget truncation.
A smaller live population can also underfill maxResults without budget truncation.
Failed source/process runs may fail with no result charges. Failed appends can leave
successfully delivered, billable items; no automatic POST retry occurs. Interrupted or
restarted writes to an already used Dataset are rejected rather than replayed. A failed
delivery reports count null when its committed count is uncertain; inspect the Dataset
and platform event ledger. Fresh runs are independent purchases, not cross-run deduplication.
Use Apify API or schedules with the same input JSON. Export nested provenance as JSON; CSV is useful for the flat overview. Scheduling repeats a fresh source scan and can return previously observed leads. Contact the Actor's Store Issues/support route once published; during private preview, report run ID, INPUT, OUTPUT and stage logs to the owner.
Development and private deployment
Python 3.12; independent dependencies and storage, no imports from the NDIS Actor.
python3.12 -m venv .venv.venv/bin/python -m pip install -r requirements-dev.txt.venv/bin/python scripts/generate_schemas.py.venv/bin/pytest -q.venv/bin/ruff check ..venv/bin/ruff format --check ..venv/bin/python scripts/smoke_local.py.venv/bin/python scripts/smoke_local.py --ppe.venv/bin/python scripts/smoke_local.py --live examples/input.jsonapify rundocker build -t new-business-opening:local .
apify run uses storage/key_value_stores/default/INPUT.json; start with clean storage.
The smoke script uses temporary storage. Optional owner secret SOCRATA_APP_TOKEN
improves public API quotas; core operation requires no token.
Transport: 10s connect/pool/write, 45s read inactivity, three GET attempts for transport, 429 or 5xx failures, 1s/2s backoff, 180s per-source deadline. Four sources fetch concurrently. Pages contain at most 500 rows and responses at most 8 MiB. More than 25,000 rows per source fails that source explicitly; narrow the date window. Stable row ordering, repeated-row checks and before/after publisher update checks guard pagination, but the API does not provide a transactional snapshot. Entity comparisons cap at 500,000; exceeding this fails rather than silently truncating results.
Create a second independent private Apify Actor from:
git@github.com:Ken0002/apify-intelligence-actors.git#dev:actors/new-business-opening
Use a read-only deploy key, hide source files, LIMITED_PERMISSIONS, 1024 MB and 600
seconds: Cloud-verified and approved production settings. Keep the Actor private.
For private billing verification, configure PPE with Pay per event + usage OFF,
primary apify-default-dataset-item=$0.005, and apify-actor-start=$0.00005 only.
Do not add custom events or tier discounts; runtime rejects unapproved effective prices.
See the repository release checklist for spending-cap and event-ledger tests before main
or Store publication. Existing NDIS Actor source/settings must remain unchanged.