TX Austin Building Permits
Pricing
from $0.08 / 1,000 permit records
TX Austin Building Permits
Austin, TX building permits (public open data, 2.37M records) - the city's full consolidated permit file (electrical/plumbing/building/mechanical) with the contractor behind each job plus valuation, housing units and status. Filter by office/contractor/valuation or aggregate.
Pricing
from $0.08 / 1,000 permit records
Rating
0.0
(0)
Developer
Wenhao Yang
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
TX Austin Building Permits - the City's Full Consolidated Permit File
The City of Austin publishes its entire building-permit file - every permit issued since 1921 across the five offices the city consolidates into one register - as open data. This actor turns that register into a charged-per-record lookup and filter tool that carries what the national building-permit aggregators don't: the contractor behind each job.
Built for: construction lead-gen (which contractor is pulling work where - and how to reach them), homebuilder & development research, property diligence, and permitting-activity analysis by council district or office.
What it covers
~2.38M permits - the complete consolidated file, active and historical:
| Office | Permits |
|---|---|
| Electrical | 687,175 |
| Plumbing | 545,459 |
| Building | 519,982 |
| Mechanical | 505,238 |
| Driveway / sidewalks | 116,511 |
Each permit carries the job's depth - the contractor company, contact name, phone, address and city (populated on about half the file - 1.19M records with a real contractor company, and the reason this actor exists), plus:
- total job valuation - a real numeric column, so you can range-filter it: ~492k permits are valued at $50k+, ~22.7k at $1M+
- housing units (77% covered) - ~32.5k building permits carry more than one unit = the multifamily signal
- number of floors, condominium flag, existing / new / remodel square footage
- permit class (residential vs commercial), work class (new / remodel / repair / addition...), council district (91%), jurisdiction - Austin full-purpose vs the ETJ / extraterritorial belt
- the applied / issued / status / expires / completed date chain, street address + latitude/longitude, and the work description
Status & live work
Statuses are the city's own words, and they're mostly terminal: Final (2,004,536 - completed) / Expired (169,150) / VOID (153,260) / Active (28,085) / Withdrawn / Cancelled. The long tail mixes office notes ("Cancelled - Contractor Required", "Inactive Pending Revision") that a naive parser trips on.
Live work has its own lane: the city flags every permit issued in its last-30-days window - the recent mode hands you that exact fresh slice (~4,981 permits right now), so you can watch what's being pulled this month without dumping 2.4M rows.
Typical questions
- "Every permit D R Horton / KB Home pulled in Austin - current and historical."
- "Show recent building permits valued over $1M with the contractor's phone."
- "Where are the multifamily projects (5+ units) going in, by council district?"
- "What did each office issue last month?"
- "Every permit on this address."
- "Aggregate the register by office or council district."
Inputs
| Input | What it does |
|---|---|
mode | rows (default) / recent (last-30-days live work) / aggregate |
permitType | office: electrical / plumbing / building / mechanical / driveway |
contractor | contractor company or contact name (fuzzy) |
status | Active / Final / Expired / VOID / Withdrawn / ... Blank = any |
permitClass / workClass | residential/commercial + new/remodel/repair... |
address / councilDistrict | where the work is |
valuationMin / valuationMax | total job valuation range (numeric) |
housingUnitsMin | minimum housing units (multifamily finder) |
issuedFrom/To / appliedFrom/To | date-range filters |
groupBy | aggregate over office / class / status / council district / work class / year |
maxResults | cap records (default 50) |
Default run = the 50 most recently issued permits - fast for the daily auto-test. For a targeted query add a filter; for a broad view use aggregate (a handful of summary rows, not a 2.4M-row dump).
Example inputs
A contractor's file - contractor matches the company name or the contact name (fuzzy).
{ "mode": "rows", "contractor": "Lugo", "maxResults": 5 }
Live work in one office right now - mode=recent is the city's own last-30-days window, and permitType names the office.
{ "mode": "recent", "permitType": "building", "maxResults": 5 }
Multifamily projects - housingUnitsMin finds the permits carrying five or more housing units.
{ "mode": "rows", "housingUnitsMin": 5, "maxResults": 5 }
The register by office - mode=aggregate returns one count row per group instead of the permits.
{ "mode": "aggregate", "groupBy": "permitTypeDescription" }
Example output
mode=rows, contractor=Lugo - one permit from that contractor's file, carrying the job's valuation, units and contact details:
{"platform": "tx-austin-building-permits","source": "austin-building-permits","mode": "rows","groupKey": "","groupCount": "","groupBy": "","permitNumber": "2026-115314 PP","permitType": "PP","permitTypeDescription": "Plumbing Permit","permitClass": "Residential","permitClassMapped": "Residential","workClass": "Repair","status": "Active","description": "Replacing angle stop supply water valve with new compression valves x6","appliedDate": "2026-09-02","issuedDate": "2026-09-12","statusDate": "2026-09-12","expiresDate": "2027-03-11","completedDate": "","calendarYearIssued": "2026","fiscalYearIssued": "2026","issuedInLast30Days": "Yes","issueMethod": "Permit Center","totalJobValuation": "","totalValuationRemodel": "","housingUnits": "1","numberOfFloors": "0","condominium": "No","totalExistingBldgSqft": "","remodelRepairSqft": "1","totalNewAddSqft": "","totalLotSqFt": "","certificateOfOccupancy": "No","councilDistrict": "5","jurisdiction": "AUSTIN FULL PURPOSE","projectId": "13766025","masterPermitNum": "","contractorCompany": "Lugo's Plumbing Service","contractorName": "Salvador Lugo","contractorPhone": "5125074677","contractorAddress1": "","contractorAddress2": "500 N Avenue","contractorCity": "Elgin","contractorZip": "78621","applicantName": "","applicantOrg": "","applicantPhone": "","address": "2704 ACOPIO BND","city": "AUSTIN","state": "TX","zipcode": "78745","permitLocation": "2704 ACOPIO BND","latitude": "","longitude": ""}
mode=aggregate, groupBy=permitTypeDescription - the register by office:
Electrical Permit 687,175Plumbing Permit 545,459Building Permit 519,982Mechanical Permit 505,238Driveway / Sidewalks 116,511
Low cost
From $0.0001 per record, down to $0.00008 at Gold - billed only for the rows you use, at the low end of the store. Cost scales with what you pull, not with the size of the register - and each record is metered individually.
Austin's permit file is a "just download the CSV" dataset that hides real traps: the status column mixes terminal words and office notes (Final vs "Cancelled - Contractor Required" vs "Inactive Pending Revision") so a substring filter drags in the wrong records; the contractor and valuation fields are filled on only part of the file and there is no honest way to know which rows carry them without counting every column; the five offices each assign their own permit numbers (so the register is not one clean sequence); and the city publishes no daily refresh marker, so "what changed today" has to be read off the issue-date stream, not a delta column. Normalizing that into a register where a contractor / valuation / recent query returns exactly the permits you mean is the actual product. Every pull is integrity-checked against the feed's known shape, so a degraded source fails loudly instead of returning bad rows.
Source
- City of Austin Open Data: Building Permits - the city's consolidated register. Reflects the city's record as of each pull; not an endorsement of any contractor or project.