Building Permit Signal — new US permits, contractors, values
Pricing
from $5.00 / 1,000 permit records
Building Permit Signal — new US permits, contractors, values
New building permits from official open data of NYC, Chicago, SF, LA, Seattle, Austin, Cincinnati and Montgomery County MD. Filter by keyword, value and ZIP; contractor names where published; only new permits since your last run.
Pricing
from $5.00 / 1,000 permit records
Rating
0.0
(0)
Developer
tatsuya handa
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What is Building Permit Signal for?
Newly issued building permits are the earliest public sign that money is about to be spent on a property. This Actor reads the official open-data permit registries of eight US cities and counties, keeps only the permits that match your trade keywords, minimum value and ZIP codes, and in monitor mode returns only the permits it has not shown you before. Where the city publishes it, you also get the contractor's business name, trade and phone.
Typical users:
- Building-product and service vendors (roofing supply, HVAC, solar, windows, scaffolding, dumpsters, cleaning) who want the address and value of every new job in their territory the day it is permitted.
- Subcontractors and suppliers who want to know which general contractors are pulling permits right now.
- Lenders, insurers, proptech and real-estate investors tracking renovation and construction activity by ZIP.
- AI agents and workflows that need a clean JSON feed of "new construction activity" without scraping city portals.
No scraping of city websites: everything comes from the cities' own Socrata open-data APIs, so it does not break when a portal is redesigned and there is no proxy cost.
Sample output
A permit record (Seattle, roofing keyword):
{"type": "permit","change": "new","permitId": "seattle:6987654-CN","city": "seattle","cityName": "Seattle","issuedDate": "2026-09-03","permitType": "Building / Construction Permit","workType": "Single Family/Duplex","description": "Replace roof covering on existing single family residence, subject to field inspection","value": 42000,"address": "1234 NW 65TH ST","zip": "98117","contractorName": "RAIN CITY ROOFING LLC","contractorLicense": null,"contractorTrade": null,"contractorPhone": null,"status": "Permit Issued","sourceUrl": "https://cosaccela.seattle.gov/portal/customize/LinkToRecord.aspx?altId=6987654-CN","sourceDataset": "https://data.seattle.gov/d/76t5-zqzr","latitude": 47.676,"longitude": -122.362,"checkedAt": "2026-09-04T03:50:12.000Z","llmSummary": "Seattle: permit 6987654-CN issued 2026-09-03 (Single Family/Duplex), value 42000 at 1234 NW 65TH ST 98117; contractor RAIN CITY ROOFING LLC. Replace roof covering on existing single family residence, subject to field inspection"}
The first record of every run is a summary with counts per city, the number of permits with a named contractor, the sum of declared values and any source errors.
What you get
| Field | Meaning |
|---|---|
permitId | city:permit number, stable across runs |
issuedDate | Date the permit was issued (YYYY-MM-DD) |
permitType, workType | City's own permit type and work class / use |
description | Work description as filed |
value | Declared or estimated job value in USD (null when the city does not publish it) |
address, zip, latitude, longitude | Site of the work |
contractorName, contractorTrade, contractorPhone, contractorLicense | Contractor business details where the city publishes them |
status | Current permit status |
sourceUrl | Link to the city's permit record when available |
change | new (monitor mode), baseline (first run with emitBaseline) or snapshot |
llmSummary | One-sentence description for LLM agents and alerts |
Coverage
| City | Dataset | Contractor name | Value | ZIP |
|---|---|---|---|---|
| New York City (DOB NOW) | rbx6-tga4 | yes (business + license type) | yes | yes |
| Chicago | ydr8-5enu | yes (contractor contact) | yes | no |
| San Francisco | i98e-djp9 | no | yes | yes |
| Los Angeles | pi9x-tg5x | no | yes | yes |
| Seattle | 76t5-zqzr | yes | yes | yes |
| Austin | 3syk-w9eu | yes (+ trade, phone) | yes | yes |
| Cincinnati | uhjb-xac9 | yes | yes | yes |
| Montgomery County, MD | m88u-pqki | no | yes | yes |
Owner and applicant personal names are never exported; only business names, license numbers and business phones are.
Settings
| Input | Default | Notes |
|---|---|---|
cities | nyc, chicago, seattle, austin | Any subset of the eight registries |
keywords | – | Any-match, case-insensitive, against description, work type, permit type and contractor trade. Empty = all permits |
excludeKeywords | – | Drop permits containing any of these |
minValue | – | Minimum declared value in USD |
zipPrefixes | – | e.g. 981, 78701 |
contractorOnly | false | Only permits with a named contractor |
daysBack | 7 | Window of issue dates (1–90). Use 1–3 for daily schedules, up to 90 for a first snapshot |
mode | monitor | monitor = only permits not seen before; snapshot = everything matching |
watchlistId | default | Name for the memory of a watch. Filters are part of the key too |
emitBaseline | false | Emit the current permits on the first run of a watch (charged) |
maxPermits | 2000 | Cap per run, most recent first |
socrataAppToken | – | Optional; raises the open-data rate limit |
Monitor mode, watchlists and the free first run
- Choose a
watchlistId(e.g.seattle-roofing) and your filters. Run once. The first run is a free baseline: the Actor remembers the permits currently in the window and returns only a summary (no permit records are charged) unlessemitBaselineis on. - Schedule the same input daily. Each later run returns only permits issued since the last run and charges only for those.
- Different watchlists keep separate memories. Changing filters starts a new baseline for that watchlist.
Pricing: one run-summary event per non-baseline run, one permit event per permit record. No charge for Apify compute beyond the Actor start.
Example: solar and HVAC jobs over $20k in Austin and Seattle, daily
{"cities": ["austin", "seattle"],"keywords": ["solar", "hvac", "heat pump", "mechanical"],"minValue": 20000,"daysBack": 3,"mode": "monitor","watchlistId": "solar-hvac-tx-wa"}
Notes and limits
- Dates and values are whatever the city publishes; some registries lag a day or two behind the counter.
- Chicago does not publish ZIP codes; use
keywordsor the coordinates instead. - Los Angeles publishes with roughly a one-week lag; use
daysBack≥ 10 there. - Seattle and Austin publish contractor names and values only for a subset of permits.
- Chicago's contractor is taken from the first contact typed "…CONTRACTOR".
- New York City is served from DOB NOW (2020 onward). Legacy BIS permits are not included.
- Results are official public records provided as-is; verify licenses and values with the issuing authority before relying on them.
日本語
米国8都市・郡(ニューヨーク、シカゴ、サンフランシスコ、ロサンゼルス、シアトル、オースティン、シンシナティ、モンゴメリー郡)が公式オープンデータとして公開する建築許可の新規発行を取得します。キーワード(屋根・太陽光・空調など)、金額下限、ZIP で絞り込み、都市が公開している場合は施工業者の会社名・業種・電話も付きます。monitor モードでは前回以降に発行された許可だけを返し、初回はベースライン(無課金)です。個人名は出力しません。