Address Validator & Parser
Pricing
$3.90 / 1,000 address validateds
Address Validator & Parser
Validate and parse postal addresses into structured components. Extracts street, city, state, ZIP code, and country with confidence scoring. Supports US address validation with ZIP code and state verification. Batch processing for up to 10,000 addresses per run.
Pricing
$3.90 / 1,000 address validateds
Rating
0.0
(0)
Developer
junipr
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Validate, parse, and normalize postal addresses worldwide. Extract components (street, city, state, ZIP), standardize formatting (USPS for US), validate postal codes, and detect address types — all with zero external API calls.
Why Use This Actor
Address validation normally costs $2-5 per 1,000 lookups (SmartyStreets, Google Address Validation, Lob) and requires API keys. This actor uses open-source parsing logic and postal code format databases, running entirely on Apify's infrastructure.
| Feature | Ours | SmartyStreets | Lob | |
|---|---|---|---|---|
| Price per 1K | $3.90 | $4.00 | $5.00 | $3.00 |
| Batch processing | ✅ 100K+ | Limited | 1 at a time | API only |
| Free-form parsing | ✅ | ✅ | ✅ | ❌ |
| International support | ✅ 50+ | ✅ | ✅ | US only |
| ZIP code validation | ✅ | ✅ | ✅ | ✅ |
| No API key needed | ✅ | ❌ | ❌ | ❌ |
Honest limitation: This actor performs format validation and parsing, not USPS CASS-certified deliverability verification. It confirms addresses are well-formed — but does NOT verify a specific address is a real, deliverable location.
How to Use
Zero-config: just provide an array of address strings.
{"addresses": ["1600 Pennsylvania Ave NW, Washington, DC 20500","123 Main St Apt 4B, New York, NY 10001","10 Downing Street, London, SW1A 2AA, UK"]}
Accepts free-form strings or structured objects:
{"addresses": [{"street": "123 Main St","city": "Chicago","state": "Illinois","zip": "60601","country": "US"}]}
Input Configuration
| Parameter | Type | Default | Description |
|---|---|---|---|
addresses | array | Demo addresses | List of addresses (strings or objects). Max: 100,000 |
defaultCountry | string | "US" | ISO 3166-1 alpha-2 fallback country code |
validateZipCode | boolean | true | Validate ZIP/postal code format |
normalizeFormat | boolean | true | Normalize to country-standard format |
detectAddressType | boolean | false | Detect residential/commercial/po_box |
abbreviateState | boolean | true | Convert "California" → "CA" |
standardizeStreetSuffixes | boolean | true | "Street" → "ST", "Avenue" → "AVE" |
includeOriginal | boolean | true | Include original input in output |
onlyInvalid | boolean | false | Filter to only invalid addresses |
outputFormat | string | "components" | components, single_line, or both |
Output Format
Each address produces one result:
{"original": "123 Main St Apt 4B, New York, NY 10001","isValid": true,"confidence": 0.95,"normalized": "123 MAIN ST APT 4B, NEW YORK, NY 10001, US","components": {"street": "123 Main St Apt 4B","houseNumber": "123","streetName": "MAIN","streetSuffix": "ST","unit": "4B","unitType": "APT","city": "NEW YORK","state": "NY","stateAbbreviation": "NY","zipCode": "10001","countryCode": "US"},"addressType": "residential","validation": {"hasStreet": true,"hasCity": true,"hasState": true,"hasZip": true,"zipFormatValid": true,"stateValid": true,"issues": []},"checkedAt": "2026-03-11T12:00:00.000Z"}
Confidence Score
| Range | Meaning |
|---|---|
| 0.90 – 1.00 | All components present, ZIP valid, state valid |
| 0.75 – 0.89 | All components present, minor issues |
| 0.50 – 0.74 | Missing one non-critical component |
| 0.25 – 0.49 | Missing multiple components |
| 0.00 – 0.24 | Unparseable or severely malformed |
Validation Issue Codes
| Code | Severity | Description |
|---|---|---|
MISSING_STREET | error | No street address detected |
MISSING_CITY | error | No city detected |
MISSING_STATE | error | No state/province detected |
MISSING_ZIP | error | No postal code detected |
INVALID_ZIP_FORMAT | error | ZIP doesn't match country format |
INVALID_STATE | error | State not recognized |
ZIP_STATE_MISMATCH | warning | ZIP code doesn't match state |
PO_BOX_DETECTED | info | Address is a PO Box |
Tips and Advanced Usage
- CRM cleanup: Set
onlyInvalid: trueto filter a mailing list to problematic records only - USPS formatting: Default settings apply USPS-standard formatting (uppercase, abbreviated state and suffixes)
- International batches: Set
defaultCountryto your most common country for better detection - Large batches: Process up to 100,000 addresses in a single run — all in-memory, no external calls
Pricing
$3.90 per 1,000 addresses validated (PPE — pay only for what you process)
Pricing includes all platform compute costs — no hidden fees.
| Use Case | Addresses | Cost |
|---|---|---|
| E-commerce daily orders | 200 | $0.78 |
| CRM cleanup | 5,000 | $19.50 |
| Mailing list prep | 50,000 | $195.00 |
FAQ
Does this verify the address actually exists (CASS certification)?
No. This actor validates format and structure — it does NOT confirm the address is a real, deliverable location. For CASS certification, use SmartyStreets or Lob.
What countries are supported?
US, Canada, UK, Germany, France, Australia, Japan, and 40+ more. ZIP code format validation covers 25 countries.
Can I input free-form addresses?
Yes. Free-form strings like "1600 Pennsylvania Ave NW, Washington DC 20500" are parsed automatically.
How does it handle apartment numbers?
Unit formats handled: "Apt 4B", "#4B", "Suite 200", "Unit 3", "Floor 12".
What's the difference between this and SmartyStreets?
SmartyStreets is CASS-certified (confirms real addresses via USPS database). This actor validates address format and structure without external API calls — 3x cheaper for format validation use cases.
Does it correct typos?
No fuzzy matching. Typos are flagged with POSSIBLE_TYPO but not auto-corrected to avoid false corrections.
Related actors by Junipr: Disposable Email Checker | Email Validator