Geocoding, radius search, autocomplete, address validation, ACS demographics, and more. All through a simple REST API for U.S. and Canada.
Address Validation — No Rate Limits
Drop-in replacement for USPS Web Tools. Accepts messy input, returns standardized output with ZIP+4.
Radius Search with Boundary Precision
Find every ZIP code within any radius — including partial intersections.
Smart Autocomplete
Types “bevery” — finds Beverly Hills. Your users will never hit a dead end.
ZIP Code & Postal Lookup
US and Canada. Demographics, boundaries, and more — one call.
Point-to-Point Distance
Calculate distance between any two postal codes. Integrate in minutes.
Trusted by teams at








One API for ZIP codes, postal codes, demographics, and more.
Validate and standardize US street addresses with USPS ZIP+4 matching. Accepts messy input, returns clean structured output.
Try itFind ZIP codes within a distance. Centroid for speed, spatial for precision—with boundary intersection percentages.
Try itReal-time typeahead for ZIP codes, cities, counties, and postal codes. Fuzzy matching handles misspellings automatically.
Try itInstant details for any US ZIP code or Canadian postal code: city, state/province, county, and coordinates.
Try itCensus demographic, social, economic, and housing data. 500+ fields from the American Community Survey.
Try itComplete coverage for 40,000+ US ZIP codes and all Canadian forward sortation areas and postal codes.
Process thousands of lookups or addresses in a single request. Available on all paid plans.
Only pay for the data you need. Add demographics, timezone, census data, and more as optional enrichments.
Address validation, ZIP lookups, radius searches, autocomplete, and distance calculations — all through the same REST API. Six input types including raw street addresses.
GET /v2/address/?address=1600 Pennsylvania Ave NW, DC&key=API_KEY
{
"success": true,
"results": [{
"input": "1600 Pennsylvania Ave NW, Washington DC",
"matches": [{
"formatted_address": "1600 PENNSYLVANIA AVE NW, WASHINGTON DC 20500-0003",
"address_components": {
"number": "1600", "street": "PENNSYLVANIA AVE NW",
"city": "WASHINGTON", "state": "DC",
"zip": "20500", "plus4": "0003"
},
"match_info": { "confidence": "high" }
}]
}]
}
GET /v2/zip/?code=90210&key=YOUR_API_KEY
{
"success": true,
"results": [{
"code": "90210",
"code_type": "ZIP",
"city": "Beverly Hills",
"state": "CA",
"county": "Los Angeles",
"country": "US",
"location": { "lat": 34.1031, "lon": -118.4163 }
}]
}
GET /v2/zip/?code=M1R0E9&key=YOUR_API_KEY
{
"success": true,
"results": [{
"code": "M1R0E9",
"code_type": "Postal",
"city": "Toronto",
"province": "ON",
"province_name": "Ontario",
"country": "CA",
"location": { "lat": 43.7184, "lon": -79.3457 }
}]
}
GET /v2/zip/?code=90210-4321&key=YOUR_API_KEY
{
"success": true,
"results": [{
"code": "90210-4321",
"code_type": "ZIP+4",
"city": "Beverly Hills",
"state": "CA",
"county": "Los Angeles",
"country": "US",
"location": { "lat": 34.0901, "lon": -118.4065 }
}]
}
GET /v2/zip/?code=M5V&key=YOUR_API_KEY
{
"success": true,
"results": [{
"code": "M5V",
"code_type": "FSA",
"city": "Toronto",
"province": "ON",
"province_name": "Ontario",
"country": "CA",
"location": { "lat": 43.6426, "lon": -79.3871 }
}]
}
GET /v2/zip/?code=41.8819,-87.6278&key=YOUR_API_KEY
{
"success": true,
"results": [{
"code": "60601",
"code_type": "ZIP",
"city": "Chicago",
"state": "IL",
"county": "Cook",
"country": "US",
"distance_mi": 0.04
}]
}
Trusted by data teams across healthcare, finance, and research.
“Thank you so much — this is pretty close to what I expected and EXACTLY what I need for both my internal customer and my Tech partner.”
“James went beyond the call of duty to make a modification which made my use of your tool much more valuable. His service has earned my loyalty.”
“This level of service makes me glad we chose to do business with your company.”
Licensed. Curated. North America focused.
More than a data provider—a partner committed to your success since 2003.
Most ZIP code APIs launched last year. We've been in the postal data business for over 20 years—84,000+ customers including Fortune 500 companies and government agencies. The v2 API is a new interface on two decades of expertise, and support.
We answer the phone. Emails get a response within 30 minutes. Every account is backed by an unconditional money-back guarantee.
Licensed and commercially curated US ZIP boundary data, updated quarterly—the same enterprise-grade source used by Fortune 500 logistics, insurance, and financial services companies. Demographics come directly from the US Census Bureau. Canadian postal data from Statistics Canada.
2,500 free credits per day, no credit card required. Need more? Buy a Credit Pack—one-time, never expires, kicks in automatically when your allowance runs out. No subscription required. When you're ready to scale, subscription plans start at $49/month.
Everything you need to know before you integrate.
Free and low-cost ZIP code APIs—Zippopotam, ZipCodeAPI, ZipCodeBase, ZipCodeStack—typically return 5–9 fields drawn from public datasets like GeoNames. Some charge $45–200/year for that same basic data. The underlying issue isn't price—it's the source. GeoNames coordinates are algorithmically estimated (their own documentation notes that unmatched postal codes use “an average lat/lng of neighbouring postal codes”), newly created ZIP codes can take years to appear, and the data is provided “as-is” with no accuracy warranty. That's fine for a quick prototype, but risky for production.
This API returns 50+ fields in a base credit, with opt-in access to 542 ACS demographic fields across 14 years of Census data, spatial boundary radius search with per-ZIP overlap percentages, congressional and school districts, full Canadian postal code support, plus street address validation with USPS ZIP+4 matching—all through the same endpoint. Our US ZIP boundary data is commercially licensed and updated quarterly from authoritative sources.
The free tier (2,500 credits/day, no credit card) gives you full access to every enrichment so you can evaluate the depth before committing to a paid plan.
Yes. The v2 API is new (launched March 2026), but it runs on infrastructure and data sources that have served 84,000+ customers since 2003—including Fortune 500 companies like Wells Fargo and Abbott Laboratories. The underlying boundary data, ACS demographics, and Canadian postal data are the same production-grade sources our customers have relied on for over two decades.
We call it “new” because the developer interface is new—the data, the uptime, and the support are not. Email support, usage monitoring, and an unconditional money-back guarantee are in place from day one.
/address endpoint parses raw street addresses and matches them against USPS ZIP+4 delivery-point data. It returns the standardized address, ZIP+4 code, parsed components, carrier route, and delivery metadata. Input is flexible: ZIP code and state are optional — we resolve them automatically. 1 credit per request. Batch processing available for paid plans. Try it in the interactive demo.
/address endpoint has no per-hour rate limit at that level — paid plans support hundreds of requests per second. You get USPS ZIP+4 matching, standardized output, and parsed address components through a simple REST call. No OAuth tokens, no federal developer account, no approval process. Sign up, get an API key, and start validating addresses in under a minute. The free tier includes 2,500 credits per day — enough to evaluate thoroughly before committing.
/address endpoint returns the standardized address, ZIP+4, parsed components, and delivery metadata — 1 credit per request.
Yes. The API supports both US ZIP codes and Canadian postal codes through the same endpoints. Canada uses two formats—3-character Forward Sortation Areas (FSAs like M5V) and full 6-character postal codes (like M1R 0E9)—and the API handles both. Canadian lookups return province, coordinates, timezone, and Census boundary data from Statistics Canada.
We chose to cover North America thoroughly rather than the world thinly. Most APIs that claim global postal coverage return 2–3 fields per country from public datasets. We maintain 542 enrichment fields, 14 years of historical data, and quarterly-updated boundary polygons—that depth requires focus.
Most ZIP code APIs use centroid mode—finding ZIP codes whose
center point falls within your search radius. It's fast, but incomplete. A ZIP code's
centroid might be just outside your radius while a significant portion of the actual boundary
falls inside. In centroid mode, you'd miss it entirely. Spatial mode uses
actual boundary polygons to calculate the exact percentage of each ZIP code that overlaps
your search circle—every result includes a pct_inside value.
Uses a single center point per ZIP. If the centroid falls outside your radius, the entire ZIP is excluded—even if a large portion of the boundary lies inside your circle.
Uses full boundary polygons. Returns the exact pct_inside for every match—100%, 50%, or 5%. No gaps, no false exclusions.
Centroid mode says 90290 is outside the 10 mile radius, the center point is 11.15 miles away. Spatial mode reveals the truth: 16.8% of the 90290 boundary falls inside your 10 mile radius. That's the difference between a gap in your coverage and a complete picture.
mode=centroid — speed-optimized, good for rough estimates (default)
mode=spatial — precision-optimized, includes pct_inside for boundary accuracy
/v2/suggest endpoint provides real-time autocomplete for ZIP codes,
cities, counties, CBSAs, and Canadian postal codes. It includes fuzzy matching (handles
misspellings), geographic proximity bias, and returns up to 500 results per query on paid plans.
Free accounts get up to 15 results per query, paid plans can query up to 500 results. Try it in the
interactive demo.
Centroid vs. Spatial: ZIP 90290 (Topanga, CA) with a 10-mile radius. Centroid: outside (11.15 mi away). Reality: 16.8% inside. Spatial mode reveals what centroid misses.