EORI validation API
One GET request checks an EORI number against the register that issued it and returns JSON: HMRC for GB numbers, the European Commission for the 27 EU member states and XI. The free plan includes 500 requests a month, shared with VAT validation.
500 requests a month on the free plan. No credit card required.
One request, one JSON answer
# Set AVATCADO_API_KEY in this server environment first.
curl --max-time 30 \
"https://api.avatcado.com/v1/eori/validate?eori_number=GB123456789000" \
--header "Authorization: Bearer $AVATCADO_API_KEY"{
"data": {
"valid": true,
"eori_number": "GB123456789000",
"country_code": "GB",
"company": {
"name": "EXAMPLE TRADING LTD",
"address": "1 HIGH STREET, LONDON, SW1A 1AA"
},
"requested_at": "2026-11-13T09:19:29.000Z"
},
"meta": {
"request_id": "550e8400-e29b-41d4-a716-446655440000",
"request_duration_ms": 312,
"source": "hmrc",
"source_status": "live",
"cached": false,
"stale": false
}
}valid says whether the register lists the number. company holds the trader's name and address when the register publishes them, and is null otherwise. meta.source names the register that answered, and meta.source_status says whether the answer is live, cached or a stored answer served during an outage.
What the API does for you
| Without it | With it |
|---|---|
| A SOAP client for the EU register and a separate JSON client for HMRC | One GET request. The prefix decides the register |
| The EU register answers "not valid" for a GB number that HMRC lists as valid | GB goes to HMRC, XI and the EU go to the Commission |
| One malformed number makes either register refuse the whole request | A 422 invalid_eori_format that names the rule, before any register is called and without using quota |
| Uppercase, no spaces, or the request fails | gb 123.456.789 000 is accepted and normalized |
| A Greek number typed with the VAT prefix EL comes back "not valid" | EL is rewritten to the EORI prefix GR |
| Your own retries and storage for register outages | Up to three attempts, then the last stored answer flagged unavailable, or a 503 that is not counted |
Each row was measured against the live registers on 13 November 2026. The details are in the guides to the EU EORI validation service and the HMRC EORI check API, including code for calling both directly if that suits you better.
Try it on a real number
The checker below calls the same endpoint. Open the raw JSON to see the full response.
Enter an EORI number to see whether it is valid, who holds it and which register answered
Coverage
| Prefix | Register | meta.source |
|---|---|---|
GB | HMRC, Check an EORI number | hmrc |
XI | European Commission EORI validation service | ec_eos |
| 27 EU member states | European Commission EORI validation service | ec_eos |
Pricing
An EORI check counts as one request against the same monthly quota as VAT validation. There is no separate EORI plan.
| Plan | Requests per month | Requests per minute |
|---|---|---|
| Free | 500 | 20 |
| Pro | 10,000 | 60 |
| Business | 50,000 | 120 |
A malformed number and a register outage with no stored answer are not counted. Prices are on the pricing page.
What it does not do
- One number per request. There is no batch or async endpoint for EORI numbers.
- No webhook when an EORI number's status changes.
- No search by company name. Neither register offers one.
- No second register to fall back on. During an outage the API can only serve an answer it stored earlier.
- The Node.js and Python SDKs do not have an EORI method yet. Call the endpoint over HTTP.
EORI and VAT numbers on one key
An EORI number is a customs registration and a VAT number is a tax registration, so a system that ships goods to business customers often needs both checks. The same API key calls GET /v1/validate for VAT numbers in 32 countries. See EORI number vs VAT number for when to check which, or try the free EORI checker and VAT checker.
Frequently asked questions
Sources
- EORI validation service WSDL European Commission, accessed November 13, 2026
- Check an EORI number API 1.0 HMRC Developer Hub, accessed November 13, 2026
- Finding and checking an EORI GOV.UK, accessed November 13, 2026
- Economic Operators Registration and Identification number (EORI) European Commission, accessed November 13, 2026