Check a UK EORI Number API
Date | Amount |
---|---|
Version and status | |
Available in Sandbox | Yes |
Sandbox base URL | https://test-api.service.hmrc.gov.uk |
Available in Production | Yes |
Production base URL | https://api.service.hmrc.gov.uk |
Overview
This API enables your application to:
- check if an EORI number beginning with GB (issued by the UK) is valid.
- view the name and address of the business that the EORI number is registered to (if the business agreed to share this information).
Versioning
When an API changes in a way that is backwards-incompatible, we increase the version number of the API. See our reference guide for more on versioning.
Errors
We use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:
- 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action
- 400 to 499 if it failed because of a client error by your application
- 500 to 599 if it failed because of an error on our server
Errors specific to each API are shown in the Endpoints section, under Response. See our reference guide for more on errors.
Testing
You can use the sandbox environment to test this API.
In the sandbox environment the last digit of each EORI Number will return each type of CheckResponse:
- 0 or 1 Vaild with no TraderName or Address
- 2 to 5 Vaild with TraderName and Address
- 6 or 7 Vaild with no TraderName or Address
- 8 or 9 Invalid
Access a set of mock EORI numbers to use when testing in the sandbox environment.
Endpoints
/customs/eori/lookup/check-multiple-eori
Check multiple eori numbers
POST
This endpoint is used to retrieve a list of validated EORI numbers.
The endpoint will also retireve the business' company name and address if the business has allowed it.
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Content-Type
required
|
Specifies the format of the request body, which must be JSON. application/json
|
See also fraud prevention.
Request
Scenario: Check multiple EORI Numbers example
{ "eoris": [ "GB123456789133", "GB123456789136", "GB8392848394939" ] }
Name | Description |
---|---|
eoris
array
required
|
The unique identifier, also known as the eori number |
Responses
HTTP status 200 (OK)
Check multiple EORI Numbers example
[ { "eori": "GB123456789133", "valid": true, "companyDetails": { "traderName": "Aviationstr", "address": { "streetAndNumber": "141B Halsey Place", "cityName": "Huddersfield", "postcode": "HD98 2LI" } }, "processingDate": "2021-01-05T09:54:08+00:00" }, { "eori": "GB123456729136", "valid": true, "processingDate": "2021-01-05T09:54:08+00:00" }, { "eori": "GB8392848394939", "valid": false, "processingDate": "2021-01-05T09:54:08+00:00" } ]
HTTP status 400 (Bad Request)
{ "code": "INVALID_REQUEST", "message": "Invalid eori - eori parameters should be between 12 or 15 digits" }
Name | Description |
---|---|
message
string
required
|
|
code
string
required
|
|
HTTP status 500 (Internal Server Error)
{ "code": "INTERNAL_SERVER_ERROR", "message": "Unknown error" }
Name | Description |
---|---|
message
string
required
|
|
code
string
required
|
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
Invalid request |
400 (Bad Request) |
INVALID_REQUEST |
Internal server error |
500 (Internal Server Error) |
INTERNAL_SERVER_ERROR |
For error scenarios that are common across all APIs, and for error formats, see our reference guide.
Close Section