ParseForge Scrapers

NYC Business Licenses Scraper

parseforge/nyc-business-licenses-scraper

Lead generation

Collects NYC DCWP business license records by category and status, returning each one as a flat row with official fields including business name, address, license type, and expiration date.

Run this scraper See the API call
Total runs
132
Bookmarked
0
Last modified
2 days ago

This scraper was last updated on .

What does the NYC Business Licenses Scraper return?

ParseForge

NYC Business Licenses Scraper

Scrape NYC business licenses from the DCWP public dataset, up to a million per run. Every record includes the business name, address, license type, status, and expiration date. No API key or registration required. Export to CSV, JSON, Excel, or XML.

The NYC Department of Consumer and Worker Protection (DCWP) publishes a searchable directory of licensed businesses, but browsing it page by page is slow and manual downloads are limited. This Actor reads the public license feed directly, filters by category or status as it goes, and returns every matching record in one flat table. You get a clean dataset of active pawnbrokers, sidewalk cafes, home improvement contractors, and dozens of other license types across the five boroughs.

Who uses it What they scrape NYC Department of Consumer and Worker Protection for
Compliance officers Verify that a vendor or contractor holds a current NYC license.
Market researchers Map the density of licensed businesses by borough and category.
Journalists Investigate licensing patterns, expirations, or enforcement gaps.
Real estate professionals Identify active sidewalk cafes or retail licenses near a property.

What it does

This Actor collects NYC DCWP business license records by category and status, and returns each one as a flat row with the official fields.

  • 🏷️ Category filter: narrow results to a single DCWP category like Pawnbroker, Sidewalk Cafe, or Home Improvement Contractor.
  • πŸ“‹ Status filter: collect only Active, Inactive, or Ready for Renewal licenses.
  • πŸ“Š Flat row output: every license returns as one row with the same columns, ready for pivot tables or joins.
  • ⚑ High volume: set maxItems up to 1,000,000 to pull the full dataset in one run.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with NYC Department of Consumer and Worker Protection data

πŸ“‹ Audit vendor compliance.

A compliance team runs the Actor weekly for Active Home Improvement Contractor licenses and cross-references the list against their vendor database to flag expired or missing credentials.

πŸ—ΊοΈ Map business density by neighborhood.

A market researcher pulls all Active Sidewalk Cafe licenses, geocodes the addresses, and builds a heatmap of outdoor dining concentration across Manhattan and Brooklyn.

πŸ“° Investigate licensing gaps.

A journalist collects all Inactive and Ready for Renewal licenses in a specific category, then compares the list to businesses still operating to identify potential enforcement issues.

🏒 Prospect for commercial tenants.

A real estate broker scrapes Active retail-related licenses in a target zip code, filters by expiration date, and reaches out to businesses whose licenses are nearing renewal as potential movers.

Why choose this scraper

What you get
Official source Data comes directly from the NYC DCWP public license directory.
No coding Set a category and status in the input fields and run, no API integration needed.
Full exports Download as CSV, JSON, Excel, or XML for any downstream tool.
Scheduled runs Set an Apify schedule to monitor new licenses or status changes automatically.

How it compares

No other Store actor targets NYC Department of Consumer and Worker Protection the same way, so the honest comparison is with the alternatives teams actually weigh.

NYC Business Licenses Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When NYC Department of Consumer and Worker Protection changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with an optional business category and license status, and filters run as each record is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the NYC Business Licenses Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to NYC Department of Consumer and Worker Protection through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/nyc-business-licenses-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your category and status filters. If you set a very specific category that has no licenses matching the selected status, the run will return zero records. Try running with no filters first to confirm data is available.

The run stopped before reaching my maxItems.

The Actor stops when it has read all available records matching your filters. If the DCWP directory has fewer licenses than your maxItems, the run ends early with the complete dataset.

Some fields are empty in my export.

Not every license record includes every field. The DCWP feed may omit optional data like a secondary address or contact phone. Empty cells are expected and reflect the source.

The run timed out.

Large maxItems values can take time. Increase the run timeout in the Apify actor settings, or reduce maxItems and run multiple smaller batches.

FAQ

Question Answer
What NYC agencies does this cover? It covers the Department of Consumer and Worker Protection (DCWP), which licenses over 50 types of businesses including pawnbrokers, sidewalk cafes, home improvement contractors, and electronics stores.
Can I filter by borough or zip code? The input schema does not include a direct borough or zip code filter, but every record includes the full address. You can filter by location after export in your spreadsheet or database.
How many licenses can I get in one run? You set the maximum with the maxItems field, up to 1,000,000 per run. The DCWP directory contains tens of thousands of records, so a single run can capture the full dataset.
Does this include license expiration dates? Yes, each record includes the license expiration date along with the issue date, status, and other official fields from the DCWP feed.
Is this an official NYC API? No, this Actor reads the same public data that appears on the DCWP website. It does not use an official API and does not require a key or registration.
Can I run this on a schedule? Yes, you can set a recurring schedule in Apify to run daily or weekly and receive only new or changed licenses by comparing runs.
What export formats are supported? You can export the dataset as CSV, JSON, Excel, or XML from the Apify run console.
Does it handle pagination automatically? Yes, the Actor follows the DCWP directory pages until it reaches your maxItems limit or exhausts the available records.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by City of New York. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

What input does the NYC Business Licenses Scraper accept?

FieldTypeWhat it doesDefault
maxItems integer How many licenses to collect per run. 10
category string Filter by DCWP category (e.g. Pawnbroker, Sidewalk Cafe). not set
licenseStatus string (4 options) Filter by license status. not set

How much does the NYC Business Licenses Scraper cost?

from $19.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.019 to $0.021

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

How do I call the NYC Business Licenses Scraper API?

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~nyc-business-licenses-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "maxItems": 10
  }'

What example inputs can I use?

Use these inputs to see how a run is configured.

input.json
{
  "maxItems": 10
}

What do users say about the NYC Business Licenses Scraper?

No reviews yet. Be the first.

How do I report an issue with the NYC Business Licenses Scraper?

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

What related scrapers can I use?

Run NYC Business Licenses Scraper on Apify All scrapers