Building Permits Scraper - Multi-City Construction Leads avatar

Building Permits Scraper - Multi-City Construction Leads

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Building Permits Scraper - Multi-City Construction Leads

Building Permits Scraper - Multi-City Construction Leads

Building permits from dozens of city open-data portals in one run. Cities are discovered from the Socrata catalog, not a hand-kept list. Personal contact fields are dropped at the server.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

ABDULWAHAB NASER RASHED ALQARAWI

ABDULWAHAB NASER RASHED ALQARAWI

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Building Permits — Multi-City Construction Leads

Building permits from dozens of city open-data portals in a single run.

Cities are discovered, not hard-coded. Every competing Actor on this data is wired to a fixed list somebody maintains by hand. This one queries the Socrata open-data catalog, reads each dataset's own field list, and builds the request from what that city actually publishes. A new city appears in the catalog and it is covered without a code change.


Personal data is dropped at the server

Raw permit payloads carry real people. Chicago's has ten contact columns including contact_1_name; Calgary has applicantname.

Filtering those after download is not filtering — the data still travelled, still sat in a dataset, still leaks on a crash. So every request sends an explicit $select of the safe columns only, and the server never emits the rest.

Verified on a 1,800-row run across six cities: zero personal fields present.


What you get

One row per permit, normalised across cities that name everything differently.

FieldCoverage
address99%
permitType97%
description93%
declaredValue73%
issuedAt66%
city31%
contractor22%

Plus source, dataset, permitNumber, status, appliedAt, completedAt, fee, state, postcode, latitude, longitude, scrapedAt — and raw, which keeps every extra column that city publishes so a buyer who needs a local field still has it.

Newest first. Without an explicit sort these portals return insertion order, which hands back permits from 2006 — worthless as construction leads. Results are ordered by issue date descending wherever the city publishes one.


Use it for

  • Construction leads — filter declaredValue, sort by issuedAt
  • Contractor prospecting — who is pulling permits, and for what size of work
  • Market research — permit volume and declared value by city over time
  • Supplier targeting — match permitType to what you sell

Speed and cost

Measured, 1 Sep 2026: 1,800 permits from 6 cities in 60 seconds, 14 requests.

The catalog offered 43 city datasets; 15 of 16 sampled answered a plain request.


Honest notes

Coverage is uneven by design. city sits at 31% and contractor at 22% because many portals simply do not publish those columns. They come back null rather than the row changing shape — check the field you need before buying at scale.

Some portals stop answering. They are city IT departments, not APIs with an SLA. Unreachable cities are listed in the run report under skipped rather than failing the run.

Dates vary in format between portals; they are passed through as the city publishes them rather than being guessed into a single format.

Every run publishes a report to the key-value store under RUN_REPORT: cities covered, cities skipped and why, fields kept per city, and cost per 1,000.


Questions or a city that will not load?

Open an issue with the portal domain.