ParseForge Scrapers

Address Normalizer

parseforge/address-normalizer

AIAutomationDeveloper tools

Normalizes addresses from a list or CSV file into standardized components like street, city, state, ZIP, and country. Supports custom normalization rules.

Run this scraper See the API call
Total users
20
Monthly active
0
Total runs
280
Bookmarked
0
Rating
5.0 (1)
Last modified
12 days ago

Overview

ParseForge

Address Normalizer

Normalize messy address lists into clean, standardized records. Feed raw addresses or a CSV file and get back structured components like street, city, state, ZIP, and country. No geocoding API key required.

Address data arrives dirty: inconsistent casing, missing ZIP codes, abbreviations, and typos. This Actor cleans and standardizes each address into a consistent format, ready for CRM imports, mailing lists, or analytics. It accepts a list of addresses or a CSV file and returns normalized fields for every input.

Who uses it What they scrape Address Normalizer for
Data analysts Cleaning address columns before joining datasets or running reports
Marketing teams Preparing mailing lists for direct mail campaigns
CRM administrators Deduplicating and standardizing customer address records
E-commerce managers Validating shipping addresses before order fulfillment

What it does

This Actor normalizes addresses from a list or CSV file and returns each address as a structured object with standardized components.

  • ๐Ÿ“‹ List input: paste addresses directly, one per line, or as JSON objects with address fields
  • ๐Ÿ“ CSV file input: upload a CSV or provide a URL; the Actor reads an 'address' column or component columns
  • ๐Ÿงน Default normalization: standardizes casing, expands common abbreviations, and fills missing ZIP codes when possible
  • โœ๏ธ Custom prompt: provide your own normalization rules to override defaults

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Address Normalizer data

๐Ÿงน Clean CRM data.

A sales ops manager uploads a CSV of 10,000 customer addresses and gets back standardized fields to merge duplicate records.

๐Ÿ“ฌ Prepare mailing lists.

A direct mail agency normalizes client address lists to meet USPS formatting guidelines before printing.

๐Ÿ“Š Improve analytics.

A data analyst normalizes address fields from multiple sources to enable accurate geographic segmentation.

๐Ÿšš Validate shipping addresses.

An e-commerce store normalizes checkout addresses to reduce failed deliveries and returned packages.

Why choose this scraper

What you get
No API key Works without external geocoding services
Batch processing Handles thousands of addresses in one run
Flexible input Accepts strings, objects, or CSV files
Customizable Override default rules with your own prompt

How it compares

This Actor focuses on address normalization, while the competitor listed below extracts transcripts from Instagram Reels, a different data type.

Feature ParseForge Instagram AI Transcript Extractor
Address normalization Yes Not listed
CSV file input Yes Not listed
Custom normalization rules Yes Not listed
Returns structured address components Yes Not listed
No API key required Yes Not listed

Configure the run

Provide addresses as a list or CSV file, and optionally supply a custom prompt to control normalization rules. The Input tab lists every parameter.

A first run with the defaults:

{
  "addresses": [
    "123 main st new york ny 10001",
    "456 oak avenue los angeles ca",
    "789 pine road chicago il 60601"
  ]
}

Pricing

Pay-per-result: $0.045 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $4.50
1,000 results $45.00
10,000 results $450.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Address Normalizer.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Address Normalizer through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/address-normalizer"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Make sure you provided addresses in the 'addresses' field or a valid CSV file. If both are empty, the Actor has nothing to process.

Why are some addresses not normalized correctly?

The default rules may not cover all edge cases. Try providing a custom prompt with specific instructions for those addresses.

Why does my CSV file fail to load?

Ensure the CSV is publicly accessible if using a URL, and that it has the expected columns. For uploaded files, check the file format and encoding.

Why is the run taking so long?

Large address lists can take time. Consider splitting the input into smaller batches or using a CSV file for more efficient processing.

Why do I see duplicate addresses in the output?

The Actor does not deduplicate by default. If you need deduplication, provide a custom prompt or post-process the results.

FAQ

Question Answer
What address formats does this Actor support? It accepts free-form strings like '123 main st new york ny 10001' as well as structured objects with fields like street, city, state, zip, and country. CSV files can have a single 'address' column or separate component columns.
Does this Actor geocode addresses to latitude and longitude? No, it only normalizes the address text into standardized components. It does not return coordinates.
Can I use my own normalization rules? Yes, provide a custom prompt in the input and the Actor will apply your instructions instead of the default rules.
How many addresses can I process in one run? There is no hard limit, but very large lists may take longer. For best performance, use a CSV file for bulk input.
What does the output look like? Each input address is returned as an object with normalized fields such as street, city, state, postal code, and country, along with the original input for reference.
Does it work with international addresses? The default rules are optimized for US addresses, but you can provide a custom prompt to handle other countries.
Can I provide a CSV file from a URL? Yes, the csvFile input accepts either an uploaded file or a URL to a publicly accessible CSV.
What if my CSV has different column names? The Actor expects an 'address' column or columns named street, city, state, zip, and country. If your columns differ, rename them before uploading or use a custom prompt to map them.
Is there a way to preview the normalization before running the full job? You can run a small test with a few addresses to see the output format before processing a large file.
Does this Actor store my address data? Apify stores the results in your dataset, but you can delete them after the run. The Actor itself does not retain data beyond the run.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Address Normalizer. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
addresses array List of addresses to normalize. Each address can be a string or an object with address fields. You can also provide a CSV file URL instead. ["123 main st new york ny 10001","456 oa
csvFile string Upload a CSV file containing addresses, or provide a URL to a CSV file. The CSV should have an 'address' column or columns for address components (street, city, state, zip, country). If provided, addresses array will be ignored. not set
customPrompt string Optional custom instructions for address normalization. If not provided, default normalization rules will be used. not set

Pricing

from $9.50 per 1,000 results

Charged forWhat it isPrice each
Actor Start Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). $0.035 to $0.045
result Single result in the default dataset. $0.0095 to $0.015

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~address-normalizer/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

Rated 5.0 out of 5 across 1 review. Read them on Apify.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Address Normalizer on Apify All scrapers