Free · No auth required

USPS ZIP Locale Detail

Auto-updated JSON mirror of the USPS PostalPro ZIP Locale Detail dataset. Fetch state-level or full data directly from static endpoints — no API key, no rate limits, no server.

Base URL

HTTPS
https://madhatter349.github.io/postalpro-zip-locale

Endpoints

GET /data/zip_locale_detail.json Full dataset +

Returns every ZIP locale record in a single JSON array. Large file — consider using a state-specific endpoint when possible.

Example
fetch('https://madhatter349.github.io/postalpro-zip-locale/data/zip_locale_detail.json')
  .then(r => r.json())
  .then(data => console.log(data.length, 'records'))
GET /data/states/{STATE}.json Filter by state +

Returns all records for a given state. Use the 2-letter state abbreviation in uppercase (e.g. CA, NY, TX).

Example
fetch('https://madhatter349.github.io/postalpro-zip-locale/data/states/CA.json')
  .then(r => r.json())
  .then(data => console.log(data))
GET /data/last_updated.txt Last update date +

Returns the date USPS last published a new version of the dataset. Plain text response.

Example
fetch('https://madhatter349.github.io/postalpro-zip-locale/data/last_updated.txt')
  .then(r => r.text())
  .then(date => console.log('Last updated:', date))

Try It

Enter a 2-letter state code to fetch its data live.

Record Schema

FieldTypeDescription
area_namestringUSPS area name
area_codestringUSPS area code
district_namestringUSPS district name
district_nostringUSPS district number
delivery_zipcodestring5-digit ZIP code
locale_namestringPost office / locale name
physical_delivery_addressstringStreet address of the post office
physical_citystringCity
physical_statestring2-letter state code
physical_zipstringPhysical location ZIP
physical_zip4string|nullZIP+4 extension

Available States

Click any state to view its JSON.