NYC Building Permits Scraper
Pricing
from $3.00 / 1,000 results
NYC Building Permits Scraper
Extract 4.87M+ building permit records from NYC Open Data. Filter by borough, ZIP, job type, date range. Get owner names, addresses, costs, GPS coordinates, and 42 normalized fields. No browser needed โ fast, reliable API calls.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share

๐๏ธ NYC Building Permits Scraper
๐ Extract building permit records from NYC Open Data. Filter by borough, ZIP code, job type, and date range. Get owner names, addresses, costs, GPS coordinates, and 42 normalized fields per permit.
๐ Last updated: 2026-04-16
Collect building permit data from NYC Open Data without coding. Extract owner names, addresses, permit types, costs, GPS coordinates, and 42 normalized fields from 4.87M+ active and historical permits. Filter by borough, ZIP code, job type, and filing date to monitor construction activity, track contractor projects, or discover neighborhood development patterns.
Whether you are a real estate investor tracking new construction, a contractor identifying project leads, or a market analyst studying development trends across NYC boroughs, this tool delivers structured permit data ready for analysis. No browser needed - fast, reliable API-based extraction.
| Target | NYC Open Data - Department of Buildings permits |
|---|---|
| Use Cases | Construction monitoring, contractor research, real estate intelligence, neighborhood analysis |
๐ What it does
- ๐ข Extracts job numbers, permit types, and current filing status for every permit record
- ๐ Collects full street addresses plus GPS latitude and longitude for mapping and location analysis
- ๐ค Returns owner names, business types, phone numbers, and license numbers for applicants and permittees
- ๐ฐ Captures estimated project costs to track investment scale and neighborhood development spending
- ๐ Includes filing, issuance, expiration, and job start dates for monitoring permit lifecycle
- ๐๏ธ Provides community board, council district, census tract, and NTA code for geographic segmentation
Each permit record is normalized across both the active DOB NOW and historical datasets, giving you a consistent 42-field output regardless of the data source. This makes it easy to compare permits across time periods and boroughs without manual cleanup.
๐ก Why it matters: NYC issues thousands of building permits each month. Manual tracking through the DOB website is slow and limited to one-at-a-time lookups. This scraper automates bulk collection with filtering so you can focus on analysis instead of data gathering.
๐ฌ Full Demo
๐ง Coming soon
โ๏ธ Input
| Field | Type | Description |
|---|---|---|
| Borough | Select | Filter by NYC borough (Manhattan, Brooklyn, Queens, Bronx, Staten Island). Leave empty for all. |
| Zip Code | Text | Limit results to a specific ZIP code (e.g., 10001) |
| Job Type | Select | NB (New Building), A1 (Major Alteration), A2/A3 (Minor), DM (Demolition) |
| Date From | Text | Only include permits filed on or after this date (YYYY-MM-DD) |
| Date To | Text | Only include permits filed on or before this date (YYYY-MM-DD) |
| Dataset | Select | Choose dob_now (active), historical, or both (default) |
| Max Items | Number | Free users: Limited to 10 items. Paid users: up to 1,000,000 |
Example 1: New buildings in Manhattan
{"borough": "MANHATTAN","jobType": "NB","dateFrom": "2025-01-01","maxItems": 100}
Example 2: All permits in a specific ZIP code
{"zipCode": "10001","dataset": "both","maxItems": 50}
โ ๏ธ Good to Know: Free users are limited to 10 results per run. Date filters use YYYY-MM-DD format. When no borough or ZIP is specified, the scraper returns permits across all five boroughs.
๐ Output
๐งพ Schema
| Emoji | Field | Type | Description |
|---|---|---|---|
| ๐ข | jobNumber | String | Unique construction project identifier |
| ๐บ๏ธ | borough | String | NYC borough name |
| ๐ | address | String | Full street address |
| ๐ฎ | zipCode | String | ZIP code |
| ๐๏ธ | block | String | Tax block number |
| ๐ท๏ธ | lot | String | Tax lot number |
| ๐ | bbl | String | Borough-block-lot identifier |
| ๐ข | bin | String | Building identification number |
| ๐๏ธ | jobType | String | Permit job type (NB, A1, A2, A3, DM) |
| ๐จ | workType | String | Type of work performed |
| ๐ | jobDescription | String | Description of the construction project |
| ๐ฐ | estimatedCost | Number | Estimated project cost |
| ๐ค | ownerName | String | Property owner name |
| ๐ผ | ownerBusiness | String | Owner business name |
| ๐ข | ownerBusinessType | String | Owner business entity type |
| ๐ | ownerPhone | String | Owner phone number |
| ๐ค | applicantName | String | Applicant name |
| ๐ผ | applicantBusiness | String | Applicant business name |
| ๐ | applicantLicense | String | Applicant license number |
| ๐ค | permitteeName | String | Permittee name |
| ๐ผ | permitteeBusiness | String | Permittee business name |
| ๐ | permitteePhone | String | Permittee phone number |
| ๐ | permitteeLicense | String | Permittee license number |
| ๐ท๏ธ | permitType | String | Type of permit issued |
| ๐ | filingDate | String | Date the permit was filed |
| ๐ | issuanceDate | String | Date the permit was issued |
| โฐ | expirationDate | String | Permit expiration date |
| ๐ | jobStartDate | String | Project start date |
| โ | permitStatus | String | Current permit status |
| ๐ | filingStatus | String | Filing status |
| โ๏ธ | selfCertified | Boolean | Whether the permit is self-certified |
| ๐ค | nonProfitStatus | String | Non-profit status indicator |
| ๐ข | buildingType | String | Type of building |
| ๐๏ธ | communityBoard | String | Community board number |
| ๐ณ๏ธ | councilDistrict | String | City council district |
| ๐ | censusTract | String | Census tract code |
| ๐ | ntaCode | String | Neighborhood tabulation area code |
| ๐ | latitude | Number | GPS latitude coordinate |
| ๐ | longitude | Number | GPS longitude coordinate |
| ๐ฆ | sourceDataset | String | Which dataset the record came from |
| ๐ | scrapedAt | String | Timestamp when data was collected |
| โ ๏ธ | error | String | Error message if extraction failed |
โจ Why choose NYC Building Permits Scraper
| Feature | Details |
|---|---|
| ๐ข 4.87M+ permit records | Access active and historical permits across all five NYC boroughs |
| ๐ฏ Targeted filtering | Filter by borough, ZIP code, job type, and date range |
| ๐ 42 normalized fields | Consistent output format across DOB NOW and historical datasets |
| ๐ GPS coordinates | Latitude and longitude for every permit for mapping and spatial analysis |
| ๐ค Contact details | Owner, applicant, and permittee names, phone numbers, and license numbers |
| โก Fast API extraction | No browser overhead - direct API calls for quick results |
| ๐ฆ Multiple exports | Download as JSON, CSV, or Excel |
๐ 20 successful runs in the last 30 days with 100% success rate
โจ Why choose this Actor
| Capability | |
|---|---|
| ๐ฏ | Built for the job. Scoped specifically to this data source so you skip the parser engineering entirely. |
| ๐ | Structured output. Clean, typed fields ready for analysis, dashboards, or downstream pipelines. |
| โก | Fast. Optimized request patterns return results in seconds, not minutes. |
| ๐ | Always fresh. Every run pulls live data, so the dataset reflects the source as of run time. |
| ๐ | No infra to manage. Apify handles proxies, retries, scaling, scheduling, and storage. |
| ๐ก๏ธ | Reliable. Battle-tested across many runs and edge cases, with graceful error handling. |
| ๐ซ | No code required. Configure in the UI, run from CLI, schedule via cron, or call from any language with the Apify SDK. |
๐ Production-grade structured data without the engineering overhead of building and maintaining your own scraper.
๐ How it compares
| Feature | NYC Building Permits Scraper | Other Tools |
|---|---|---|
| Records available | 4.87M+ | Limited |
| Borough + ZIP + Job Type filters | Yes | Partial |
| 42 normalized fields per record | Yes | Fewer fields |
| GPS coordinates included | Yes | Rarely |
| Owner and permittee contacts | Yes | No |
| Active + historical datasets | Yes | Usually one |
| No browser required | Yes | Often needs browser |
| Export formats | JSON, CSV, Excel | Varies |
๐ How to use
- Sign up - Create a free account with $5 credit
- Find the tool - Search for "NYC Building Permits Scraper" in the Apify Store
- Configure filters - Select your borough, ZIP code, job type, and date range
- Run it - Click "Start" and wait for results
- Export data - Download as JSON, CSV, or Excel, or connect to Google Sheets
๐ผ Business use cases
| ๐ Real Estate Investors Monitor new construction permits in target neighborhoods to identify emerging development hotspots before prices rise | ๐จ Contractors Track competitor activity and find new building projects with known budgets for subcontracting leads |
| ๐ข Market Analysts Analyze permit trends by borough and job type to forecast construction spending and validate real estate hypotheses | ๐ Compliance Teams Monitor permit status and expiration dates across your portfolio of construction projects |
๐ Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
๐ค Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- ๐ฌ ChatGPT
- ๐ง Claude
- ๐ Perplexity
- ๐ Copilot
๐ฐ How much does it cost?
Apify gives you $5 in free monthly credits on the Apify Free plan, enough to test NYC Building Permits Scraper and pull a real sample dataset. For ongoing usage:
- Starter plan ($49/month) โ Recommended for individuals running NYC Building Permits Scraper regularly. Includes higher concurrency and larger datasets.
- Scale plan ($499/month) โ Recommended for teams running NYC Building Permits Scraper at production scale.
Pay-Per-Event pricing means you only pay for what you actually use. Failed runs are never charged. See the Pricing tab on this Actor's page for exact event prices.
๐ก Tips for using NYC Building Permits Scraper
- Start with a small
maxItems(3-10) to validate output format before running larger jobs. - Use Apify Schedules to run NYC Building Permits Scraper on a recurring basis and keep your dataset fresh.
- Export via Integrations: Apify connects to Google Sheets, Airbyte, Make, Zapier, and direct webhooks โ pipe your data anywhere.
- Monitor with webhooks: trigger downstream workflows the moment a run finishes.
- Re-run failed items: if any individual records error out, re-run with their inputs only. Failed events are not charged.
โ๏ธ Is it legal to use NYC Building Permits Scraper?
Yes. NYC Building Permits Scraper only collects publicly available data. Web scraping public data has been confirmed as legal by US courts (see hiQ Labs v. LinkedIn) and is widely used for research, market analysis, and business intelligence.
However, you are responsible for:
- Respecting the source website's Terms of Service.
- Complying with GDPR, CCPA, and other applicable data-protection laws when personal data is involved.
- Not republishing copyrighted content without permission.
If you have specific compliance concerns, consult your legal team. See the Apify legal docs for more.
โ Frequently Asked Questions
๐ Automating with code
Node.js example:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor("parseforge/nyc-building-permits-scraper").call({borough: "MANHATTAN",jobType: "NB",maxItems: 100});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python example:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("parseforge/nyc-building-permits-scraper").call(run_input={"borough": "MANHATTAN","jobType": "NB","maxItems": 100})items = list(client.dataset(run["defaultDatasetId"]).iterate_items())print(items)
See the Apify API docs for more integration options.
๐ Integrate with your tools
- Make - Automate workflows with permit data
- Zapier - Connect with 5,000+ apps
- GitHub - Version control integration
- Slack - Get notifications when runs complete
- Airbyte - Data pipeline integration
- Google Drive - Export directly to spreadsheets
๐ Integrate with any app
NYC Building Permits Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get run notifications in your channels
- Airbyte - Pipe results into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes. Push fresh data into your product backend, or alert your team in Slack.
๐ Recommended Actors
| Actor | Description |
|---|---|
| Commercial Property Transactions Scraper | Collect recently sold property transactions from PropertyShark for all NYC boroughs |
| Greatschools Scraper | Get school information, ratings, reviews, and demographics from GreatSchools |
| Redfin Scraper | Collect property listings with 40+ fields per property from Redfin |
| Domain Real Estate Scraper | Extract Australian property data from Domain.com.au |
| Rightmove Property Scraper | Collect UK property listings with descriptions and photos |
Browse our complete collection of data extraction tools for more.
๐ Need Help?
- Check the FAQ section above for common questions
- Visit the Apify documentation for platform guides
- Contact us to request a new scraper, propose a custom project, or report an issue at Tally contact form
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by NYC Open Data, the New York City Department of Buildings, or the City of New York. All trademarks mentioned are the property of their respective owners.