Postal Address Normaliser avatar

Postal Address Normaliser

Pricing

from $0.01 / run

Go to Apify Store
Postal Address Normaliser

Postal Address Normaliser

Parses and normalises arbitrary postal address strings using libpostal.

Pricing

from $0.01 / run

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

What does Postal Address Normaliser do?

Postal Address Normaliser is an Apify Actor that parses and normalises arbitrary postal address strings from anywhere in the world. Using the open-source libpostal library and its Python bindings (pypostal), it breaks down raw address strings into structured components and provides normalised expansion variants.

Postal Address Normaliser can extract:

  • House numbers
  • Road names
  • Cities
  • States/provinces
  • Postcodes
  • Countries
  • Other address components

Why normalise postal addresses?

Postal addresses are a critical data point for businesses, logistics companies, e-commerce platforms, and data analytics organisations. Raw address data is often inconsistent, incomplete, or formatted differently across sources. Normalising addresses enables you to:

  • Consolidate customer databases with duplicate or variant address formats
  • Improve delivery accuracy and reduce failed shipments
  • Enhance geocoding and mapping workflows
  • Build reliable address databases for analytics and reporting
  • Standardise addresses across multiple data sources and systems
  • Validate and clean address data before processing

How to use Postal Address Normaliser

  1. Click Try for free to start a test run.
  2. Prepare a list of raw address strings you want normalised.
  3. Paste them into the addresses input field.
  4. Click Start.
  5. Once the run finishes, view or download the structured, normalised address data from the Output tab.

Input

{
"addresses": [
"Muster Str. 45, 10999 Berlin, Germany",
"1600 Pennsylvania Ave NW, Washington, DC 20500"
],
"expand": true,
"languages": []
}
  • addresses (required) — array of raw address strings.
  • expand — also emit libpostal's expand_address() normalised variants (default true).
  • languages — optional ISO 639-1 language hints for the expander.

The Actor works on addresses from any country and doesn't require any website-specific configuration.

Output example

One dataset item per address:

{
"original": "1600 Pennsylvania Ave NW, Washington, DC 20500",
"parsed": {
"house_number": "1600",
"road": "pennsylvania ave nw",
"city": "washington",
"state": "dc",
"postcode": "20500"
},
"expansions": [
"1600 pennsylvania avenue northwest washington district of columbia 20500"
]
}

parsed groups libpostal's component labels (house_number, road, city, state, postcode, country, etc.) into a flat dict.

How much will it cost?

This Actor uses pay-per-event pricing: a flat $0.01 per run, regardless of how many addresses you submit. Apify's free plan credits cover plenty of test runs before you pay anything.

Tips for using Postal Address Normaliser

  • The Actor handles addresses from any country, so you can normalise international address datasets
  • Normalised expansion variants help match addresses that may be written differently
  • Structured output makes it easy to integrate normalised addresses into databases and workflows
  • The Actor works on raw, unstructured address strings without requiring pre-formatting

Note that personal data is protected by GDPR in the European Union and by other regulations around the world. You should not process personal data unless you have a legitimate reason to do so. If you're unsure whether your use case is legitimate, consult your legal team.