Postal Code Lookup Scraper (60+ Countries) avatar

Postal Code Lookup Scraper (60+ Countries)

Pricing

from $9.00 / 1,000 result items

Go to Apify Store
Postal Code Lookup Scraper (60+ Countries)

Postal Code Lookup Scraper (60+ Countries)

Resolve postal codes to places, states, and coordinates across 60+ countries. Bulk lookup any list of country and postal code pairs. Returns city, state, latitude, longitude, and full place metadata per match.

Pricing

from $9.00 / 1,000 result items

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

ParseForge Banner

📮 Postal Code Lookup Scraper (60+ Countries)

🚀 Resolve postal codes to places, states, and coordinates worldwide. Bulk-lookup any list of country + postcode pairs across 60+ countries, with automatic outward-code normalization for the UK, Canada, the Netherlands, and more. No API key, no registration, no manual JSON wrangling.

🕒 Last updated: 2026-05-22 · 📊 11 fields per record · 🌍 60+ countries · 📮 outward-code auto-normalize · 🗺️ lat/lon per match

The Postal Code Lookup Scraper queries the Zippopotam open postal index and returns 11 structured fields per record, including the country, country code, postal code, place name, state, state abbreviation, latitude, longitude, and the full list of places matched by the postcode. Multi-place postcodes can be exploded into one row per place or kept packed into a single row.

The catalog covers 60+ countries on every populated continent, from the U.S. and Canada to Japan, South Africa, Brazil, India, and most of Europe. For the UK, Canada, the Netherlands, Brazil, Malta, Crown Dependencies, and Poland, the source only accepts the outward (short) form of the postcode; this Actor strips spaces and inward suffixes automatically so you can pass natural inputs like SW1A 1AA or M5V 3L9.

🎯 Target Audience💡 Primary Use Cases
Address-enrichment platforms, logistics teams, sales operations, GIS engineers, customer-data platforms, fraud-prevention teamsLead enrichment with geocodes, customer-address normalization, shipping-cost estimation, territory assignment, deliverability checks, ZIP-to-city autocomplete

📋 What the Postal Code Lookup Scraper does

Three workflows in a single run:

  • 📮 Bulk postcode resolution. Pass any list of country + postcode pairs and get place, state, and lat/lon back.
  • 🇬🇧 Outward-code auto-normalize. UK, Canada, Netherlands, Brazil, Malta, Crown Dependencies, and Poland accept short-form codes; the Actor strips spaces and inward suffixes for you.
  • 🔀 Explode multiple places. Many U.S. ZIPs and Spanish postcodes resolve to multiple towns. Toggle whether each place becomes its own row or all places are packed into one row.

Each record includes the ISO-2 country code, full country name, the normalized postal code, the matched place name, state name and abbreviation, latitude, longitude, and the full place array for downstream re-parsing.

💡 Why it matters: postal code resolution is the foundation of address normalization, shipping cost estimation, fraud scoring, and CRM territory assignment. Building your own pipeline means handling 60+ country formats and the special-case outward-only countries. This Actor handles all of it.


🎬 Full Demo

🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.


⚙️ Input

InputTypeDefaultBehavior
lookupsobject[][{"country":"us","postcode":"90210"}, ...]Array of { country, postcode }. Country is ISO-2 lowercase.
explodePlacesbooleantrueWhen ON, each place inside a multi-place postcode becomes its own row.
maxItemsinteger10Records to return. Free plan caps at 10, paid plan at 1,000,000.

Example: Beverly Hills, Westminster, and Berlin Mitte.

{
"lookups": [
{ "country": "us", "postcode": "90210" },
{ "country": "gb", "postcode": "SW1A" },
{ "country": "de", "postcode": "10115" }
],
"explodePlaces": true
}

Example: bulk Canadian postal-area resolution.

{
"lookups": [
{ "country": "ca", "postcode": "M5V" },
{ "country": "ca", "postcode": "K1A" },
{ "country": "ca", "postcode": "V6B" }
],
"explodePlaces": false,
"maxItems": 100
}

⚠️ Good to Know: the supported country list is fixed (60+ ISO-2 codes). Postal codes for countries outside the supported list will return a per-row error. UK/CA/NL/BR/MT/IM/JE/GG/PL only accept the outward (short) form; the inward suffix is stripped automatically. U.S. ZIP+4 inputs use the leading five digits.


📊 Output

Each lookup record contains 11 fields. Download the dataset as CSV, Excel, JSON, or XML.

🧾 Schema

FieldTypeExample
🏳️ countryCodestring"US"
🌍 countrystring"United States"
📮 postCodestring"90210"
🏙️ placeNamestring"Beverly Hills"
🗺️ statestring"California"
🏷️ stateAbbreviationstring | null"CA"
📍 latitudenumber34.0901
📍 longitudenumber-118.4065
📦 placesarray[{ "place name": "Beverly Hills", ... }]
🕒 scrapedAtISO 8601"2026-05-22T00:00:00.000Z"
errorstring | nullnull

📦 Sample records


✨ Why choose this Actor

Capability
🌍60+ countries. US, CA, UK, DE, FR, JP, IN, BR, AU, ZA, and many more.
📮Outward-code auto-normalize. Strips spaces and inward suffixes for UK/CA/NL/BR/MT/IM/JE/GG/PL.
🗺️Lat/lon included. Ready for direct map plotting or distance math.
🔀Multi-place explode. Toggle row-per-place or row-per-postcode output.
Fast. 10 lookups in under 5 seconds, 1,000 in under a minute.
🔁Always fresh. Every run queries the live source.
🚫No authentication. Public open dataset, no token required.

📊 Accurate postal code resolution is the foundation of address normalization, shipping cost estimation, fraud scoring, and CRM territory assignment.


📈 How it compares to alternatives

ApproachCostCoverageRefreshFiltersSetup
⭐ Postal Code Lookup Scraper (this Actor)$5 free credit, then pay-per-use60+ countriesLive per runbulk pairs, explode toggle⚡ 2 min
Commercial address validation APIs$0.005-$0.05 per callGlobalLiveMany⏳ Hours
Local GeoNames data dumpsFreeWorldwideManual refreshNone🐢 Days
Manual lookup via national post sitesFreeOne country at a timeLiveUI only🕒 Hours

Pick this Actor when you want filterable bulk export with lat/lon and no per-call billing.


🚀 How to use

  1. 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
  2. 🌐 Open the Actor. Go to the Postal Code Lookup Scraper page on the Apify Store.
  3. 🎯 Set input. Paste your list of country + postcode pairs and choose the explode behavior.
  4. 🚀 Run it. Click Start and let the Actor resolve them.
  5. 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.

⏱️ Total time from signup to downloaded dataset: 2-4 minutes. No coding required.


💼 Business use cases

📦 Logistics & Shipping

  • Zone-based shipping cost estimation
  • Last-mile route clustering by postcode region
  • Carrier zone-skip planning
  • Address-quality screening before label generation

💼 Sales Operations

  • Territory assignment by ZIP or postcode
  • Lead enrichment with city and state
  • Account-based marketing geo-targeting
  • Sales-rep coverage heatmaps

🛡️ Fraud Prevention

  • Mismatch detection between billing postcode and IP
  • ZIP-to-city sanity checks on new accounts
  • Velocity rules by geographic cluster
  • Sanctioned-region screening inputs

📊 Customer Data Platforms

  • Address normalization at ingest
  • Lat/lon enrichment for map dashboards
  • Cross-region duplicate detection
  • Audience segmentation by state or region

🔌 Automating Postal Code Lookup Scraper

Control the scraper programmatically for scheduled runs and pipeline integrations:

  • 🟢 Node.js. Install the apify-client NPM package.
  • 🐍 Python. Use the apify-client PyPI package.
  • 📚 See the Apify API documentation for full details.

The Apify Schedules feature lets you trigger this Actor on any cron interval. Nightly enrichment runs keep new-signup geocodes in sync automatically.


🌟 Beyond business use cases

Data like this powers more than commercial workflows. The same lookup records support research, education, civic projects, and personal initiatives.

🎓 Research and academia

  • Urban-geography theses with postcode-level overlays
  • Reproducible address-resolution experiments
  • Open-data GIS coursework
  • Cross-country postal-system comparisons

🎨 Personal and creative

  • Personal map mashups and visualizations
  • Travel-planning spreadsheets
  • Side-project address autocomplete demos
  • Portfolio data-viz pieces

🤝 Non-profit and civic

  • Volunteer outreach by postal area
  • Civic-tech tools for local advocacy
  • Open contributions to OpenStreetMap address tagging
  • Mutual-aid network territory mapping

🧪 Experimentation

  • Train address-parsing ML toy models
  • Validate geocoding product prototypes
  • Prototype agent pipelines that enrich CRM leads
  • Test map-library performance with bulk markers

🤖 Ask an AI assistant about this scraper

Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:


❓ Frequently Asked Questions

🧩 How does it work?

Provide a list of country + postcode pairs, click Start, and the Actor resolves each pair against the Zippopotam open postal index. One row per matched place is written to the dataset.

📏 How accurate are the coordinates?

The coordinates approximate the centroid of the postcode area and are accurate within a few kilometers, which is plenty for territory assignment and map plotting. Use a full geocoding service when you need rooftop-level accuracy.

🇬🇧 Why does UK only accept the outward code?

The Zippopotam source indexes UK postcodes at the outward (district) level rather than full sector + unit. The Actor strips spaces and the inward suffix automatically so you can pass natural inputs like SW1A 1AA.

🔀 What does "explode multiple places" do?

Some U.S. ZIPs and Spanish postcodes resolve to multiple towns. With explode ON, each place becomes its own row. With explode OFF, all places for that postcode are packed into a single row's places array.

⏰ Can I schedule regular runs?

Yes. Use Apify Schedules to run this Actor on any cron interval and keep downstream enrichment caches in sync.

Yes. Zippopotam republishes open postal data and the underlying records are free for redistribution.

💼 Can I use this data commercially?

Yes. The data is open and may be used commercially. You remain responsible for downstream compliance in your own product.

💳 Do I need a paid Apify plan?

No. The free plan is enough for testing and small runs (10 records per run). A paid plan unlocks scheduling, higher concurrency, and larger datasets.

🔁 What happens if a run fails?

Apify retries transient errors automatically. Inspect the log in the Runs tab, adjust the input, and re-run. Partial datasets are preserved.

🌐 Which countries are supported?

60+ countries on every populated continent, listed in the input schema. Major ones: US, CA, GB, DE, FR, IT, ES, JP, IN, BR, MX, AU, NZ, ZA, RU, PL, NL, SE, NO, FI, DK.

🆘 What if I need help?

Our support team is here to help. Contact us through the Apify platform or the Tally form linked below.


🔌 Integrate with any app

Postal Code Lookup Scraper connects to any cloud service via Apify integrations:

  • Make - Automate multi-step workflows
  • Zapier - Connect with 5,000+ apps
  • Slack - Get enrichment summaries in your channels
  • Airbyte - Pipe geocode data into your warehouse
  • GitHub - Trigger runs from commits and releases
  • Google Drive - Export datasets straight to Sheets

You can also use webhooks to trigger downstream actions when a run finishes. Push fresh enrichments into your CRM, or alert your team in Slack when an unsupported country code appears.


💡 Pro Tip: browse the complete ParseForge collection for more reference-data scrapers.


🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.


⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Zippopotam, GeoNames, any national postal service, or any address-validation provider. All trademarks mentioned are the property of their respective owners. Only publicly available open postal data is collected.