Germany uses a 5-digit postal code (Postleitzahl) and places the street name before the house number. No state or region field is required.
{
"countryCode": "DE",
"postalCode": "10115",
"addressLines": ["Friedrichstraße 43"],
"locality": "Berlin"
}| Field | Required | Description |
|---|---|---|
countryCode | Yes | Always "DE" |
postalCode | Yes | 5 digits |
addressLines | Yes (for shipment) | Index 0: street name and house number |
locality | Yes (for shipment) | City (Ort) |
administrativeArea | No | Bundesland — not required for delivery |
subLocality | No | Ortsteil — rarely needed |
- Format: Five consecutive digits
- Regex:
^\d{5}$ - Examples:
"10115","80331","20095" - Sanitization: The API strips all non-digit characters
German postal codes always start with 0-9. Leading zeros are significant (e.g., "01067" for Dresden).
The street name comes before the house number, without a comma.
| Scenario | addressLines value |
|---|---|
| Standard | ["Friedrichstraße 43"] |
| With apartment | ["Friedrichstraße 43", "3. OG links"] |
| With c/o | ["Friedrichstraße 43", "c/o Müller"] |
- Floor and apartment information go on the second line
- German conventions use abbreviations like
OG(Obergeschoss / upper floor),EG(Erdgeschoss / ground floor)
The locality field is the city (Ort or Stadt).
- Example:
"Berlin","München","Hamburg" - The city can be pre-filled from the postal code using the address form endpoint
| Mistake | Problem | Fix |
|---|---|---|
"addressLines": ["43 Friedrichstraße"] | Number before street | Germany uses street-first: ["Friedrichstraße 43"] |
"postalCode": "1115" | Missing leading zero | Preserve leading zeros: "01115" |
"locality": "Freistaat Bayern" | Using state instead of city | Use the city name: "München" |