Skip to content

How an address is written in Germany

An address in Germany is written in this order: street name and house number, then postal code (five digits) and town or city on one line. The strongest check here is a building-level one: the registers of Berlin, North Rhine-Westphalia and Rhineland-Palatinate list 6,310,832 addresses in Germany (oldest file 30 March 2026), though not every address there.

The order the lines go in

The parts are named rather than filled in: Spaw does not know an address in Germany and will not invent one. This block is produced by the same function that rewrites a real address, so the line order, the capitals Germany asks for and any text its operator prints on every envelope are the checker's own behaviour rather than a second description of it.

Organisation
Street name 12
Flat or unit
Postal code Town or city

No recipient line: nothing in the response is about a person, so the name the envelope carries is not part of what is checked.

fieldcalled hererequiredcapitals
organizationOrganisationoptional—
addressLine1Street namerequired—
addressLine2Flat or unitoptional—
localityTown or cityrequired—
postalCodePostal coderequired—

In Germany the house number follows the street name, and that is the side it is written back on when the checker rewrites an address. The postal code is written before the town.

Can Spaw tell whether an address in Germany exists?

Partly. The registers of Berlin, North Rhine-Westphalia and Rhineland-Palatinate list 6,310,832 addresses in Germany (oldest file 30 March 2026), but not every address there: a partial address register confirms what it holds and denies nothing. An address that is listed answers exists: true; one that is not answers null — not evaluated, never no. Only Berlin, North Rhine-Westphalia and Rhineland-Palatinate are covered, so an address anywhere else in Germany answers null as well.

A postcode directory answers a different question. The postal code is settled separately by GeoNames' postal code list, which is recorded as complete: one it does not hold answers postcode_not_found.

registercoverslistscoverageversion
Berlin's address register (Amt für Statistik Berlin-Brandenburg) de-berlin-adressenBerlin403,070 addressespartial2026-11-01
Geobasis NRW's building references de-nrw-gebaeudereferenzenNorth Rhine-Westphalia4,503,290 addressespartial2026-07-01
LVermGeoRP's house coordinates de-rlp-hauskoordinatenRhineland-Palatinate1,404,472 addressespartial2026-03-30

Further reading: How to read an address-existence answer and How an open register locates a building.

Check an address in Germany

The same lookup the API runs, with Germany already selected.

Live demo

POST /demo/address · no key needed

try:

Response

Look up any address to see the full API response, straight from the live service. The country decides which format it is read against.

The postal code

Postal codes in Germany are five digits.

pattern \d{5}

A postcode list from a multi-country source is installed for Germany, so a postal code here is not only checked for shape but looked up: 10,815 postal codes from GeoNames' postal code list, version 2026-10-31. It lists current codes only, so a retired code is not told apart from one it does not hold.

What Germany calls an address that is not a front door

A PO box, a private mailbox and the other kinds of delivery point below are told apart by the words written on the address, never by a list of whose box is whose. The rows marked as the operator's own words are taken from the addressing guide of the postal operator in Germany; the others are international spellings, not the operator's own. All of them are what the checker reads, and because an entry is carried for Germany, an address here with none of them answers street.

address_type written as
private_mailbox Private mailbox at a mail-receiving agencyPMBinternational spellings the checker also reads
po_box Post-office boxPOSTFACHthe operator's own words
general_delivery Held at the counter for collectionPOSTLAGERNDthe operator's own words
parcel_locker Parcel lockerPACKSTATIONthe operator's own words

What can be checked for an address in Germany

Read from the datasets this server holds right now, not written into the page. For most countries the answer is the written form and the postcode shape and nothing beyond them — in particular not the row people assume is always there.

check for DE what the answer means
Written formyesThe address is split into the country's own parts and rewritten in the order above. A missing required part is named in one typed reason rather than a general failure.
postal code patternyesChecked against the pattern the table carries for Germany. A value that does not match answers invalid_postal_code.
postal code existsyes10,815 postal codes from GeoNames' postal code list. It lists current codes only, so a retired code is not told apart from one it does not hold.
Kind of delivery pointyesThe operator's own box words are carried for Germany, so an address with no marker answers street rather than unknown.
Street existsyesThe address register carries every street its buildings stand on, so match_level answers street when the street is known and the building is not.
Building existsyes6,310,832 addresses in Germany from Berlin's address register (Amt für Statistik Berlin-Brandenburg), Geobasis NRW's building references and LVermGeoRP's house coordinates. They do not list every address in Germany, so a match answers exists: true and a miss still answers null.
Companies at the addressnoNo open company register is installed for Germany, so companies_registered answers null and no mail-drop conclusion is drawn from a count.
Known mailbox branchnoNo operator branch list covers Germany, so is_mail_drop is never set from one here.
Post actually arrivesnoNot from this page, and not from open data in any country: whether post is delivered, and the vacant, residential and agency flags that go with it, are the postal service's own licensed product. Those fields answer deliverability_checked: false rather than a guess.

Null means not evaluated, never no.

Other countries

Sources

  • Google's Address Data Service · address-formats 2026-09-05© Google LLC, CC BY 4.0 (Google Address Data Service); initial import via commerceguys/addressing (MIT)
  • The postal operators' addressing guides · address-rules 2026-09-17
  • Berlin's address register (Amt für Statistik Berlin-Brandenburg) · de-berlin-adressen 2026-11-01Geoportal Berlin / Adressen Berlin, Amt für Statistik Berlin-Brandenburg, Datenlizenz Deutschland – Zero – Version 2.0 (dl-de/zero-2-0)
  • Geobasis NRW's building references · de-nrw-gebaeudereferenzen 2026-07-01Gebäudereferenzen NRW, Geobasis NRW (Bezirksregierung Köln), Datenlizenz Deutschland – Zero – Version 2.0 (dl-de/zero-2-0)
  • LVermGeoRP's house coordinates · de-rlp-hauskoordinaten 2026-03-30© GeoBasis-DE / LVermGeoRP, Landesamt für Vermessung und Geobasisinformation Rheinland-Pfalz, Datenlizenz Deutschland – Namensnennung – Version 2.0 (dl-de/by-2-0)
  • GeoNames' postal code list · geonames-postal-codes 2026-10-31Postal codes, places and centroids from GeoNames (geonames.org), CC BY 4.0.

Data synced on 2026-11-01: the newest version among the datasets listed above.

Wrong result, or is it about you? If this tool said something you think is wrong, tell us and a person reads it. If Spaw is holding data about you and you never signed up here — a customer may have had your address verified, or reported that a message to it bounced — erase it yourself, confirmed by mail to that address and with no account needed.

More free tools

All free tools

Need this at scale?

The Spaw API runs the same check with batch and bulk endpoints, monitored address lists, your own suppression list and outcome reporting — 100 free credits a month, no card required.

Get your API key