NYC Building Permits & Construction Leads Scraper avatar

NYC Building Permits & Construction Leads Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
NYC Building Permits & Construction Leads Scraper

NYC Building Permits & Construction Leads Scraper

Export NYC DOB NOW approved building permits with project cost, work type, contractor, owner, address and geolocation. Filter nearly one million records for construction leads and market intelligence. No API key.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Logiover

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Categories

Share

Export current NYC DOB NOW approved building permits as clean, analysis-ready records. Each result combines the project address, issue date, work type, estimated job cost, applicant or contractor identity, license, owner details, job description and coordinates. The Actor uses the City of New York's public data service, needs no external API key and can produce hundreds of thousands of construction-market records.

What can you do with this Actor?

  • Build fresh construction lead lists by borough, work type, issue date and project value.
  • Find contractors, permit applicants, filing representatives and property owners already involved in active work.
  • Monitor renovation, plumbing, electrical, HVAC, structural and general-construction demand.
  • Enrich real-estate, insurance, lending, building-material and local-market datasets.
  • Export repeatable permit snapshots to Google Sheets, a database, BI tooling or your own API.

This is a bulk data Actor rather than a browser automation workflow. It reads the official DOB NOW: Build – Approved Permits dataset directly, so runs are fast, deterministic and not affected by website layout changes.

Input

All filters are optional. An empty input exports the newest permits first.

FieldTypeDescription
boroughsstring[]Exact borough names such as MANHATTAN, BROOKLYN or QUEENS.
workTypesstring[]Exact DOB work-type names, for example Plumbing, Electrical, General Construction or Mechanical Systems.
permitStatusesstring[]Exact permit statuses to include.
issuedSincedateEarliest permit issue date, inclusive.
issuedBeforedateLatest boundary date, exclusive.
zipCodesstring[]Project ZIP codes.
applicantBusinessContainsstringCase-insensitive applicant or contractor company search.
ownerBusinessContainsstringCase-insensitive property-owner company search.
minEstimatedJobCostnumberMinimum estimated project cost in USD.
maxResultsintegerMaximum unique permits to save, up to 500,000.

Example for recent higher-value Brooklyn work:

{
"boroughs": ["BROOKLYN"],
"issuedSince": "2026-01-01",
"minEstimatedJobCost": 100000,
"maxResults": 10000
}

Output

One dataset item represents one approved work-permit record. Important fields include:

FieldMeaning
permitRecordId, workPermitNumber, jobFilingNumberStable DOB identifiers for matching and deduplication.
issuedDate, approvedDate, expiredDate, permitStatusPermit lifecycle.
borough, address, zipCode, latitude, longitudeProject location.
workType, workOnFloor, jobDescription, estimatedJobCostScope and value signals.
applicantName, applicantBusinessName, applicantLicenseApplicant or contractor lead fields.
filingRepresentativeName, filingRepresentativeBusinessNameFiling representative fields.
ownerName, ownerBusinessName, ownerAddressProperty-owner information available in the source.
bin, block, lot, bblNYC property identifiers.
sourceUrl, scrapedAtLineage and export timestamp.
{
"workPermitNumber": "B01234567-I1-PL",
"issuedDate": "2026-07-31",
"borough": "BROOKLYN",
"address": "125 EXAMPLE AVENUE",
"workType": "Plumbing",
"estimatedJobCost": 185000,
"applicantBusinessName": "EXAMPLE CONTRACTING LLC",
"ownerBusinessName": "EXAMPLE OWNER LLC",
"latitude": 40.68,
"longitude": -73.95
}

Practical lead-generation patterns

For the freshest leads, set issuedSince to the beginning of the current month and sort downstream by issuedDate. Suppliers can segment by workType; lenders and insurers can combine project cost with address and owner fields; contractors can monitor filings outside their existing accounts. Large exports are paginated automatically, and each record is deduplicated by its DOB tracking identifier.

The source occasionally leaves individual columns blank because not every filing requires every field. The Actor preserves meaningful null values rather than inventing data.

Integrations and API

Run the Actor from the Apify Console, Scheduler, REST API, JavaScript or Python client. Dataset results can be downloaded as JSON, JSONL, CSV, Excel, XML or RSS, or connected to webhooks, Google Sheets, Make, Zapier and other Apify integrations.

curl -X POST "https://api.apify.com/v2/acts/logiover~nyc-dob-now-building-permits-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"boroughs":["QUEENS"],"maxResults":5000}'

The Actor can also be exposed as a tool through Apify's MCP server, allowing an AI agent to request current permit leads with structured filters.

FAQ

Does it need a NYC Open Data token? No. It works without an external API key.

How much data can it return? Up to 500,000 unique records per run, subject to the filters and records available in the official dataset.

Is this historical or current data? The source is the current DOB NOW approved-permits dataset and is updated by NYC.

Are contractor phone numbers or emails included? No. The source exposes business, person, address and license fields, not guaranteed phone or email data.

Why is estimated cost sometimes null? Some permit rows do not report a usable cost value.

Can I run it every day? Yes. Use an Apify schedule and an issue-date window, then deduplicate downstream by permitRecordId.

Can I filter arbitrary text in job descriptions? The current version focuses on stable lead filters. Export the records and apply free-text classification downstream when needed.

Is the data legal to use? The Actor accesses public NYC data. You remain responsible for your use, outreach rules and applicable privacy or marketing law.

Responsible use

This Actor is not affiliated with or endorsed by the New York City Department of Buildings. Data is provided as reported by the public source and may be corrected or updated later. Verify critical decisions against official records and use personal information responsibly.

NYC Building Permits & Construction scraping — frequently asked questions

Do I need a NYC Building Permits & Construction API key, account or login?

No. This Actor reads publicly available pages and feeds, so there is nothing to register for and no credentials to manage.

How do I export NYC Building Permits & Construction data to CSV, Excel, JSON or Google Sheets?

Open the Storage tab after a run and pick the format you want — CSV, Excel, JSON, XML or an HTML table. For Google Sheets, Airtable or a database, use the dataset URL or the Apify API so the sheet refreshes itself on every run.

Can I schedule this NYC Building Permits & Construction scraper to run daily or hourly?

Yes. Use the Schedules tab and pick a cadence. Daily is enough for most tracking work; pick hourly only if the rows you care about really do change that fast.

How many rows can I get, and what does it cost?

See the volume section above for a measured figure. Billing is per result, so you pay for the rows you actually receive and a run that finds nothing costs nothing.

This Actor collects only information that NYC Building Permits & Construction publishes publicly. It does not log in, does not defeat access controls and does not touch private data. You remain responsible for how you use the output, including under GDPR and similar rules where personal data is involved.

What happens if NYC Building Permits & Construction blocks the run or changes its layout?

A refused exit IP is swapped for a fresh one within a quarter of a second and retried, and rate limiting is waited out rather than fought. If nothing gets through, the run fails with the reason instead of reporting success with zero rows — so an empty result always means "no matches", never "the source would not answer".

Can I use this with an AI agent, LangChain or an MCP client?

Yes. The Actor is callable over the Apify API and through Apify's MCP server, so an agent can run it and read the dataset back as a tool call.

How to scrape NYC Building Permits & Construction without an API

NYC Building Permits & Construction has no public bulk export for this data, which normally leaves copy-and-paste or a custom crawler. This Actor is the second one, already built and maintained: it reads the public pages, follows the pagination, and hands back clean rows.

  1. Fill in the input below — the example is prefilled, so Start works straight away.
  2. Watch the log name each page it walks and how many rows each one returned.
  3. Export from Storage, or pull the dataset over the API into your own pipeline.

No API key, no account, no browser extension, no manual copying.

This Actor collects publicly available information from NYC Building Permits & Construction only. It does not log in, does not circumvent access controls, and collects no private data. You are responsible for using the output lawfully, including under GDPR and comparable regimes where the rows contain personal data, and for respecting NYC Building Permits & Construction's terms where they apply to you.

Changelog

2026-08-04

  • Initial release using the current DOB NOW approved-permits dataset.
  • Added bulk pagination, stable deduplication and no-key operation.
  • Added borough, work type, date, ZIP, business-name and project-cost filters.
  • Validated normalized identifiers, dates, lead fields, cost values and geolocation output.

*Maintained: last verified 2026-09-01 — checked end-to-end against live run history (reliability, output fields and types, and time/memory budgets).


Use cases

  • Export records in bulk and analyse them in a spreadsheet or database.
  • Track how the data changes over time by scheduling repeat runs.
  • Feed records into a dashboard, CRM or internal tool through the Apify API.
  • Build a research dataset without writing or maintaining a scraper.
  • Monitor NYC Building Permits & Construction Leads for new entries and alert your team when they appear.

Pricing

This Actor is pay per result: you are charged for the rows it writes to your dataset, not for the time it spends running. There are no platform fees to calculate on top, and higher Apify plans pay a lower rate per result. A run that returns nothing costs nothing.

Other Actors from the same collection: