EORI

GET/v0/eori

Validates an EORI (Economic Operators Registration and Identification) number — a unique identifier required for customs operations in the EU. The format is a 2-letter country code followed by a country-specific identifier (e.g. DE123456789012345 for Germany, PL123456789000000 for Poland). Validates the country code and country-specific format rules.

Guides: Node.js · Python

Try it

Query Parameters

ParamTypeRequiredDescription
valuestringYesThe EORI number to validate (e.g. DE123456789012345)
checkstringNoSet to true to verify the number against the EC EORI validation service (returns registration details)

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/eori?value=PL123456789000000"

Response Fields

FieldTypeDescription
validbooleanWhether the EORI number has a valid format
countryCodestringISO 3166-1 alpha-2 country code
countrystringCountry name
identifierstringThe national identifier part (after country code)
formattedstringNormalised EORI number (uppercased, no spaces)
errorstringError message when invalid
ecobjectEC validation result (only when check=true). Contains checked, valid, statusDescr, name, street, postalCode, city

Example Response

{
  "valid": true,
  "countryCode": "PL",
  "country": "Poland",
  "identifier": "123456789000000",
  "formatted": "PL123456789000000"
}

Example Response — Germany

{
  "valid": true,
  "countryCode": "DE",
  "country": "Germany",
  "identifier": "123456789012345",
  "formatted": "DE123456789012345"
}

Example Response — with EC check

{
  "valid": true,
  "countryCode": "PL",
  "country": "Poland",
  "identifier": "123456789000000",
  "formatted": "PL123456789000000",
  "ec": {
    "checked": true,
    "valid": true,
    "statusDescr": "Valid",
    "name": "EXAMPLE SP. Z O.O.",
    "street": "UL. PRZYKŁADOWA 1",
    "postalCode": "00-001",
    "city": "WARSZAWA"
  }
}