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",
"countryCode": "DE",
"zone": "10",
"locality": "Berlin",
"longitude": 13.3846,
"latitude": 52.5323
}]
}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-08-19
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. Source coverage and postal systems differ by country. See data methodology before using results for routing or pricing.