Educational

Address Parser API: What It Returns, Compared

Live responses from three messy US addresses, our published accuracy numbers, and five address-parsing options side by side, with vendor details checked October 5, 2026.

Ravi Ramanujan
October 6, 2026 · 7 min read · Last reviewed

An address parser API takes one line of address text and returns its parts as separate fields: house number, street name, street type, direction, unit, city, state, ZIP and ZIP+4. Some parsers also standardize casing, correct typos and report how confident they are in the result. Parsing splits an address into fields. Checking deliverability against postal data is a separate step, called verification.

What a parser returns: three messy inputs, live

We sent three badly typed US addresses to the sthan.io parser on October 4, 2026. Each column is one live call. The field names are the ones the API returns.

FieldInput 1Input 2Input 3
Typed as1600 pensylvania avenu nw washngton dcSeattle WA 98109 400 Broad St233 south wacker drive suite3300 chicago illinois
What is wrong with itThree typos, no commas, no ZIPCity, state and ZIP typed firstSuite glued to its number, state spelled out, no ZIP
addressNumber1600400233
streetPreDirnullnullS
streetNamePennsylvaniaBroadWacker
streetPostTypeAveStDr
streetPostDirNWnullnull
unitType / unitNumbernullnullnull (suite not confirmed)
cityWashingtonSeattleChicago
stateCodeDCWAIL
zipCode205009810960606
zip4000546077147
matchTierNearExactNear
confidence0.910.9
matchCode (what changed)street Corrected; city, ZIP and ZIP+4 InferredZIP+4 Inferredunit Unmatched; ZIP and ZIP+4 Inferred

Three things stand out. First, the typos in input 1 were fixed, and the response says so: the street is marked Corrected and the tier drops from Exact to Near. Second, the reordered input 2 came back Exact, because the parts were all right, only in the wrong order. Third, the parser could not confirm suite 3300 from input 3. It returned the building, marked the unit Unmatched and kept the tier at Near. If the unit matters to you, read the unit match code before you store the result.

The same building with the suite written as "Suite 3300" and the ZIP included, sent to the sthan.io verification endpoint, came back as 233 S Wacker Dr STE 3300, Chicago, IL 60606-6387 with deliverableStatus Confirmed. That is the job of verification; see cleansing vs verification vs standardization.

How accurate is parsing on messy input?

One example proves little. In August 2026 we ran the sthan.io parser on 26,943 corrupted versions of real, verified US addresses, sent to the live parser in its maximum-recovery mode. These are the published results:

MetricResult
Corrupted inputs tested (all verified real addresses)26,943
Recovered: formatting-only corruption (casing, separators, whitespace)99.9%
Recovered: single-field damage (a typo, a dropped field)96.2%
Recovered: structural damage (reordered fields, multiple errors)89.7%
Recovered: compound damage (several severe corruptions at once)71.2%
Recovered: average across all severities88.5%
Wrong answer with no warningat most 0.14% (about 1 in 700); wrong state: zero
Wrong answer, but flagged as uncertain3.4%
Returned nothing instead of guessing7.9%

The row to watch is the silent one: a wrong answer with no warning happened on at most 0.14% of inputs. Everything else that was wrong came back flagged or empty. The method and examples are in the US address parser accuracy benchmark, so you can run the same test on any vendor.

Address parsing options compared, October 6, 2026

We read each vendor's own documentation on October 4, 2026, and rechecked prices on October 5, 2026. The fields shown are taken from each vendor's documentation; long field lists are shortened.

APIWhat it isFields it returns (from its docs)FreePaid entry price
sthan.io US Address ParserUS parseraddressNumber, streetPreDir, streetName, streetPostType, streetPostDir, unitType, unitNumber, city, stateCode, zipCode, zip4, plus matchTier, confidence, matchCode100 a month, 10 a minute, no card$8 a month for 10,000
Smarty US Street Address API and US Extract APIUS verification API that returns components; Extract finds and validates US addresses inside full-text stringscomponents: primary_number, street_name, street_suffix, city_name, state_abbreviation, zipcode, plus4_code and more42-day trial, 1,000 lookups, no cardAnnual plans: $195 a year for 12,000 lookups, or $552 a year for 60,000
PostGrid parse endpointPart of its address verification API: "Break an address apart into its components"houseNumber, road, unit, level, poBox, postcode, city, state, country and more500 free creditsEssential: $18/month billed yearly, or $20/month billed monthly, for 2,000 lookups
Interzoid Address ParseParser for US and global addressesStreetNumber, PreDirection, StreetName, StreetSuffix, PostDirection, UnitType, UnitNumber, City, StateProvince, PostalCode, CountryFree trial credits for new accounts, usable on any Interzoid API; the amount is not stated (no free plan on its pricing page)$20 a month for 1,000 credits
APIVerve Street Address ParserUS street address parserstreetNumber, streetType, streetAddress, cityName, stateName, zipCode200 credits a month, non-commercial use, attribution required$29.99 a month for 200,000 credits; a parse costs 2 credits, so about 100,000 parses (our math)

Three differences matter more than price. Signals: sthan.io's response carries a confidence score and a per-field match code; Smarty's sample adds an analysis block with delivery-point (DPV) codes and footnotes; the Interzoid, APIVerve and PostGrid samples return the fields and a status. Units: APIVerve's documented response example does not show a unit field. Credits: Interzoid says one credit equals one API call except for premium APIs. APIVerve's Street Address Parser costs two credits per call, so its 200,000-credit Starter plan covers about 100,000 parses.

Open-source parsing libraries are another route. You run them on your own servers and keep them up to date yourself.

Geocoders parse too, but answer a different question

Geocoding APIs also split addresses into parts. Geocodio says address parsing and standardization is automatically included with all forward geocoding lookups, with 2,500 free lookups a day and $1 per 1,000 after that. Geoapify's Geocoding API returns the parsed query (housenumber, street, postcode, city, state) next to the coordinates, and its free plan gives 3,000 credits a day. Both are geocoders: their main output is a point on the map. They are a good fit if you need coordinates anyway. If you need postal fields and a signal of what was corrected, compare the parser APIs above.

Which one fits

You needLook at
Split typed US addresses into database columns, with a flag when something was correctedsthan.io US Address Parser
Find addresses inside emails, documents or web pagesSmarty US Extract API
Parse addresses outside the USInterzoid Address Parse, which supports global addresses
Parsed fields plus a postal deliverability statusA verification API that returns components, such as Smarty US Street or sthan.io verification
Coordinates as well as fieldsA geocoder, such as Geocodio or Geoapify

Where sthan.io fits. The sthan.io US Address Parser returns the fields above, plus a match tier, a confidence score and a per-field match code with each successful match. The free tier is 100 parses a month (10 a minute) with no credit card. Paid plans start at $8 a month for 10,000. If you also need to know an address is deliverable, sthan.io verification starts at $12 a month for 10,000, after 100 free a month. sthan.io is not CASS-certified.

Frequently Asked Questions

An address parser API takes a single line of address text and returns its parts as separate fields, such as house number, street name, unit, city, state and ZIP. The sthan.io parser also returns a match tier, a confidence score and a per-field match code that says what was corrected.
No. A parser splits an address into fields. Verification checks the address against postal data; sthan.io's verification response adds fields such as dpvConfirmation and deliverableStatus.
In our August 2026 benchmark of 26,943 corrupted real US addresses, run in the parser's maximum-recovery mode, it recovered the right address 99.9% of the time on formatting-only damage and 96.2% on a single typo or dropped field. A wrong answer with no warning happened on at most 0.14% of inputs, about 1 in 700.
Some can. Smarty's US Extract API finds and validates US addresses within full-text strings, with each request body limited to 64 kilobytes.
On October 5, 2026, sthan.io costs $8 a month for 10,000 parses after 100 free a month; Smarty's annual plan is $195 for 12,000 lookups; and Interzoid starts at $20 a month for 1,000 credits. PostGrid's 2,000-lookup Essential plan is $18 a month billed yearly or $20 billed monthly. APIVerve Starter is $29.99 a month for 200,000 credits, and its docs list 2 credits per parse, so about 100,000 parses (our math).

Sources

Live sthan.io API responses, benchmark results and product details read October 4, 2026; vendor pricing rechecked October 5, 2026 (APIVerve credits per parse and the Interzoid trial on October 6, 2026): sthan.io/pricing/united-states; smarty.com/pricing/us-address-verification and smarty.com/blog/monthly-vs-annual-plans-how-to-choose; smarty.com/docs/apis/us-extract-api/reference; avdocs.postgrid.com (Parse an Address) and postgrid.com/pricing-address-verification; interzoid.com/apis/address-parse, interzoid.com/pricing and interzoid.com/getting-started-apis; docs.apiverve.com/ref/streetaddressparser, docs.apiverve.com/api-endpoints, apiverve.com/marketplace/streetaddressparser and apiverve.com/pricing; geocod.io/guides/address-parsing and geocod.io/pricing; apidocs.geoapify.com/docs/geocoding/forward-geocoding and geoapify.com/pricing. Prices change; check the vendor page before you buy.

Parse 100 US addresses a month free

No credit card. Each successful match includes a match tier, a confidence score and what was corrected.

Ravi Ramanujan
Written by Ravi Ramanujan

Ravi Ramanujan writes about parsing messy freeform addresses, accuracy benchmarks on real corrupted input, and the failure modes parsers share.

More from Ravi Ramanujan