API VERSION 1

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/v1

Authentication

Authorization: Bearer ep_live_your_key

Keep 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 size
401Missing, invalid or revoked API key
429Per-minute or monthly allowance exceeded
500Temporary server error

Data 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.