For customs, logistics & onboarding software

EORI validation API.
One key.
Clear results.

Check customs registration inside your software. Get EORI validity, the register source and a timestamp as JSON. EU VAT checks use the same key. Results may be served from a cache of up to 24 hours; read checked_at before relying on one.

Start with a Free key
See a supplier-list review example →

100 validations / month · 10 requests / minute
Shared across EORI + VAT. No card required.

Need more capacity or daily watches? Paid plans start at €9/month. Compare plans →

Response → your next step

Interactive sample
Choose a response to see what to do
/v1/eori

Valid at the sample check time

Illustrative only · no register check performed

Example source
EU TAXUD
Example freshness
Register response
Fictional check time (UTC)
15 Jan 2026 · 09:30

What your integration should do

Record the returned status, source and UTC check time with your own reference. Keep unresolved checks out of an automatic approval.

Run a first server request →

Scope: EORI registration only. It does not establish ownership, trading history, VAT registration or customs clearance.

Example JSON and scope
{
  "estado": "valido",
  "fuente": "taxud",
  "checked_at": "2026-01-15T09:30:00.000Z"
}

This sample provides no observation date or validity period. Register publication date is not supplied.

No email, API key or register request needed. No allowance is used.

Want a real public lookup instead?
Public demoNo API key needed
Public example
IT00159560366

See what your software gets

A status you can act on.

Run a real public lookup to see the validity decision, register source and check time.

This demo uses the public website lookup. Integrate with your private key at /v1/eori. Results may come from a 24h cache.

GB EORIUK HMRC

XI + EU-27 EORIEU TAXUD

EU VATEU VIES

One key · two controls

EORI and VAT answer
different questions.

EORI checks customs registration. EU VAT checks VAT registration through VIES. A valid result in one does not establish the other; keep each result, source and check time separately.

Checking VAT manually? Use the VATValidate EU checker → For repeated checks, stay here: one API key covers both. No identifier or API key is passed to VATValidate.

01 / Get access

Try one check.
Then build your integration.

Use a supported identifier from your workflow. Save the new key securely, inspect the result, then check your remaining allowance. Stay on Free if it fits.

  1. 01Request access
  2. 02Save the key privately
  3. 03Check on your server

Free includes EORI + VAT validation. Recurring watches require a paid plan. Keep API keys on your server, out of browser code and recordings.

Already paid? Check your delivered key

Get a free API key

100 validations/month, no card. EORI + VAT from one key. A new key is shown once; existing keys are never revealed by email lookup.

The Free key is displayed here and is not emailed. Already have a key or lost it? · How we use your email

02 / Quickstart

One request.
A useful first result.

  1. 1. Save your Free key in the server environment variable EORI_API_KEY.
  2. 2. Run the EORI request. Inspect estado, fuente and checked_at.
  3. 3. Check /v1/usage. EORI and VAT consume the same allowance. For VAT, use /v1/vat?number=IE6388047V.
Full OpenAPI 3.1 specification →

Need a manual pre-check before integrating? Read the EU EORI lookup guide for EU-27 and XI customs workflows.

Server-side only
# Set EORI_API_KEY privately in your shell first.
curl --fail-with-body 'https://eoricheck.com/v1/eori?number=IT00159560366' \
  -H "Authorization: Bearer $EORI_API_KEY"

# Same key, shared EORI + VAT allowance:
curl --fail-with-body 'https://eoricheck.com/v1/usage' \
  -H "Authorization: Bearer $EORI_API_KEY"

Customs software

Check the EORI entered on a booking; route unresolved results to review.

Supplier onboarding

Keep EORI and VAT checks separate in your decision, using one API key.

Your audit record

Store the returned status, source and UTC check time alongside your reference.

03 / Choose capacity when you need it

Start Free.
Pay for the workload you have.

Stay on Free for up to 100 shared validations per month. Mini includes 500 shared validations and one daily EORI watch for €9/month. Choose Starter or above when you need more capacity. Confirm countries, monthly volume and peak request rate before choosing.

Free / Try and keep using

100 shared validations / month

10 requests/min · No recurring watches · No card

Starter / More capacity + monitoring

5,000 shared validations / month

60 requests/min · 5 daily EORI watches

Base €19/month. The checkout shows the amount due before payment.

Find the smallest plan for your workload

Count EORI and VAT API validations together. Scheduled monitoring checks do not use that API allowance. These estimates stay in your browser.

Free fits this capacity: €0/month base. No purchase needed for these limits. Get a Free key

Capacity fit is not confirmation of country coverage, payment availability or activation. Monitoring alerts go to one account email; webhooks are not included. Confirm supported countries and the final checkout currency and taxes before paying.

Free

Kick the tyres. No card.

€0/mo
  • 100 validations / month
  • EORI + VAT from one key
  • 10 requests / minute
  • Official HMRC + TAXUD + VIES responses · cache up to 24h
Get free key

Mini

For a small recurring workflow.

€9/mo
  • 500 shared EORI + VAT validations / month
  • 10 requests / minute
  • 1 daily EORI watch + change alerts
  • Email support

Your first purchase delivers a new paid key. Replace the Free key in your integration with the delivered key; the original Free key stays Free.

Fulfillment target: key email within 10 minutes after the payment is confirmed. Support response target: 2 business days.
Choose Mini

Starter

For a single integration.

€19/mo
  • 5,000 validations / month
  • 60 requests / minute
  • EORI + VAT from one key
  • Dated CSV export with source + UTC
  • 5 daily EORI watches + change alerts
  • Email support

Your first purchase delivers a new paid key. Replace the Free key in your integration with the delivered key; the original Free key stays Free.

Fulfillment target: key email within 10 minutes after the payment is confirmed. Support response target: 2 business days.
Choose Starter
Higher volume

Growth

For a busy customs desk.

€49/mo
  • 25,000 validations / month
  • 120 requests / minute
  • Batch CSV upload + dated report
  • 50 daily EORI watches + change alerts
  • Priority email support

Your first purchase delivers a new paid key. Replace the Free key in your integration with the delivered key; the original Free key stays Free.

Fulfillment target: key email within 10 minutes after the payment is confirmed. Support response target: 1 business day.
Choose Growth

Scale

For platforms and brokers.

€99/mo
  • 100,000 validations / month
  • 300 requests / minute
  • Bulk + PDF verification records
  • 250 EORI watches · checks every 6 hours
  • SLA available on request

Your first purchase delivers a new paid key. Replace the Free key in your integration with the delivered key; the original Free key stays Free.

Fulfillment target: key email within 10 minutes after the payment is confirmed. Support response target: 1 business day.
Choose Scale

Base prices are in EUR. A “Choose” button opens a secure Stripe checkout that shows the amount due before payment. A “Request” button only sends your contact request; it does not activate a subscription or take payment. Paid plans renew monthly. To cancel, email hello@eoricheck.com from the address used at checkout. The key keeps its paid limits until the end of the month already paid, then returns to Free limits. If a renewal is charged after you asked us to cancel, we refund it.

Operated by Covo Franco Digital LLC, a Wyoming limited liability company · 30 N Gould St Ste N, Sheridan, WY 82801. Contact EORICheck.

Already have a key or lost it?

  1. Free key: check your password manager or server configuration. It was shown when issued and was not emailed. Requesting it again with the same email will not reveal the secret.
  2. Paid key: check the inbox and spam folder for the address used at checkout. Your first purchase sends a separate key; your original Free key stays Free. Check paid access.
  3. Still unable to access it? Email EORICheck support from the address used to request the key or pay. Include the approximate request date, any error code and, for a paid key, the receipt reference. Support must verify account ownership before changing access. Never send API keys or card details.

Do not purchase another plan to recover access. If you no longer control the original email address, mention that in your support request; an email lookup alone cannot establish ownership.

API reference

Endpoints & response handling

https://eoricheck.com
GET/v1/eori?number=IT00159560366GB → HMRC · XI / EU-27 → TAXUD
GET/v1/vat?number=IE6388047VEU VAT → VIES · same key and quota
GET/v1/usagePlan, current period, used and remaining validations
GET/v1/monitoringEORI watches and your plan allowance
POST/v1/monitoring/watchesCreate a paid-plan EORI watch with an initial register check

Read the result, not just HTTP 200

valido means valid at the check time; no_valido means not valid. Other states need review or retry. A response from kv-cache may be up to 24 hours old. Read registro when supplied for the original EORI register.

Authenticate with Authorization: Bearer <key> or x-api-key. Inspect X-Quota-* headers and /v1/usage for remaining capacity.

401

Missing or invalid key.

402

Validation paused: monthly quota reached or key canceled. Read the error message and the guide below.

403

Feature not included in your tier.

422

Malformed EORI or VAT number.

429

Rate limit reached. Respect Retry-After.

502

Register error. No validity decision; validation not billed.

Before you integrate

Common questions.

EORICheck is independent of HMRC, the European Commission, TAXUD and VIES.

What does an EORI validation API do?

It checks whether an EORI customs registration number is valid in the relevant register and returns a result your software can read. EORICheck returns JSON with a validity status, source and check time. A valid EORI is not a guarantee that a shipment will clear customs.

Which countries and registers are supported?

GB EORI numbers are checked through UK HMRC. XI and EU-27 EORI numbers use EU TAXUD. EU VAT validation uses VIES through a separate endpoint with the same key. EORICheck is independent of these authorities and does not provide worldwide tax-ID validation.

Is the API free, and when would I need a paid plan?

Free includes 100 EORI and VAT validations per month combined, at up to 10 requests per minute, with no recurring watches. Stay on Free if it fits. Mini is EUR9/month for 500 shared validations, 10 requests per minute and one daily EORI watch. Starter has a base price of EUR19/month, 5,000 shared validations, 60 requests per minute and 5 daily EORI watches. Confirm your countries, monthly volume and peak rate before choosing a paid plan.

Are results always fresh?

API results may come from a 24-hour cache. Read checked_at for the time of the underlying check, fuente for the response source and registro when supplied for the EORI register. A cached response is not a new register check. Scheduled monitoring performs live checks at the plan cadence.

How should my integration handle an unavailable register?

Treat network failures, non-success HTTP responses and an error or unsupported status as no validity decision. Do not mark the number invalid. Use a bounded retry policy and review unresolved cases; respect Retry-After for rate limits.

Does Free include monitoring and alerts?

No. Mini includes one daily EORI watch. Starter includes up to 5 daily EORI watches, Growth up to 50 daily watches, and Scale up to 250 watches checked every 6 hours. Watch checks do not consume the API validation quota. Alerts go to one email destination when a status changes; the initial check is not a change alert.

Need a workflow around the API?

Validate a list, or check EORI status on a schedule.