Data sources

Every row comes from a permit dataset that a city publishes on its own open data portal. We use the portal's API or bulk download. We do not scrape pages behind a login.

Datasets

Austin, TX issued construction permits

City
Austin, TX
Portal
https://data.austintexas.gov/d/3syk-w9eu
Dataset id
3syk-w9eu
Update cadence
Daily, as stated by the portal
Terms
Austin Open Data Portal terms of use (data.austintexas.gov). The dataset carries a contractor company name but no licence number.
City notice
The City of Austin describes this dataset as informational. It can differ from the official record, and the city accepts no liability for it.

Chicago, IL building permits

City
Chicago, IL
Portal
https://data.cityofchicago.org/d/ydr8-5enu
Dataset id
ydr8-5enu
Update cadence
Daily, as stated by the portal
Terms
City of Chicago data portal terms of use. Contractor of record comes from the numbered contact slots whose contact_N_type is a contractor role, kept as published even when it is a sole proprietor's personal name (owner decision, see docs/RUNBOOK.md Privacy rules). Contractor role values seen in probed data: CONTRACTOR-GENERAL CONTRACTOR, CONTRACTOR-ELECTRICAL, ELECTRICAL CONTRACTOR. Any role containing owner or applicant (for example OWNER, OWNER AS GENERAL CONTRACTOR, WEB APPLICANT) is never used. All other slots are dropped. The dataset has no licence number and no ZIP column.
City notice
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.

What we remove

Subscriber files carry the address and permit id as the city publishes them.

How we classify trades

Trade labels come from fixed rules. Where the city gives a permit category, such as an electrical, mechanical or plumbing permit type, we use it. Otherwise we match keywords in the permit type and work description. Each row gets a confidence score from the number and specificity of matches. No AI model runs when a customer asks for data or when files are built. The rules are plain text, so every change can be read.

Rules make mistakes. A permit can be filed under the wrong trade or missed. The trade column is our label, not the city's.