VOOZH about

URL: https://apify.com/paxiq/us-building-permit-scraper

⇱ US Building Permit Scraper β€” 248 Cities, Keyword Search [DEPRECATED] Β· Apify


πŸ‘ US Building Permit Scraper β€” 248 Cities, Keyword Search avatar

US Building Permit Scraper β€” 248 Cities, Keyword Search

Deprecated

Pricing

from $2.00 / 1,000 results

Go to Apify Store

US Building Permit Scraper β€” 248 Cities, Keyword Search

Deprecated

Keyword search across 248 US cities β€” find every solar, HVAC, roofing, or demolition permit in NYC, Chicago, LA, SF, Dallas, Seattle + 243 more. The only nationwide permit actor with keyword search. 63% US coverage. $0.002/result.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

πŸ‘ PaxIQ

PaxIQ

Maintained by Community

Actor stats

1

Bookmarked

34

Total users

3

Monthly active users

2 months ago

Last modified

Share

πŸ—οΈ US Building Permit Scraper β€” 248 Cities, Keyword Search

The only building permit actor with nationwide keyword search. Find every solar panel, HVAC, roofing, or demolition permit across NYC, Chicago, LA, SF, Dallas, Phoenix, Seattle, Miami, and 240+ more US cities β€” in a single run. Or pull by city + date range. At $0.002/result, half the price of alternatives.

Overview

Search for "solar", "HVAC", "demolition", or any phrase and get every matching permit back from all 248 supported cities in a single run. Or target a specific city and date range for a full permit pull.

Covers 63%+ of the US population across Accela, Socrata, ArcGIS, EnerGov, and 70+ city-specific scrapers β€” no configuration needed. Drop in a city name and go.

Supported platforms:

PlatformCitiesUS Pop CoverageKeyword Search
Accela16332.1%βœ…
EnerGov386.2%βœ…
Socrata6 (NYC, LA, Chicago…)11.7%βœ…
ArcGIS FeatureServer103.7%βœ…
Phoenix PDD (custom)11.1%βœ…
DC DCGIS10.5%βœ…
Portland MapServer10.4%βœ…
City-specific scrapers70+~10%βœ…

Total: 248 cities, 88M+ people covered

Input

Single city

{
"city":"Chicago",
"state":"IL",
"startDate":"2025-01-01",
"endDate":"2025-01-31"
}

Batch mode β€” multiple cities

{
"cities":[
{"city":"New York","state":"NY"},
{"city":"Los Angeles","state":"CA"},
{"city":"Dallas","state":"TX"}
],
"startDate":"2025-01-01",
"endDate":"2025-01-31"
}

Keyword search across all cities

{
"keyword":"solar",
"searchAllCities":true,
"startDate":"2025-01-20",
"endDate":"2025-01-27"
}

All input fields

FieldTypeDefaultDescription
citystringβ€”City name (e.g. "Chicago")
statestringβ€”State name or 2-letter abbreviation
citiesarrayβ€”Batch mode: [{city, state}, ...]
startDatestring7 days agoStart date YYYY-MM-DD
endDatestringtodayEnd date YYYY-MM-DD
maxPermitsinteger0 (unlimited)Max permits returned per city
keywordstringβ€”Filter permits by keyword (e.g. "solar", "HVAC", "demolition")
searchAllCitiesbooleanfalseSearch all 287+ supported cities. Best used with keyword.
includePlaywrightbooleanfalseWhen searchAllCities is true, also include Accela/EnerGov cities (163+ more, browser-based, slower). Auto-enabled when keyword is set.
maxCitiesPerRuninteger0 (unlimited)Cap cities when using searchAllCities
concurrencyApiinteger8Parallel scrapers for API-based cities
concurrencyBrowserinteger3Parallel browser instances for Accela/EnerGov
proxyConfigobjectβ€”Apify proxy config for Playwright scrapers

Output

Each record follows a normalized schema:

{
"permit_number":"B25-001234",
"city":"Chicago",
"state":"Illinois",
"address":"5139 S LECLAIRE AVE",
"permit_type":"PERMIT – EXPRESS PERMIT PROGRAM",
"description":"INSTALL SOLAR PANELS ON ROOF OF PRINCIPAL BUILDING",
"status":"COMPLETE",
"apply_date":"2025-01-02",
"issue_date":"2025-01-02",
"value":"18500",
"contractor":"SUNRUN INSTALLATION SERVICES INC",
"owner":"PROPERTY OWNER LLC",
"source_platform":"socrata",
"source_url":"https://data.cityofchicago.org/resource/ydr8-5enu.json",
"scraped_at":"2025-01-31T18:00:00+00:00"
}

Data is pulled live from city portals on each run β€” always current as of the moment the actor executes. Fields may be empty strings if not provided by the source portal.

Use Cases

  • Solar / roofing contractors β€” find recently permitted jobs in your market
  • Real estate & construction intel β€” track building activity by city, type, or contractor
  • Lead generation β€” new construction permits = new potential customers
  • Market research β€” permit volume trends by city or permit type
  • Compliance monitoring β€” track specific addresses or contractors

Supported Cities

248 cities across 40 states + DC. Sorted by population within each state. Don't see yours? Email daniel@paxiq.com to request it.

StateCities
AKAnchorage
ALBirmingham, Montgomery, Mobile, Huntsville
ARLittle Rock
AZPhoenix, Tucson, Mesa, Chandler, Gilbert, Scottsdale, Tempe, Yuma, Avondale, Goodyear
CALos Angeles, San Diego, San Jose, San Francisco, Fresno, Sacramento, Long Beach, Oakland, Bakersfield, Anaheim, Santa Ana, Riverside, Stockton, Chula Vista, Irvine, San Bernardino, Modesto, Fontana, Huntington Beach, Glendale, Santa Clarita, Ontario, Santa Rosa, Rancho Cucamonga, Elk Grove, Lancaster, Corona, Palmdale, Salinas, Escondido, Torrance, Pasadena, Thousand Oaks, Visalia, Roseville, Concord, Santa Clara, Berkeley, El Monte, Downey, Costa Mesa, Inglewood, Carlsbad, Fairfield, Richmond, Antioch, San Mateo, Jurupa Valley, Vista, Hesperia, Westminster, Santa Barbara, San Leandro, Whittier, Hawthorne, Citrus Heights, Livermore, Indio, Menifee, Chino, Napa, Chino Hills, Alameda, Pleasanton, Perris, Manteca, Yorba Linda, Walnut Creek, Pittsburg, Palo Alto, Davis, Yuba City
CODenver, Colorado Springs, Aurora, Fort Collins, Lakewood, Westminster, Boulder, Greeley, Longmont, Loveland
CTStamford, Hartford
DCWashington
FLJacksonville, Miami, Miami Beach, Tampa, St. Petersburg, Hialeah, Tallahassee, Fort Lauderdale, Port St. Lucie, Cape Coral, Pembroke Pines, Hollywood, Miramar, Gainesville, Coral Springs, Clearwater, Plantation, Deltona, Largo, Melbourne, Weston, Fort Myers
GAAtlanta, Columbus, Albany
HIHonolulu
IADes Moines
IDBoise, Meridian
ILChicago, Aurora, Naperville, Springfield, Arlington Heights, Evanston
INIndianapolis, Fort Wayne, South Bend, Carmel
KSWichita, Kansas City, Olathe, Topeka, Lawrence
KYLouisville
LANew Orleans
MABoston, Worcester, Springfield, Cambridge
MDBaltimore
MEPortland
MIDetroit, Grand Rapids, Rochester Hills
MNMinneapolis, St. Paul, Rochester, St. Cloud
MOKansas City, St. Louis, Independence, St. Joseph
MTMissoula
NCCharlotte, Raleigh, Greensboro, Durham, Fayetteville, Cary, Wilmington, High Point, Concord
NDFargo
NEOmaha, Lincoln
NJPaterson, Elizabeth
NMAlbuquerque, Las Cruces, Santa Fe
NVLas Vegas, Henderson, Reno, North Las Vegas, Sparks
NYNew York, Rochester, Syracuse, Albany
OHColumbus, Cleveland, Cincinnati, Dayton
OKOklahoma City, Tulsa
ORPortland, Salem, Eugene, Gresham, Hillsboro
PAPhiladelphia, Pittsburgh, Reading
SCCharleston
SDSioux Falls
TNMemphis, Nashville, Knoxville, Clarksville, Franklin
TXDallas, Austin, Fort Worth, El Paso, Arlington, Plano, Lubbock, Amarillo, Brownsville, Pasadena, McKinney, Mesquite, McAllen, Carrollton, Allen, Wichita Falls, Pharr, Coppell, Rosenberg, La Porte, Southlake, Princeton
UTSalt Lake City
VAVirginia Beach, Norfolk, Chesapeake, Richmond, Newport News, Alexandria
WASeattle, Spokane, Tacoma, Yakima, Pasco
WIMilwaukee, Madison
WVCharleston

Running Locally

# Install dependencies
pip install-r requirements.txt
playwright install chromium
# Single city
python src/main.py --city Chicago --state IL --start2025-01-01 --end2025-01-31
# Keyword search across all API cities
python src/main.py --keyword solar --all--start2025-01-20 --end2025-01-27
# With concurrency tuning
python src/main.py --keyword solar --all--start2025-01-01 --end2025-01-31 \
--concurrency-api 10 --concurrency-browser 3 --max-cities 50
# Via INPUT.json
echo'{"city":"Dallas","state":"TX","startDate":"2025-01-01","endDate":"2025-01-31"}'> INPUT.json
python src/main.py

Output is saved to output/<city>_permits.json.

Architecture

src/
β”œβ”€β”€ main.py Apify entry point β€” reads input, routes, pushes results
β”œβ”€β”€ router.py City β†’ platform routing + scraper adapters
β”œβ”€β”€ normalize.py Standardizes raw output to common 14-field schema
β”œβ”€β”€ accela_scraper.py Playwright β€” 163cities(keyword: form Description field)
β”œβ”€β”€ energov_scraper.py Playwright + httpx β€” 37 cities
β”œβ”€β”€ socrata_scraper.py httpx REST β€” NYC,LA, Chicago, Seattle,NOLA,more(keyword: $q)
β”œβ”€β”€ arcgis_scraper.py httpx REST β€” DC, Nashville, Minneapolis, Baltimore,more(keyword:WHERELIKE)
β”œβ”€β”€ phoenix_scraper.py httpx CSVexport β€” Phoenix,AZ
β”œβ”€β”€ portland_scraper.py httpx ArcGIS MapServer β€” Portland,OR
β”œβ”€β”€ dc_scraper.py httpx DCGIS multi-layer β€” Washington,DC
└── <city>_scraper.py 70+ city-specific scrapers
data/
└── cities_discovered.json 248 supported US cities with platform + portal URL

Concurrency model:

  • API scrapers (Socrata, ArcGIS, httpx): up to 8 parallel by default
  • Browser scrapers (Accela, EnerGov): up to 3 parallel (RAM-limited, ~300MB each)
  • Results stream to the dataset as each city completes β€” no waiting for all cities

Support & City Requests

Need a city that isn't listed? Email daniel@paxiq.com with the city name and state β€” new cities are added regularly and most can be turned around quickly.

Notes

  • Data is live β€” pulled directly from city permit portals on each run, not from a cached database. Results are always current as of the run time.
  • Playwright scrapers (Accela, EnerGov) run headless Chromium β€” slower but handle JS-heavy portals. Keyword search on Accela uses the portal's own Description field for server-side filtering.
  • API scrapers (Socrata, ArcGIS) push keyword filters to the server β€” only matching records are transferred.
  • maxPermits=0 means no limit β€” use with caution on large date ranges for major cities.
  • Some fields (contractor, owner, value) are not available from all city portals.

You might also like

Redfin Scraper

epctex/redfin-scraper

Discover key insights using Redfin's comprehensive property listings. Explore detailed descriptions, images, features, property specifics, pricing information, neighborhood data, nearby educational institutions, and more across numerous properties.

284

5.0

(7)

Canada Building Permits Data API

lentic_clockss/canada-building-permits-search

Search Canadian building permits across 4 major cities (Calgary, Edmonton, Toronto, Vancouver) via SIP API. Access 280K+ permit records including contractor names, project costs, and permit details.

US Building Permits Scraper

lentic_clockss/us-building-permits-scraper

Scrape building permit data from 8 major US cities and NJ statewide. Search by keyword (HVAC, solar, roofing, plumbing, electrical). Get permit type, address, contractor, cost, status, and dates. Powered by official Socrata Open Data APIs.

πŸ—οΈ US Building Permits Scraper β€” Construction Leads

inexhaustible_glass/us-building-permits-scraper

Scrape US building permits from official city open-data APIs. Construction lead-gen for solar, roofing, HVAC & contractors: fresh permits, trade filter, contractor name + phone, owner, project value, lead score. No proxy, no blocks β€” public records.

10

5.0

(2)

Building Permits Scraper - Contractor Leads API

pink_comic/building-permits-construction-leads

Scrape building permits from 1000+ US cities for $0.002/result. Find contractor leads with project values, addresses, dates, and permit types. Optimized for roofing, HVAC, solar, demolition, electrical, and construction sales teams.

Seattle Building Permits Scraper

parseforge/seattle-permits-scraper

Scrape building permits from Seattle Open Data (Socrata). Filter by date, type, address, applicant, contractor. Get permit number, status, costs, units, descriptions. No API key required.

US Building Permits API β€” NYC, Chicago, SF, Austin, Seattle, LA

opaldata/us-building-permits-scraper

Extract building permits from 6 major US cities via official open data APIs. Get permit numbers, addresses, costs, contractors, dates, descriptions, and coordinates. No browser or proxy needed β€” direct API access.

πŸ‘ User avatar

Orestis Palampougioukis

10

Building Permit Lead Scraper β€” Contractor Lead Generation

samstorm/building-permit-lead-scraper

Scrape building permit data from city open-data portals for contractor lead generation. Find properties with active renovation, roofing, HVAC, and construction permits.

19

Building Permits Scraper - Socrata Open Data (Multi-City)

bujhmml/building-permits-scraper

Scrape building and construction permits from any Socrata open-data portal (NYC, SF, Chicago, LA, and hundreds more). Pull issue date, permit and work type, status, address, contractor, owner, coordinates and every column the dataset exposes. HTTP-first, multi-city in one run.

πŸ‘ User avatar

Ihor Bielievskiy

2

Building Permit Leads Scraper - Contractor Phone & Email

intelscrape/building-permit-scraper

Turn building permits into scored contractor leads. Owner + contractor name, phone, email & license across 60+ US cities (any city via auto-discovery). HOT/WARM/COLD lead scoring, new-leads-only incremental mode, dedupe.

72

1.0

(1)