Building Permits Scraper - 47 US Cities, Construction Leads
Pricing
from $2.00 / 1,000 results
Building Permits Scraper - 47 US Cities, Construction Leads
New building permits from 47 US cities & counties (Chicago, NYC, LA, DC, Philadelphia, San Antonio, San Jose, Miami-Dade, all of NJ...) via official open data. One schema, contractor business names. Filter by state. $2/1k.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Loomwise
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Building Permits Scraper: construction leads from 47 US cities and counties (one schema, no API key)
Get newly issued building permits from the official open-data portals of 47 US cities and counties, including Chicago, New York City, Los Angeles, San Francisco, Seattle, Austin, Boston, Philadelphia, Washington DC, Baltimore, San Antonio, San Jose, Pittsburgh, Nashville, Louisville, Columbus, Cleveland, Orlando, Miami-Dade County, San Diego County and the whole state of New Jersey. Use it as a building permit API for contractor and construction lead generation (roofing, solar, HVAC, remodeling, new construction). Every city comes back in one clean, unified schema: permit number, type, normalized work category, description, issue date, job valuation, project address, ZIP, coordinates, and the contractor business name where the city publishes one.
No scraping, no browser, no proxies. The Actor reads each city's public API (Socrata, ArcGIS REST, CKAN or Carto), so runs take seconds. A 7-day, 9-city pull (before the 2026-10 expansion) returns about 5,900 permits in about 4 seconds.
Who uses this
- Contractors, subcontractors and suppliers looking for fresh project leads: new construction, roofing, solar, HVAC, electrical, demolition.
- Building-material and equipment-rental sales teams tracking where work is starting.
- Proptech, insurance and lending analysts monitoring renovation and new-construction activity by ZIP or neighborhood.
- Market researchers and journalists comparing construction activity and valuations across major US cities.
Cities and sources (49 feeds, 47 cities and counties, 20 states + DC)
| Place | State | cities ID | Platform | Contractor business names | Source |
|---|---|---|---|---|---|
| Mesa | AZ | mesa_az | socrata | yes | dataset |
| Anaheim | CA | anaheim_ca | arcgis | yes | dataset |
| Citrus Heights | CA | citrus_heights_ca | arcgis | yes | dataset |
| Corona | CA | corona_ca | socrata | no | dataset |
| Los Angeles | CA | los_angeles | socrata | no | dataset |
| Marin County | CA | marin_county_ca | socrata | yes | dataset |
| San Diego County (unincorporated) | CA | san_diego_county_ca | socrata | yes | dataset |
| San Francisco | CA | san_francisco | socrata | no | dataset |
| San Jose (last 30 days feed) | CA | san_jose_ca | ckan | yes | dataset |
| Boulder | CO | boulder_co | arcgis | yes | dataset |
| Washington, DC (last 30 days feed) | DC | washington_dc | arcgis | some | dataset |
| Miami-Dade County (unincorporated) | FL | miami_dade_fl | arcgis | yes | dataset |
| Orlando | FL | orlando_fl | socrata | yes | dataset |
| Boise (high-impact permits) | ID | boise_id | arcgis | no | dataset |
| Chicago | IL | chicago | socrata | yes | dataset |
| Overland Park | KS | overland_park_ks | arcgis | no | dataset |
| Louisville Metro (active construction permits) | KY | louisville_ky | arcgis | some | dataset |
| Baton Rouge (East Baton Rouge Parish) | LA | baton_rouge | socrata | yes | dataset |
| New Orleans | LA | new_orleans | socrata | yes | dataset |
| Boston | MA | boston | ckan | some | dataset |
| Cambridge, MA (additions/alterations) | MA | cambridge_ma_alterations | socrata | yes | dataset |
| Cambridge, MA (new construction) | MA | cambridge_ma_new | socrata | no | dataset |
| Worcester | MA | worcester_ma | arcgis | some | dataset |
| Baltimore | MD | baltimore_md | arcgis | no | dataset |
| Montgomery County, MD (commercial) | MD | montgomery_county_md_commercial | socrata | no | dataset |
| Montgomery County, MD (residential) | MD | montgomery_county_md_residential | socrata | no | dataset |
| New Jersey (statewide, all municipalities) | NJ | new_jersey | socrata | n/a | dataset |
| New York City | NY | nyc | socrata | yes | dataset |
| Cincinnati | OH | cincinnati | socrata | yes | dataset |
| Cleveland | OH | cleveland_oh | arcgis | yes | dataset |
| Columbus | OH | columbus_oh | arcgis | yes | dataset |
| Delaware County (townships) | OH | delaware_county_oh | arcgis | yes | dataset |
| Philadelphia | PA | philadelphia | carto | yes | dataset |
| Pittsburgh | PA | pittsburgh_pa | ckan | no | dataset |
| Sumter | SC | sumter_sc | arcgis | no | dataset |
| Nashville (Davidson County) | TN | nashville_tn | arcgis | yes | dataset |
| Austin | TX | austin | socrata | yes | dataset |
| College Station | TX | college_station_tx | socrata | no | dataset |
| Collin County (appraisal district) | TX | collin_county_tx | socrata | some | dataset |
| Hutto | TX | hutto_tx | arcgis | no | dataset |
| San Antonio | TX | san_antonio_tx | ckan | yes | dataset |
| Tyler | TX | tyler_tx | arcgis | yes | dataset |
| Chesapeake | VA | chesapeake_va | arcgis | yes | dataset |
| Norfolk | VA | norfolk_va | socrata | no | dataset |
| Virginia Beach | VA | virginia_beach_va | ckan | no | dataset |
| Bellevue | WA | bellevue_wa | arcgis | yes | dataset |
| Everett | WA | everett_wa | socrata | yes | dataset |
| Pierce County (unincorporated) | WA | pierce_county_wa | socrata | no | dataset |
| Seattle | WA | seattle | socrata | some | dataset |
Refresh notes: most feeds update daily. Los Angeles updates weekly. New Jersey (statewide, every municipality) is published with a 2–3 month lag, so use issuedWithinDays of 120 or more for it. Washington DC's and San Jose's feeds cover the last 30 days only. Boise is high-impact permits only.
Privacy by design: no personal names
- Owner, applicant and individual contractor name columns are never requested from the city APIs.
- Where a city mixes people and companies in one column (Chicago contacts, Boston applicant, Cincinnati company), a name is kept only if it carries a legal-entity designator: LLC, Inc., Corp., Co., Company, Ltd., LP, LLP, PC, PLLC, or Joint Venture/JV. Strings like "ACME ELECTRIC CO / JOHN DOE" are split, and only the company part is kept.
- Emails and phone numbers inside free-text descriptions are masked.
- The address is the project site address the city publishes for the permit. Owner mailing addresses are never output.
Input
| Field | What it does | Default |
|---|---|---|
cities | Any IDs from the coverage table above | all |
states | 2-letter state codes, e.g. ["TX","FL"]; narrows the cities | none |
regions | northeast, midwest, south, west (US Census regions) | none |
issuedWithinDays | Permits issued in the last N days | 7 |
issuedFrom / issuedTo | Exact issue-date window (YYYY-MM-DD) | none |
workCategories | Normalized categories: New construction, Addition / alteration, Demolition, Roofing, Solar, Electrical, Plumbing, Mechanical / HVAC, Fire protection, Sign, Scaffold / shed / fence, Structural / foundation / earthwork, Other | all |
permitTypes | Words in the city's own permit type or work class, e.g. Sidewalk Shed, Commercial | none |
minValuation | Minimum declared job value in USD | none |
keywords | Words in the description, e.g. restaurant, ADU, pool, battery | none |
onlyWithContractor | Only permits that name a contractor business | false |
maxResults | Total cap across cities, newest first | 100 |
maxResultsPerCity | Optional cap per city | none |
Example: new construction worth $1M or more in the last 90 days, all cities:
{ "issuedWithinDays": 90, "workCategories": ["New construction"], "minValuation": 1000000, "maxResults": 5000 }
Output
{"city": "Austin","state": "TX","permitNumber": "2025-036109 EP","permitType": "Electrical Permit - Residential","workClass": "New","workCategory": "Electrical","description": "New 2-story SFR with pool - 5 beds 6 baths ...","status": "Active","appliedDate": "2023-09-06","issuedDate": "2026-10-17","valuation": null,"address": "1902 HOLLY HILL DR","zipCode": "78746","latitude": 30.26199033,"longitude": -97.80259078,"housingUnitsChange": 1,"squareFeet": 5758,"contractorBusinessName": "Jd Trusted Electric LLC","contractorRole": "Electrical Contractor","contractors": [{ "name": "Jd Trusted Electric LLC", "role": "Electrical Contractor" }],"permitUrl": "https://abc.austintexas.gov/web/permit/public-search-other?...","sourceUrl": "https://data.austintexas.gov/d/3syk-w9eu"}
Results from all cities are merged newest first, with same-day permits balanced across cities. The dataset has two views: Permits and Contractor leads. A RUN_SUMMARY record gives per-city counts and any city that was temporarily unavailable. One city being down never fails the whole run.
Run it daily
Schedule the Actor daily with issuedWithinDays: 2 and send new permits to Google Sheets, a webhook, Make, Zapier or your CRM.
Pricing
Pay per result: you are charged only for the permits returned. maxResults and your run's spending limit both cap the cost. See the Pricing tab.
FAQ
Is this legal to use? Yes. All sources are official city, county or state open-data portals (Socrata, ArcGIS Hub/REST, CKAN, Carto) published for public reuse. Several are public domain (Seattle, Austin, Cincinnati, Baton Rouge, Montgomery County MD, New Orleans under CC0) or ODC-PDDL (San Francisco, Boston). San Antonio (City of San Antonio, data.sanantonio.gov) and Pittsburgh (City of Pittsburgh via WPRDC) data are used under CC BY 4.0, and San Jose data under CC0. Philadelphia data is used under the City of Philadelphia open-data terms via OpenDataPhilly. Required notice, per Chicago's Data Terms of Use: "This site provides applications using data that has been modified for use from its original source, www.cityofchicago.org, the official website of the City of Chicago. The City of Chicago makes no claims as to the content, accuracy, timeliness, or completeness of any of the data provided at this site. The data provided at this site is subject to change at any time. It is understood that the data provided at this site is being used at one's own risk."
Why is Los Angeles empty for the last few days? LA refreshes its permit dataset weekly. Use issuedWithinDays of 14 or more for LA.
Why do some permits have no valuation or contractor? Cities publish different fields. For example, San Francisco and LA don't publish contractor names, and NYC trade permits often omit a valuation. Missing values are null, never guessed.
How is workCategory assigned? From each city's permit type and work class, using fixed keyword rules, with the description as a fallback. Use permitTypes to filter on the city's original wording.
Can you add my city? The Actor is built to add any Socrata, CKAN or ArcGIS open-data city. Open an issue with the dataset link.
Not affiliated with or endorsed by any of the cities listed.