Same geocoder. New look. See what’s new

Address parsing, cleanup, and standardization. Without writing a regex.

Address data rarely arrives clean. It comes from web forms, legacy systems, third-party files, and people typing on phones. Before any analysis, mapping, or matching can happen, the addresses have to be readable, complete, and consistent.

Geocodio handles that step automatically. Every result comes back parsed into components, standardized to USPS or Canada Post conventions, and completed where parts were missing.

Quick Answer: How does Geocodio clean up addresses?

Geocodio parses and standardizes every address it processes, then fills in missing pieces like city, state, ZIP, or county. Spelling errors and formatting inconsistencies are corrected automatically. You also get a stable address key for each result, which makes deduplicating customer or property lists much easier. All of this is included with every lookup. The first 2,500 lookups per day are free.

Address cleanup is the work of turning messy address data into something a database, map, or matching process can actually use. It usually means four jobs: correcting typos and missing pieces, parsing the address into components, standardizing the format, and generating a consistent identifier for the same physical address. Geocodio does all four on every lookup.

Address correction

When addresses arrive from web forms, third-party files, or hand-entered records, they show up with typos, transposed digits, missing pieces, and inconsistent formatting. Geocodio corrects these automatically based on the closest valid match.

  • "Hillywud Booleyvrd" becomes "Hollywood Boulevard"

  • A ZIP code missing one digit gets resolved against the city and state

  • "Saint" and "St." both standardize to "St"

  • Addresses with only a city and ZIP fill in the state

The original input is preserved alongside the corrected result, so you can always see what changed.

Address parsing

Parsing splits an address string into its component parts: street number, street name, suffix, unit, city, state, ZIP, and country. This works whether the address arrives as a single field, split across multiple columns, or some inconsistent mix of both.

Every Geocodio result includes both the parsed components and the full formatted address. You can use whichever fits your workflow.

Field What it is
address_components The address split into street number, street name, suffix, city, state, ZIP, country, and county
formatted_address The full address in a single, standardized string
location Latitude and longitude
accuracy A score from 0 to 1 describing how confident Geocodio is in the match
accuracy_type The level of detail matched (rooftop, range interpolation, intersection, etc.)
source Which dataset the match came from

For more on how parsing handles edge cases (PO boxes, military addresses, intersections, and the like), see the address parsing guide.

Address standardization

Standardization is the step that makes addresses consistent so they can be matched, sorted, or stored without ambiguity. Geocodio standardizes every address to USPS conventions for US addresses and Canada Post conventions for Canadian ones.

That means street types get abbreviated consistently ("Boulevard" becomes "Blvd"), states use two-letter codes, directional prefixes get a standard format, and capitalization is normalized.

The standardized address is what gets used to generate the stable address key, so consistent standardization is what makes deduplication reliable downstream.

Address de-duping

The same address can be written a dozen different ways. "123 Main St," "123 Main Street," "123 main st apt 4," and "123 MAIN ST #4" all describe the same physical place. Matching them across systems is one of the most common reasons address data becomes hard to work with.

Geocodio's stable address keys make this a single-column join instead of a fuzzy matching project. Here's how to use them.

How to de-dupe an address list with stable keys

  1. Send your address list through Geocodio (spreadsheet upload or API).

  2. Every result comes back with a stable address key in the response.

  3. Group or join your records on that key. Duplicates collapse into a single group regardless of how each version was originally written.

  4. If you're loading data into a warehouse, store the key as a column. New records can be geocoded as they arrive, and any address that matches a physical place you've seen before will get the same key.

Use cases

  • Deduplicate a customer list pulled from multiple CRMs or lead sources

  • Match property records across years of MLS data

  • Join records from a billing system, a CRM, and a support tool on a single identifier

  • Detect when the "new" address in a form is actually one you already have

For implementation details and examples, see the stable address keys guide.

Address cleanup via API

The Geocodio API runs cleanup, parsing, standardization, and key generation on every request. There's no separate endpoint or flag to enable. Send an address, get back the cleaned and parsed result with coordinates.

A typical request looks like this:

https://api.geocod.io/v1.12/geocode?q=1109+N+Highland+St,+Arlington+VA&api_key=YOUR_API_KEY

The response includes the parsed components, the standardized full address, the stable address key, the coordinates, and an accuracy score. You can also request additional data appends like Census tracts, Congressional districts, or timezones in the same call.

For high-volume processing, the API accepts batch requests of up to 10,000 addresses per call. See the API documentation for full request and response formats.

Good fits for the API

  • Cleaning addresses as they're submitted to a form

  • Validating addresses in a checkout or signup flow

  • Processing addresses as part of an ETL pipeline or data warehouse load

  • Geocoding inside an application without a manual step

Address cleanup via spreadsheets

If your addresses live in a spreadsheet, you can run cleanup without writing any code. Upload a CSV, XLSX, XLS, TSV, or ZIP file at geocod.io/upload and Geocodio returns the same cleaned and parsed results as columns added to your original file.

Files up to 1 GB are supported, which works out to roughly 10 million addresses per upload.

A typical spreadsheet workflow

  1. Upload the file. Geocodio auto-detects which columns contain address data.

  2. Review the column mapping and the sample preview.

  3. Optionally select additional data appends (Census, school districts, Congressional districts, and more).

  4. Geocodio processes the file and emails you when it's ready. Most files finish in a few minutes.

  5. Download the result. Your original columns are preserved; the cleaned address, parsed components, stable key, coordinates, and any appends are added as new columns.

For details on formatting addresses to get the best results, see the guide to preparing your spreadsheet.

Good fits for spreadsheet upload

  • One-off list cleanups

  • Ad-hoc analysis or reporting work

  • Marketing lists, customer exports, voter files, property lists

  • Anything where the addresses already live in a file rather than a database

We bought a list of addresses from the USPS that was incomplete. Using Geocodio, we were able to get the missing information for thousands of addresses in a few minutes. It was simple and easy.

Avertra Corporation

Common questions about address cleanup

Parsing splits an address string into its component parts (street, city, state, ZIP). Geocoding adds latitude and longitude coordinates. Geocodio does both in the same request.

Yes. Common misspellings, transposed digits, missing pieces, and inconsistent formatting are corrected automatically based on the closest valid match. The original input is preserved alongside the corrected result.

Pretty much any. Single-string addresses, addresses split across columns, addresses with extra punctuation, addresses missing pieces. Geocodio parses them all. The guide to preparing your spreadsheet covers the formats that work best for bulk uploads.

A unique identifier Geocodio returns for every address, generated from the standardized result. The same physical address always gets the same key, regardless of how it was written. Useful for deduplication and joining records across systems.

Geocodio currently handles US and Canadian addresses. UK support is in development.

Each result includes an accuracy score from 0 to 1 and an accuracy type describing the level of detail matched. You can filter results by these fields if your application needs a confidence threshold.

First 2,500 lookups per day are free

No credit card required

Related resources

API documentation

See the full response format and all the data you can request in a single call.

Go to docs

Prepare your spreadsheet

A short guide on the best ways to format addresses for bulk uploads.

Read guide

Add more data in one request

ZIP+4, school districts, Census tracts, Congressional districts, and more.

See data types

Address parsing library

If you just need parsing without geocoding, Libpostal is a good open-source option. (Not affiliated with Geocodio.)

Go to GitHub