NYC Building Permits Scraper (DOB) avatar

NYC Building Permits Scraper (DOB)

Pricing

from $5.00 / 1,000 results

Go to Apify Store
NYC Building Permits Scraper (DOB)

NYC Building Permits Scraper (DOB)

Contractors & suppliers: daily leads on new NYC building permits. Filter DOB NOW permits by borough, ZIP, work type, date and keyword.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Levani Zurabiani

Levani Zurabiani

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Contractors & suppliers: daily leads on new NYC building permits. Filter DOB NOW permits by borough, ZIP, work type, date and keyword.

Data comes from NYC Open Data (Socrata SODA API), dataset: DOB NOW: Build – Approved Permits (rbx6-tga4). Results are clean, normalized JSON you can export as CSV, Excel or JSON.

Who is it for?

General contractors, subcontractors (plumbing, HVAC, solar, scaffolding), building-material suppliers, equipment rental companies, real-estate investors and analysts who want to know where construction work is starting in New York City.

Use cases

  • Daily lead list of newly issued permits in your trade and borough
  • Scheduled alerts (onlyNew: true) pushed to your CRM or Slack
  • Track construction activity and estimated job cost by neighborhood
  • Enrich property records with BIN/BBL and permit history

How to use

  1. Click Start and pick filters (the form is pre-filled with an example).
  2. Run the actor; results appear in the Output tab.
  3. Download as CSV/Excel/JSON, call the API, or schedule it with alert mode (onlyNew: true) for daily new-record alerts.

Example input:

{
"borough": "BROOKLYN",
"workType": "General Construction",
"keywords": [
"renovation"
],
"maxResults": 100
}

Input fields

FieldDescription
boroughFilter by borough. One of: MANHATTAN, BRONX, BROOKLYN, QUEENS, STATEN ISLAND.
zip5-digit NYC ZIP code.
dateFromInclusive start date (YYYY-MM-DD).
dateToInclusive end date (YYYY-MM-DD).
keywordsCase-insensitive; a record matches if any keyword appears in the searched text fields.
workTypeFilter by workType. One of: General Construction, Plumbing, Mechanical Systems, Structural, Full Demolition, Sprinklers, Standpipe, Foundation, Earth Work, Support of Excavation, Construction Fence, Sidewalk Shed, Supported Scaffold, Solar, Boiler Equipment, Antenna, Curb Cut, Sign.
maxResultsHard cap 10000.
onlyNewReturn only records not returned by previous runs of this actor (for scheduled alerts).
appTokenRaises NYC Open Data rate limits. Can also be set with env SOCRATA_APP_TOKEN.

Sample output

A real record (personal data removed):

{
"id": "B01381810-I1-GC-CX-2-367353784",
"source": "rbx6-tga4",
"jobFilingNumber": "B01381810-I1",
"workPermit": "B01381810-I1-GC-CX",
"filingReason": "Renewal Permit with Changes",
"workType": "Structural",
"permitStatus": "Permit Issued",
"borough": "BROOKLYN",
"houseNumber": "37",
"streetName": "BRIDGE STREET",
"zip": "11201",
"bin": "3329412",
"bbl": "3000327501",
"block": "32",
"lot": "7501",
"communityBoard": "302",
"nta": "Downtown Brooklyn-DUMBO-Boerum Hill",
"latitude": 40.703591,
"longitude": -73.984621,
"jobDescription": "East Spandrel Structural Repairs as per plans filed herewith. No change to use, egress, or occupancy.",
"estimatedJobCost": 278191.25,
"approvedDate": "2026-04-08",
"issuedDate": "2026-10-09",
"expiredDate": "2027-01-01",
"permitteeLicenseType": "GC",
"permitteeBusinessName": null,
"ownerBusinessName": null
}

Every record has these normalized fields (any can be null): id, source, jobFilingNumber, workPermit, filingReason, workType, permitStatus, borough, houseNumber, streetName, zip, bin, bbl, block, lot, communityBoard, nta, latitude, longitude, jobDescription, estimatedJobCost, approvedDate, issuedDate, expiredDate, permitteeLicenseType, permitteeBusinessName, ownerBusinessName.

Free sample (100 rows)

Download a free 100-row sample produced by this actor (personal data removed), no account needed:

Pricing

Pay per result: $5.00 per 1,000 results, plus $0.02 per new alert match. Platform compute is included.

ResultsCost
100$0.50
1,000$5.00
10,000$50.00

Alert example: a daily scheduled run with onlyNew: true that finds 15 new matching records costs 15 × ($0.005 + $0.02) = $0.375. An alert match is a record returned in alert mode that no earlier run returned.

Use maxResults to cap spending. Charges are billed through the Apify platform only.

Integrations

Connect results to Zapier, Make, Google Sheets, Slack, or your own backend with Apify integrations and webhooks (e.g. trigger on "run succeeded" and fetch the dataset). You can also call the actor through the Apify API or schedule it in Apify Console.

FAQ

How fresh is the data? NYC publishes DOB NOW approved permits to NYC Open Data daily; each run queries the live dataset.

Do I get contact details? No. Personal names, phones, emails and owner mailing addresses are removed. Business names are kept only when they are clearly a company (INC, LLC, CORP...).

Is personal data included? No. Personal names, phone numbers, emails and residential/owner mailing addresses are removed and this cannot be switched off. Business names are kept only when they clearly look like a company (INC, LLC, CORP...).

How many results can I get per run? Up to 10000 per run (maxResults). Narrow by date, borough, ZIP or keywords for larger pulls.

Do I need an NYC Open Data token? No. An optional Socrata app token (appToken) only raises rate limits.

Is the data official? It is public NYC Open Data, passed through as published. Verify important decisions with the issuing agency.

Running locally

ACTOR_INPUT='{"maxResults":10}' npx tsx actors/dob-permits/src/main.ts
# results -> ./storage/datasets/default/items.json

Disclaimer

This actor is not affiliated with, endorsed by, or sponsored by the City of New York or any of its agencies. Data is provided "as is" from NYC Open Data and may be incomplete, delayed or inaccurate. Check important information against official sources.