Address Quality & Matching API avatar

Address Quality & Matching API

Pricing

Pay per usage

Go to Apify Store
Address Quality & Matching API

Address Quality & Matching API

Normalize, assess and match international addresses. Turn messy address text into structured fields and SAME_ADDRESS / POSSIBLE_MATCH / DIFFERENT duplicate decisions.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

smile flow

smile flow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Normalize messy international addresses, assess structural quality, and detect duplicates.

One messy address in. One structured quality report out.

For two addresses, the Actor returns a deterministic SAME_ADDRESS, POSSIBLE_MATCH, or DIFFERENT decision with component-level evidence.

What it returns

Analyze & normalize

  • normalized address and stable component fields
  • house number, road, unit, city, state, postcode, country
  • completeness score and missing components
  • warnings and CLEAN, REVIEW, or INCOMPLETE quality status

Match & deduplicate

  • SAME_ADDRESS, POSSIBLE_MATCH, or DIFFERENT
  • confidence score
  • component-level similarity scores
  • matching evidence
  • detected differences
  • both normalized address forms

The result describes structure and similarity only. It does not prove deliverability, that an address exists, or identity ownership.

Example: analyze

Input

{
"operation": "analyze",
"addresses": ["92 avenue des Champs-Élysées Paris 75008 France"]
}

Output

{
"operation": "analyze",
"input": "92 avenue des Champs-Élysées Paris 75008 France",
"normalized_address": "92, avenue des Champs-Élysées, 75008, Paris, France",
"components": {
"house_number": "92",
"road": "avenue des Champs-Élysées",
"city": "Paris",
"postcode": "75008",
"country": "France"
},
"quality": {
"status": "CLEAN",
"completeness": 1.0,
"missing_components": [],
"warnings": []
},
"warnings": []
}

Example: match & deduplicate

Input

{
"operation": "match",
"pairs": [
{
"addressA": "92 avenue des Champs-Élysées Paris",
"addressB": "92 Av. des Champs Elysees, 75008 Paris, France"
}
]
}

Output

{
"decision": "SAME_ADDRESS",
"confidence": 0.93,
"evidence": [
"house_number_match",
"road_match",
"city_match"
],
"differences": [
"postcode_missing_on_one_or_both"
]
}

Use cases

  • CRM address cleanup
  • customer database deduplication
  • e-commerce and checkout data cleaning
  • marketplace record matching
  • logistics data preparation
  • ETL and data-quality pipelines
  • master data management
  • lead database cleanup
  • duplicate customer detection

How it works

This Actor uses local libpostal parsing plus deterministic normalization and matching logic.

It does not call an external postal-verification or geocoding service.

API usage

Run the Actor from the Apify Console or Apify API. Results are written to the default dataset and can be consumed through the dataset API.

Pricing model

Usage is billed with Apify Pay Per Event.

  • address-analyzed — charged for each successfully analyzed address
  • address-matched — charged for each successfully matched address pair

Current prices are displayed in the Actor's Apify pricing section.

No LLM token billing and no external geocoding API is required.