US ZIP Code Lookup
Pricing
from $1.50 / 1,000 items
US ZIP Code Lookup
Get detailed location data including city, state, coordinates, and population from US ZIP codes.
Pricing
from $1.50 / 1,000 items
Rating
0.0
(0)
Developer
bite-sized-insights
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
5 hours ago
Last modified
Categories
Share
Get detailed location data including city, state, coordinates, and population from US ZIP codes.
Simply provide a list of ZIP codes and get back structured location data for each one.
No login required. No cookies needed. Pay-per-event pricing.
Why Choose This Actor?
"Enrich your data with US location information in seconds"
Our US ZIP Code Lookup actor provides:
- Very Fast Responses: Parallel processing for large batches
- Cost-Effective: Pay only for the ZIP codes you look up:
$1.50 / 1k zip codes - Rich Data: Get city, state, coordinates, population, and more
Quick Start
- Open the actor on Apify and go to the Input tab.
- Paste the example input below (or edit the prefilled list).
- Click Start and wait for the run to finish.
- Open the Output (dataset) tab to view or export the results as JSON, CSV or Excel.
{"zipcodes": ["00601"]}
Example output item:
{"zip": "00601","lat": "18.18027","lng": "-66.75266","city": "Adjuntas","state_id": "PR","state_name": "Puerto Rico","zcta": "TRUE","parent_zcta": "","population": "16669","density": "99.9","county_fips": "72001","county_name": "Adjuntas","county_weights": "{\"72001\": 98.74, \"72141\": 1.26}","county_names_all": "Adjuntas|Utuado","county_fips_all": "72001|72141","imprecise": "FALSE","military": "FALSE","timezone": "America/Puerto_Rico","error": null}
Usage Examples
Resolve a Single ZIP Code
{"zipcodes": ["10001"]}
Resolve Multiple ZIP Codes
{"zipcodes": ["90210", "10001", "60601"]}
Returns one record per ZIP code found, with the same fields as the example output item in Quick Start (here three records, for 90210, 10001 and 60601).
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
zipcodes | array | Yes | - | List of US ZIP codes to resolve (5 digits each). 1-1000 per run; duplicates are ignored, invalid or too many codes fail the run |
Output Fields
| Field | Type | Description |
|---|---|---|
zip | string | ZIP code |
lat | string | Latitude |
lng | string | Longitude |
city | string | City name |
state_id | string | State abbreviation (e.g., "CA", "PR") |
state_name | string | Full state name |
zcta | string | Is this a ZCTA (ZIP Code Tabulation Area) - "TRUE"/"FALSE" |
parent_zcta | string | Parent ZCTA if applicable |
population | string | Population estimate |
density | string | Population density per sq mile |
county_fips | string | Primary county FIPS code |
county_name | string | Primary county name |
county_weights | string | JSON object with county FIPS and percentage weights |
county_names_all | string | All county names (pipe-separated) |
county_fips_all | string | All county FIPS codes (pipe-separated) |
imprecise | string | Location is imprecise - "TRUE"/"FALSE" |
military | string | Is military ZIP code - "TRUE"/"FALSE" |
timezone | string | Timezone (e.g., "America/New_York") |
error | null/string | Error message if lookup failed |
Free plan
Free-plan users get 5 runs in total. Each free run processes only the first 10 codes in your input (the rest is ignored without an error) and returns at most 10 results.
Pricing
| Cost | Description |
|---|---|
| $0.0001 / start | Charged per actor run |
| $1.50 / 1,000 zip codes | Charged per ZIP code returned |
API Integration
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("bite-sized-insights/us-zip-codes").call(run_input={"zipcodes": ["90210", "10001", "60601", "02134"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{item['zip']}: {item['city']}, {item['state_id']}")
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('bite-sized-insights/us-zip-codes').call({zipcodes: ['90210', '10001', '60601']});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.zip}: ${item.city}, ${item.state_id}`);});
Use Cases
- Data Enrichment: Add location data to customer records
- Address Validation: Verify ZIP codes exist and get city/state
- Geographic Analysis: Get coordinates for mapping
- Shipping/Logistics: Determine regions and timezones
Going global?
Looking for postal code data in other countries? Check out our other actors:
- Norway Postal Code Search - Norwegian postal codes (4-digit)
- India PIN Code Search - Indian PIN codes (6-digit)
- France Postal Code Search - French postal codes (5-digit)
Notes
- ZIP codes must be provided as strings (e.g., "02134" not 2134)
- Invalid or non-existent ZIP codes will not appear in results
- Results are returned in no particular order
- Large requests are automatically split into batches and processed in parallel
Need help? Open an issue on the actor's repository or contact support through Apify Console.