Free tool
VAT Number Checker
Run 5 free checks a day, with no account. Each one asks the VAT register, the European Commission's own VAT service, and reports the name and address it holds for that number.
- 5 free checks a day
- No account and no API key
- Checked against the live register
The result appears here. Nothing is stored, and the allowance is per visitor per day.
Example result
Confirming a French number
- Valid
- Yes
- Registered name
- SA SODIMAS
- Registered address
- 11 RUE AMPERE, 26600 PONT DE L ISERE
- The VAT register reply
- VALID
France returns street, postcode and city on separate lines. The check joins them into one address field so every member state comes back in the same shape.
A real check above replaces this example.
What the check reads
- The country prefix
- Two letters, and they must be one the VAT register covers. Greece is EL, and Northern Ireland is XI. A GB prefix stops here on purpose.
- The rest of the number
- Between two and thirteen digits or letters, since member states format their numbers differently. The check accepts the characters the VAT register itself accepts.
- The VAT register
- The live query. Our VAT endpoint calls the European Commission service on every request and returns whatever it answers, including an outage.
- The registered name and address
- Returned when the VAT register confirms the number. Some member states return dashes instead of a name, and those are reported as missing rather than passed through as text.
- The linked company
- When the confirmed VAT number matches one of the companies we hold, the response returns that company. Where we hold the company but not its VAT number, we say so instead of guessing.
Where the answer comes from
- VIES, the EU VAT service
The European Commission service this check queries on every request. It answers for the EU member states and Northern Ireland.
- HMRC VAT number checker
The UK service for a GB number, which VIES no longer covers.
Worked examples
Example inputs and the results they return.
Confirming a French number
- Valid
- Yes
- Registered name
- SA SODIMAS
- Registered address
- 11 RUE AMPERE, 26600 PONT DE L ISERE
- The VAT register reply
- VALID
France returns street, postcode and city on separate lines. The check joins them into one address field so every member state comes back in the same shape.
A UK number, and what the VAT register does with it
- Sent to the VAT register
- No
- Why
- The United Kingdom is not in the VAT register
- The VAT register reply if asked
- INVALID_INPUT
- Where to check instead
- the UK tax authority
Our endpoint returns an invalid-parameter error for a GB prefix before any network call, so the tool can tell you the number is out of scope rather than invalid.
Developer reference
The check above runs the same call this section documents, so you can move from the form to your own code without changing anything but the key.
Request
GET /v1/vat/FR40303265045
Response
{
"vat_number": "FR40303265045",
"country": "FR",
"valid": true,
"name": "L'OREAL",
"address": "41 RUE MARTRE\n92117 CLICHY",
"consultation_number": null,
"checked_at": "2026-10-16T17:08:09.564000Z",
"company": null
}
Example response from a live VAT register query. Source metadata omitted for clarity.
Price
- Per call
- $0.01 per verified company
- Starter allowance
- 100 free calls to get started
Billed only when the VAT number is valid (the VAT register). The free checker at /checks/vat-number-check runs the same lookup.
Errors
- 400 invalid_parameter
- The number is malformed, or it carries a GB prefix, which the VAT register no longer covers. The message names which of the two it is.
- 402 free_tier_exhausted
- The account has used its free tier and has no payment method. The free tier is 100 starter calls, and an invalid number never counts against it.
- 429 rate_limited
- A rate limit window is exceeded. A free key allows 5 requests a second and 100 a minute; a paying key allows 50 a second and 2000 a minute. Retry-After says how long to wait.
- 503 registry_unavailable
- The VAT register is down for that member state. Retry-After says how long to wait, and the call is not billed.
FAQ