Get started with ZIP-Codes.com API in three simple steps
Sign up in seconds with just your email. No credit card required, no commitments. Your account is activated instantly with 250 free API lookups to get started.
Your unique API key is generated instantly upon signup. Access it anytime from your account dashboard. Use this key to authenticate all your API requests securely via HTTPS.
Copy our ready-made code examples in your preferred language and start making API calls. Get real-time ZIP code data in JSON or XML format with sub-second response times.
No credit card required • Instant activation • Cancel anytime
See how developers use our API to solve real-world problems
Verify ZIP codes in real-time during checkout or form submission. Reduce failed deliveries and improve data quality by catching invalid addresses before they enter your system.
if (validateZIP(userInput)) {
processOrder();
} else {
showError();
}
Enhance user experience by automatically populating city and state fields as users type their ZIP code. Reduce form abandonment and speed up checkout with smart autofill.
onZIPChange(zip) {
data = getZIPDetails(zip);
fillCity(data.city);
fillState(data.state);
}
Build "find locations near you" features for retail stores, restaurants, or service providers. Search by ZIP code and radius to show customers their nearest locations with accurate distances.
zips = findInRadius(userZIP, 25);
stores = matchStores(zips);
displayMap(stores);
showList(stores);
Calculate accurate distances between ZIP codes for shipping cost estimates, delivery time predictions, or logistics planning. Get distances in miles instantly for any two locations.
distance = calculateDistance(
fromZIP, toZIP
);
shippingCost = distance * rate;
Determine shipping zones and rates based on distance from your warehouse or fulfillment center. Create tiered pricing zones (local, regional, national) automatically based on ZIP code proximity.
zones = defineZones(warehouseZIP);
if (distance < 50) zone = "Local";
else if (distance < 500) zone = "Regional";
rate = zones[zone].price;
Access detailed demographic information for any ZIP code including population, income levels, age distribution, and housing data. Perfect for market research, targeting, and business intelligence.
demographics = getZIPDetails(zip);
if (demographics.income > 75000) {
targetPremiumProducts();
}
Need a custom use case? Our API is flexible enough to handle specialized applications. View Developer Guide →
No hidden fees. No contracts. Cancel anytime.
Credit-based only
Stops at limit
No contracts
Risk-free
Everything you need to know about the ZIP Code API
The API provides comprehensive location data for both U.S. ZIP codes and Canadian postal codes:
QuickGetZipCodeDetails (fast lookup):
GetZipCodeDetails (complete data):
Distance & Radius endpoints provide:
99.9% accuracy for ZIP code validation. Our database maintains all current active ZIP codes and postal codes, updated monthly from official sources.
Data sources:
Validation effectiveness: Our API can quickly determine whether a ZIP code is currently valid or identify fake/inactive codes. If a ZIP code isn't in our database, it's not currently in active status with the postal service.
All updates are applied automatically - completely transparent to API users with no action required on your part.
The free tier includes 250 API lookups per month - forever! This isn't a limited-time trial that expires.
What you get:
How it works: Sign up, get your API key, and start making calls immediately. Your 250 credits reset monthly on your signup anniversary date. Upgrade to a paid plan anytime if you need more credits.
We use credit-based pricing with no rate limits - you pay only for the lookups you need:
Key benefits:
Yes! Complete coverage of 892,959 Canadian postal codes.
What's included:
How to use: Simply pass the Canadian postal code in the same parameter where you'd use a U.S. ZIP code. The API automatically detects the format and returns the appropriate data.
Example: QuickGetZipCodeDetails/A0A1E0 works exactly like QuickGetZipCodeDetails/90210
Note: When mentioning Canada Post postal code data in your application, please include "OM" (Official Mark) attribution as required by Canada Post licensing.
The API stops responding with an error message: "Credit limit has been reached."
Credit management system:
GetCreditInfo endpoint to monitor balanceWhat to do when credits run out:
Your account remains active and data is preserved - you simply can't make new API calls until credits reset or you upgrade.
No rate limits! Our API uses a credit-based system instead of throttling your requests.
What this means for you:
Example: With a 10,000 credit plan, you could make all 10,000 requests in the first hour of the month, or spread them evenly throughout 30 days - it's entirely up to you.
This makes our API ideal for both real-time applications (form validation) and batch operations (database cleansing).
Yes! Cancel anytime directly from your account dashboard - no phone calls or emails required.
How cancellation works:
Example: Sign up January 15th, upgrade to $19.95 plan, decide to cancel February 1st. You keep full access until March 15th (your renewal date), then automatically revert to the free 250 credits/month.
No contracts, no commitments:
We believe in earning your business every month, not locking you into long-term contracts.
No credit card required! Create a free account with just your email address.
How it works:
Why we do this: We want you to try the API risk-free and see the value before asking for payment. No surprise charges, no "forgot to cancel" bills - just honest, straightforward service.
Need more than 250 lookups? Paid plans require a credit card (Visa, MasterCard, or American Express) for recurring monthly billing. You'll be charged on your signup anniversary date each month.
Monthly updates on the 1st of every month - synchronized with USPS and Canada Post releases.
Update process:
What gets updated:
Data sources:
You always get the most current data available - automatically. No downloads, no version management, no maintenance required on your end.
Yes! Change your plan anytime directly from your account dashboard.
How upgrades work:
Example upgrade: You're on the 10,000 credit plan ($19.95/month) halfway through your billing cycle. Upgrade to 50,000 credits ($29.95/month) - pay $10 difference now, get immediate access to 50,000 credit tier.
How downgrades work:
Example downgrade: You're on 50,000 credits but only using 5,000/month. Downgrade to 10,000 credits - keep your 50,000 credit access until renewal, then automatically switch to $19.95/month plan.
All plan changes are handled in your account dashboard with clear confirmation - no phone calls or support tickets required.
For recurring monthly billing, we accept major credit cards:
Why credit cards only? The API uses recurring monthly billing based on your signup anniversary date. Credit cards provide the most reliable automated billing experience.
Enterprise invoicing: For high-volume enterprise accounts, we can arrange invoice-based billing. This must be coordinated in advance - contact us to discuss your requirements.
Payment methods NOT accepted:
Billing schedule: You're charged monthly on your signup anniversary date. For example, sign up January 15th → charged February 15th, March 15th, April 15th, etc.
Security: All credit card processing is handled by industry-standard secure payment processors. We never store your full card number.
Yes! We offer a 30-day money-back guarantee.
Refund policy:
How refund amounts are calculated:
Example scenarios:
Why we offer refunds: We're confident in our API's quality and want you to feel comfortable trying it risk-free. If it doesn't meet your needs, we'll make it right.
Note: The free tier (250 credits/month) has no charges and therefore no refunds applicable.
Yes! All API documentation is fully public and accessible without an account.
What you can explore before signing up:
Resources available:
Try before you buy: Use the API Playground with our demo key (DEMOAPIKEY) to test all endpoints. See actual response times, data format, and error handling before creating an account.
We believe in complete transparency - you should know exactly what you're getting before signing up.
Yes, there are some important restrictions to protect the integrity of the service and comply with licensing agreements.
Prohibited uses:
Permitted uses:
Key principle: You can use the API to power your applications and services, but you cannot resell the underlying data itself.
Licensing requirements:
For detailed terms and conditions, see our Terms of Service. If you have questions about a specific use case, contact us - we're happy to clarify.
James Harris
Lead Data Architect - 23 Years Experience
Good data doesn't just happen - it takes real people who care about getting things right. James and our team manually verify every source. No running scripts and calling it done. We maintain high standards because you're counting on this data to run your business.
When something doesn't look right, we dig into it. That's the difference experience makes.
More About Our Team →
Our mission: Provide the most accurate, comprehensive, and trustworthy ZIP Code data in the industry - so you can make confident business decisions based on reliable intelligence.
Since 2003, we have maintained 99.9% accuracy through rigorous verification, expert curation, and committment to data quality.
We believe that good data matters, and so does good service. When you need help, you'll talk to an actual person - not a ticket system or an endless email thread. Call us and we'll pick up the phone. Email us, and we will respond promptly. It's a simple thing, but it makes a difference when you're on a deadline or troubleshooting an issue.
Our API delivers trusted, licensed data from official postal authorities and federal agencies in the United States and Canada. All data is validated, normalized, and enhanced by ZIP-Codes.com for maximum accuracy and usability. Data last updated on December 1, 2025.
U.S. Postal Service: Portions of data are provided by the United States Postal Service and are © 2025. ZIP-Codes.com is a non-exclusive licensee of the United States Postal Service. ZIP Code™ is a trademark of the U.S. Postal Service.
Canada Post Corporation: Postal Code™ is a trademark of Canada Post Corporation. Portions of postal code data are © 2025 Canada Post Corporation. All rights reserved.
Statistics Canada: Census geography data adapted from Statistics Canada's Census geographic boundary files. Statistics Canada information is used with the permission of Statistics Canada. Users are forbidden to copy the data and redisseminate them, in an original or modified form, for commercial purposes, without permission from Statistics Canada.
USPS Licensed
Official Data Provider
Canada Post Licensed
Authorized Partner
23 Years
Update History
Monthly Updates
Always Current
Start your free tier with 250 lookups every month. No credit card required.
Join 10,000+ developers using our API