# How to Verify an Address: Format, Existence, Occupant

> To verify an address, check it at three levels. First the format: postcode pattern, house number, line order. Then existence: match it against postal data, for example with the USPS ZIP Code lookup or an address validation API. Finally the occupant, if it matters, with a document or a letter that must be answered.

- URL: https://address-valid.com/validation/verify-an-address/
- Language: en
- Updated: 2026-10-19
- Publisher: AddressValid (OnlineBuilders LLC, https://onlinebuilders.biz)

Look at the photo above. The sign says Staromiejska. The street is actually called Starowiejska. One letter, and a sign that has been bolted to a wall is wrong. Addresses in databases are wrong in the same quiet way, and nobody notices until a parcel comes back.

"Verify an address" can mean three different things, and the right tool depends on which one you need.

## Three levels of verification

**What you can actually verify**

1. **Format** Is it written correctly for its country? Postcode pattern, house number, line order. Instant and free.
2. **Existence and deliverability** Does this street, number and unit exist in postal reference data? Needs a lookup or API.
3. **Occupant** Does a specific person or company receive mail there? Needs a document or a response from that person.

Most people asking "how do I verify an address" need the second level. Someone typed an address, and you want to know whether a carrier can deliver to it. Banks and landlords need the third. Developers building forms usually start with the first and should not stop there.

## Level one: the format check

Format checks look only at the shape of the address. It finds the errors that happen at the keyboard: a German postcode with four digits, a UK postcode with the letter O where a zero belongs, a missing house number, a city typed into the postcode field.

Our [address format checker](https://address-valid.com/address-checker/) does this for 15 countries without sending anything off your device. It also prints the address in the order the destination's post expects. That catches a separate problem with international addresses: right content, wrong order.

What a format check cannot do is tell you whether `SW1A 1AA` belongs to the street you typed. Postcodes can be perfectly formed and still wrong. The same goes for regular expressions in your own code; [our postcode regex article](https://address-valid.com/validation/postcode-regex/) shows exactly where pattern checks stop.

## Level two: does the address exist?

For this you need data from the people who deliver the mail. Each large postal operator maintains a reference file of delivery points. Royal Mail's Postcode Address File held 32,429,019 delivery points in August 2026. USPS maintains its own address management system behind the ZIP+4 file.

For single addresses, the free routes are the national lookups. The [USPS ZIP Code lookup](https://tools.usps.com/zip-code-lookup.htm) takes a street address and returns the ZIP Code for it; if it cannot find the address, that is already a warning sign. Royal Mail offers a free postcode finder on its website, and Canada Post has a postal code finder that works the same way. USPS adds a caveat on its own page that applies to all of them: a ZIP Code result does not confirm that a person or company is at that address.

For more than a handful of addresses, use an address validation API. These match against postal and commercial data and tell you how far the match goes. Google's Address Validation API, for example, returns a `validationGranularity` value, where `PREMISE` or `SUB_PREMISE` indicates a match down to the building or unit, and for US addresses a USPS delivery point validation code:

| DPV code | Meaning | What to do |
|---|---|---|
| Y | Building and any unit confirmed | Accept |
| D | Building confirmed, unit missing | Ask for the apartment or suite |
| S | Building confirmed, unit given but not confirmed | Ask the customer to check the unit |
| N | Not confirmed | Ask for a correction |
| empty | Not submitted for this check | Treat as unverified |

The D and S rows deserve attention. Both mean the building exists, so a lazy check would pass the address. The parcel will still struggle in a building with 200 letterboxes and no apartment number. Our comparison of [address validation APIs](https://address-valid.com/validation/address-validation-api/) covers what else to look for when choosing one.

## Why maps are not proof

Typing an address into a map app feels like verification. Up pops a pin, the street looks right. The trouble is that map services often estimate positions along a street when they do not know a specific house. Ask for number 999 on a street that ends at 120 and you may still get a pin somewhere plausible.

Maps are useful for one thing: spotting gross errors, such as a postcode in another city. For deliverability, use postal data.

## Where undeliverable mail really comes from

The US Postal Service's Inspector General published a breakdown of undeliverable-as-addressed (UAA) mail in 2015, based on a 2006 joint study with mailers. Business mailers caused about 35 percent of it. Within that share, the causes looked like this:

**Causes of undeliverable mail attributed to business mailers**

| Item | Value |
|---|---|
| Insufficient address: spelling | 26.9 % |
| Insufficient address: directional | 20.9 % |
| Forwarding time expired | 15.8 % |
| Not processed in time | 12.8 % |
| No such number | 12 % |
| All other | 6 % |
| No such street | 5.6 % |

Source: USPS OIG report MS-MA-15-006 (2015), citing a 2006 MMA study

Spelling and missing directionals (the NW in `1600 PENNSYLVANIA AVE NW`) together make up almost half. Both are exactly what a postal data match fixes and a format check cannot. "No such number" and "No such street" are the existence problems from level two. "Forwarding time expired" is a different issue: the address was right once, and the person has moved. That one needs change-of-address data, explained in our article on [national change of address](https://address-valid.com/data-quality/national-change-of-address/).

The figures are old, and the study is from the US. Still, they are among the few published breakdowns from a postal operator, and the pattern is plausible anywhere: most bad addresses are almost right.

## Level three: who lives there

Postal data confirms a delivery point, not a resident. If you need to know that a specific person receives mail at an address, you have two options:

- Ask for a recent document that shows name and address, such as a utility bill, a bank statement or a government letter.
- Send a letter with a one-time code and ask the person to enter it. If they can, they have access to that letterbox.

Banks, payment providers and some marketplaces do this as part of know-your-customer checks, under rules that differ by country. For an online shop, it is usually overkill. Shops need deliverability, not identity.

## Building verification into a process

For a one-off address, the routine is quick: format check, postal lookup, and a message to the recipient if the unit is missing. For a business, the same routine belongs in the checkout and the CRM, so bad addresses are caught when they are typed and not when the parcel comes back. Connecting validation APIs, move data and your customer records is a data integration job; studios such as [OnlineBuilders](https://onlinebuilders.biz/solutions/data-analytics) build that kind of pipeline.

Start with the address in front of you. Run it through the format checker, then look it up with the national post of the destination country, and only ship once both agree.

## Step by step

1. **Check the format** Run the address through a format checker for the destination country: postcode pattern, house number present, city and postcode in the right fields.
2. **Look it up in postal data** Use the national post's free lookup for single addresses, or an address validation API for many. Note whether the match reaches the building and the unit.
3. **Resolve partial matches** If the building matches but the apartment is missing or unknown, ask the person for the unit before shipping.
4. **Verify the occupant if needed** For contracts or account opening, request a recent document or send a letter with a confirmation code.

## FAQ

### Can I verify an address for free?

For single addresses, yes. National postal services offer free lookups, such as the USPS ZIP Code lookup or Canada Post's postal code finder, and a format checker catches typing errors. For lists of thousands of addresses you will need a paid API or a batch cleansing service.

### Does Google Maps prove that an address exists?

No. Map services often place a pin by estimating along a street, so a house number that does not exist can still get a plausible location. A postal data match is the stronger test of whether mail can be delivered there.

### How do I verify that a person lives at an address?

Postal data cannot tell you that. The usual methods are a recent document such as a utility bill or bank statement, or a letter with a code that the person has to enter. Regulated businesses follow their own know-your-customer rules for this.

### What is the difference between address validation and verification?

People use the words loosely. In practice, validation usually means the address is formally correct and matches reference data, while verification often extends to checking that a particular person is connected to it.

Photo: Pomeranian, CC BY-SA 4.0 (https://commons.wikimedia.org/wiki/File:Street_sign_at_ulica_Starowiejska_in_Gdynia._Name_of_street_at_sign_contain_the_misprint.jpg)