Building Permits Scraper: City Open Data | $1/1K
Pricing
from $1.00 / 1,000 results
Building Permits Scraper: City Open Data | $1/1K
$1 per 1,000 results, platform usage included. Issued building permits from the open data portals of 13 US cities and counties (NYC, Chicago, Los Angeles, Austin, Seattle and more): permit number, type, value, address, contractor, dates. No key.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
One Dollar Store
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Building Permits Scraper: Issued Permits from 13 US City and County Open Data Portals
$1 per 1,000 permits. Platform usage included. No rental, no minimum.
The four most used building permit actors on Apify Store charge $2.00 to $10.00 per 1,000 permits (Store prices checked 9 October 2026). This actor returns the same kind of data for $1.
New to Apify? [Create a free account](https://www.apify.com?fpr=ymnoit) (referral link). Runs from a free plan account return the first 10 results; any paid plan returns everything you ask for, up to your limit.What it costs
| Permits | This actor | Most used building permit actors on the Store |
|---|---|---|
| 1,000 | $1.00 | $2.00 to $10.00 |
| 10,000 | $10.00 | $20 to $100 |
| 100,000 | $100.00 | $200 to $1,000 |
Plus $0.001 per run. A weekly pull of 1,000 new permits costs about $1.00 per run, or about $4 a month.
Cities and counties covered
The actor reads the official open data portals (Socrata, public API, no key) of these places. Each has its own dataset of issued permits, and all are mapped to the same fields.
| Choose in the input | Place | Dataset |
|---|---|---|
new-york-ny | New York City | Department of Buildings, DOB NOW approved permits |
chicago-il | Chicago | Department of Buildings permits |
los-angeles-ca | Los Angeles | Building and Safety, permits issued 2020 to present |
austin-tx | Austin | Development Services, issued construction permits |
seattle-wa | Seattle | Construction and Inspections, building permits |
san-francisco-ca | San Francisco | Department of Building Inspection permits |
orlando-fl | Orlando | Permit applications |
cincinnati-oh | Cincinnati | Building permits |
new-orleans-la | New Orleans | Permits (BLDS) |
baton-rouge-la | Baton Rouge and East Baton Rouge Parish | Building permits |
mesa-az | Mesa | Building permits |
montgomery-county-md-commercial | Montgomery County, Maryland | Commercial permits |
montgomery-county-md-residential | Montgomery County, Maryland | Residential permits |
prince-georges-county-md | Prince George's County, Maryland | DPIE residential and commercial permits |
Cities whose permits are published on other platforms, for example Boston and Philadelphia, are not covered. This list is fixed in the actor, so a new city needs a new release.
Why people switch
- One flat price. Compute is included, so the bill follows the number of permits and nothing else. The portals need no proxy and no key.
- One set of fields. Permit number, type, work type, description, status, dates, value, address, coordinates and contractor are named the same in every city.
- Filters that run at the source. Date range and description words are applied by the portal. Project value is applied by the portal for eight datasets and inside the actor for New York, Los Angeles, San Francisco, Austin, Cincinnati and Mesa. You only pay for rows that match.
- Honest about gaps. Fields a city does not publish are left out, and the list below says which.
Quick start
- Open the actor, choose cities, press Start.
- Or paste this input:
{ "cities": ["austin-tx", "seattle-wa", "chicago-il"], "searchTerms": ["solar"], "dateFrom": "2026-09-01", "maxItems": 200 }
- Download the results as JSON, CSV or Excel, or read them through the API.
Use it from code
curl -X POST "https://api.apify.com/v2/acts/one_dollar_store~city-building-permits-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"cities": ["austin-tx", "seattle-wa"], "maxItems": 100}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("one_dollar_store/city-building-permits-scraper").call(run_input={"cities": ["austin-tx", "seattle-wa"], "maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["issuedDate"], item["portalName"], item["permitType"], item.get("valuation"), item["address"])
Use it from an AI assistant
Claude, ChatGPT, Cursor and other assistants can call this actor through Apify's MCP server. Add it with this server address:
https://mcp.apify.com?tools=one_dollar_store/city-building-permits-scraper
Then ask, for example: "Get permits for new solar installations issued in Los Angeles and Chicago in the last two weeks."
Switching from another building permits actor
Most permit actors take a city, a date range and a result limit. Here they are cities (a list of the ids above), dateFrom, dateTo and maxItems. The core output fields are permitNumber, permitType, description, status, issuedDate, valuation, address and contractorName.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
cities | list | austin-tx, seattle-wa | Which portals to read, using the ids in the table above. |
dateFrom, dateTo | text | 30 days up to today | Issue date range as 2026-09-01. |
searchTerms | list of text | none | Keep permits whose description contains any of these words, for example solar or roof. Not case sensitive. |
minValuation, maxValuation | number | none | Project value range in US dollars. Permits without a stated value are left out when either is set. |
maxItemsPerCity | number | 0 | Optional cap per city so the first city cannot use the whole run. 0 means none. |
includeRaw | true or false | false | Adds a raw object with the portal's own columns (up to 60 fields, long text cut at 200 characters). |
maxItems | number | 100 | Total permits for the run. Minimum 10. |
Cities are read in the order you give them. Example:
{"cities": ["new-york-ny", "los-angeles-ca", "chicago-il"],"searchTerms": ["solar", "photovoltaic"],"minValuation": 20000,"dateFrom": "2026-09-01","maxItemsPerCity": 300,"maxItems": 900}
Output fields
| Field | Meaning |
|---|---|
portal, portalName | The id you chose and the city or county name. |
permitNumber, permitType, workType | The permit, its type and the kind of work, as the portal words them. |
propertyClass, propertyUse | Residential or commercial class, and the building use, where published. |
description, status | What the permit covers and its status. |
appliedDate, issuedDate, completedDate, expiresDate | Dates as 2026-10-06. |
valuation, squareFeet, housingUnits | Stated project value in US dollars, floor area and housing units, where published. |
address, borough, city, state, zip, latitude, longitude | Where the work is. |
contractorName, applicantName, ownerName | Who is named on the permit, where published. |
permitUrl | A link to the permit record, where the portal gives one. |
dataset, datasetUrl, scrapedAt | The source dataset and its page, and the collection time. |
raw | The portal's own fields. Only with includeRaw. |
Sample results
Real rows from a test run on 9 October 2026, with descriptions shortened.
[{"portal": "austin-tx", "portalName": "Austin", "permitNumber": "2026-091667 PP", "permitType": "Plumbing Permit", "workType": "New","propertyClass": "Residential", "status": "Active", "issuedDate": "2026-10-07", "address": "8105 PEERLESS PASS", "city": "AUSTIN", "state": "TX","zip": "78744", "contractorName": "Victory Plumbing Company","permitUrl": "https://abc.austintexas.gov/web/permit/public-search-other?t_detail=1&t_selected_folderrsn=13738794","datasetUrl": "https://datahub.austintexas.gov/d/3syk-w9eu"},{"portal": "seattle-wa", "portalName": "Seattle", "permitNumber": "7136366-CN", "permitType": "Building", "workType": "New","propertyClass": "Residential", "status": "Ready for Issuance", "issuedDate": "2026-10-07", "valuation": 781487,"description": "Construct new East one family dwelling (Unit A) per plan. (Establish use as housing for detached dwe ...","address": "12017 10TH AVE NW", "city": "SEATTLE", "state": "WA", "zip": "98177","permitUrl": "https://services.seattle.gov/portal/customize/LinkToRecord.aspx?altId=7136366-CN", "datasetUrl": "https://cos-data.seattle.gov/d/76t5-zqzr"}]
Limits
- Fixed list of places. Only the 13 places in the table are covered. Permits that are not on those portals are not found.
- Each city publishes different things. Gaps seen in a test of every portal on 9 October 2026: Los Angeles, San Francisco and both Montgomery County datasets show no contractor; Chicago shows no ZIP code; Baton Rouge has no status; Prince George's County has only the permit type, case name, cost, address and issue date; Orlando and Prince George's County gave no coordinates in the rows we saw; Austin leaves out the value on many permits. A missing field is left out of the row, never guessed.
- Not every permit. The portals publish what each city chooses to release. New York covers DOB NOW permits only, and Los Angeles covers permits issued from 2020. Some portals publish only building permits, others include electrical, plumbing and other trades.
- Status words are the city's. Seattle, for example, can show
Ready for Issuancefor a permit that already has an issue date. Check the status before you treat a permit as final. - Names and values as filed. Text is as the city stores it, often in capitals.
valuationis the value on the permit, which is not always the true construction cost, and some permits show 0 or no value. - Portal delay. Portals refresh on their own schedule, usually daily. When we tested on 9 October 2026 the newest permit in most portals was issued on 5 to 7 October, in Los Angeles on 3 October, in Prince George's County on 25 September and in Orlando on 23 September.
- Description search is plain text.
searchTermslooks for the word anywhere in the description, soroofalso findsroofingandproof. - Pace. A check of all 14 datasets with 3 permits each took 13 seconds. The portals return up to 1,000 rows per call. Large runs are paced by the platform's one row at a time delivery.
FAQ
What is the cheapest building permits scraper on Apify? This actor costs $1 per 1,000 permits with platform usage included. The most used building permit actors on the Store charged $2.00 to $10.00 per 1,000 when we checked on 9 October 2026.
How much does it cost to scrape 10,000 building permits? $10, plus $0.001 for each run.
Do I pay for compute or proxy on top? No. Platform usage is included in the $1 per 1,000 price. The portals are read directly, so no proxy is used.
Which cities are covered? The 13 places in the table near the top of this page: New York, Chicago, Los Angeles, Austin, Seattle, San Francisco, Orlando, Cincinnati, New Orleans, Baton Rouge, Mesa, Montgomery County (Maryland) and Prince George's County (Maryland).
Can you add my city? A city can be added if its permits are on a public Socrata portal without a key. Each one needs its own field mapping, so it comes with a new release of the actor.
How do I find contractor leads?
Pick cities that publish a contractor (New York, Chicago, Austin, Seattle, Orlando, Cincinnati, New Orleans, Baton Rouge and Mesa), filter by searchTerms and minValuation, and use contractorName. Check what each portal publishes before you rely on it.
Is it legal? The actor reads public data only, with no login. The permits are open government data that cities publish for anyone. They can include names and addresses of people, so follow privacy and marketing rules such as TCPA and CAN-SPAM, each portal's terms, and the law where you live.
Is this an official city or Socrata product? No. It is an independent tool and is not affiliated with or endorsed by any city, county or Socrata.
Do I need an Apify account? Yes. Actors run from an Apify account, and a free account is enough to start: it includes $5 of platform usage every month. You can sign up here. This is a referral link and it costs you nothing.
Is there a limit on the free plan? Yes. A run started from a free plan account delivers the first 10 results, then ends with a message and a link to the plans. Any paid plan returns everything you ask for, up to your own limit. The price per result is the same on every plan.
More from The One Dollar Store
Every actor here costs $1 per 1,000 results, platform usage included. See the whole store: https://apify.com/one_dollar_store
Real estate
- Zillow Rentals Scraper: US rentals by city, ZIP or search link.
- Zillow Sold Homes Scraper: Recently sold US homes with prices and dates.
- Zillow Photos Scraper: Every photo of a Zillow listing.
Google and search
- Google News Scraper: News articles by keyword, topic or country.
Changelog
- October 2026: first release.