Pushbuild

Building Permits API – City Permits, Valuations and Contractors

Building permits from New York City, Los Angeles, Chicago, Seattle, Austin, San Francisco and Philadelphia in one schema: type, status, dates, valuation, address, contractor and new housing units, refreshed weekly.

$0.80 per 1,000 records

Get an API key
POST

Example request

POST /building-permits/run
{
  "jurisdictions": [
    "seattle"
  ],
  "description": "solar",
  "maxItems": 20
}

What it returns

Building permits from city permitting departments, in one schema: permit number, type, residential or commercial class, work class, description, status, applied, issued, completed and expiry dates, declared valuation, address, ZIP, coordinates, parcel, contractor company and housing units added.

Search by city, permit type, class, words in the description (solar, ADU, demolition, pool), status, address, ZIP, contractor, minimum valuation, new-housing permits only and issue date range, newest or largest first. Or group the matches to get counts and valuation totals by contractor, ZIP, permit type, year or month, for example the busiest solar installers in a ZIP code or new housing permitted per month.

Cities: New York City (DOB NOW and legacy BIS), Los Angeles, Chicago, Seattle, Austin, San Francisco and Philadelphia, more added as cities publish open permit data. Rebuilt weekly from each city's open data portal. Owner and applicant personal names are not included; contractor business names are.

Charged per permit or total returned.

Request

POST https://api.pushbuild.com/building-permits/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
jurisdictionslist of stringsnyc, los_angeles, chicago, seattle, austin, san_francisco, philadelphia.
permitTypestringType contains, e.g. Building, Electrical, Demolition, New.
permitClassstringClass contains, e.g. Residential, Commercial.
workClassstringWork class contains, e.g. New, Alteration, Addition.
descriptionstringWords in the work description, e.g. solar, ADU, pool.
statusstringStatus contains, e.g. Issued, Completed, Finaled.
addressstringStreet address contains.
zipslist of stringsFive-digit ZIP codes.
contractorstringContractor company name contains.
permitNumberstringExact permit number.
minValuationnumberSmallest declared project cost in dollars.
newHousingOnlybooleanOnly permits that add housing units (Seattle, San Francisco, Austin).
issuedFromstringYYYY-MM-DD.
issuedTostringYYYY-MM-DD.
sortstring: newest, largestnewest or largest valuation first. Default: "newest".
groupBystring: contractor, zip, jurisdiction, permitType, year, monthReturn counts and valuation totals by contractor, zip, jurisdiction, permitType, year or month.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/building-permits/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jurisdictions": ["seattle"], "description": "solar", "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.80 per 1,000 records. No charge for errors or empty searches.

Use it from Claude, ChatGPT or Cursor

This API is also an MCP server: https://api.pushbuild.com/mcp/building-permits. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.

Want this data inside your own app or CRM? API integrations and data sync