EuroPostcode API documentation
The REST API returns JSON over HTTPS. Production endpoints require an API key in the Authorization header.
Base URL
https://europostcode.com/api/v1Authentication
Authorization: Bearer ep_live_your_keyKeep API keys on your server. Do not embed a production key in browser JavaScript, a mobile binary or a public repository.
Exact postcode lookup
GET /postcodes/{country}/{postcode}Country uses an ISO 3166-1 alpha-2 code. Spaces and punctuation in the postcode are normalized before matching.
{
"query": { "postcode": "10115", "country": "DE" },
"valid": true,
"matches": [{
"postcode": "10115",
"normalizedPostcode": "10115",
"countryCode": "DE",
"zone": "10",
"locality": "Berlin",
"longitude": 13.3846,
"latitude": 52.5323,
"precision": "postcode-reference-point",
"confidence": 0.95,
"source": "geonames+gisco",
"dataVersion": "2025-2026.06",
"regions": { "nuts3": "DE300", "urbanisation": "city" }
}]
}Normalize and autocomplete
GET /postcodes/normalize?country=NL&postcode=1012js
GET /postcodes/autocomplete?country=DE&q=101&limit=10Normalization returns the canonical display format when known. Autocomplete accepts a postcode prefix of at least two characters.
Nearby and reverse lookup
GET /postcodes/nearby?lat=52.52&lng=13.405&radiusKm=25&limit=20
GET /postcodes/reverse?lat=52.52&lng=13.405&country=DENearby results include distance in kilometres. Reverse lookup returns the closest known postcode reference point; it does not prove that the coordinate is a deliverable address.
Coverage metadata
GET /coverageThis public endpoint reports record counts, generation date, source combinations and licences for all 44 supported countries.
Batch validation
POST /postcodes/batch
Content-Type: application/json
{"items":[{"country":"DE","postcode":"10115"},{"country":"FR","postcode":"75001"}]}Batch size depends on the plan: Test 10, Starter 100, Business 1,000 and Enterprise 5,000 items.
Usage headers
X-RateLimit-Limit: 10000
X-RateLimit-Remaining: 9974
X-API-Version: 2026-09-07
X-Request-Id: ...Errors
400Invalid input or batch size401Missing, invalid or revoked API key429Per-minute or monthly allowance exceeded500Temporary server errorData notes
Returned coordinates are reference locations, not verified delivery points. Confidence describes our source agreement and coverage—not address deliverability. Source coverage and postal systems differ by country. See data methodology before using results for routing or pricing.