# VAT Number Checker

> Check an EU VAT number against the VAT register and get the registered business name and address back.

Canonical: https://corpoapi.com/checks/vat-number-check

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.

## 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 data comes from

- [VIES, the EU VAT service](https://ec.europa.eu/taxation_customs/vies/): The European Commission service this check queries on every request. It answers for the EU member states and Northern Ireland.

- [HMRC VAT number checker](https://www.tax.service.gov.uk/check-vat-number/enter-vat-details): The UK service for a GB number, which VIES no longer covers.

## Worked examples

### Confirming a French number

Input: `FR40303265045`

- **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

Input: `GB123456789`

- **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.

## API reference

`GET /v1/vat/FR40303265045` Price: $0.01 per verified company.

```json
{
  "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.

| Status | Code | When |
| --- | --- | --- |
| 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. |

## One number, one answer from the register

You type a VAT number with its country prefix. The check sends it to the VAT register and reports whether the number is registered, plus the business name and address the VAT register has on file. A UK number is not sent anywhere, because the VAT register stopped covering the United Kingdom after Brexit.

- Pointed at the VAT register directly, with no local copy
- Registered name and address when the VAT register confirms the number
- Northern Ireland (XI) is still covered

## A UK number goes to the UK tax authority

The VAT register answers for the twenty seven EU member states and Northern Ireland. A number starting GB is outside that list, and the VAT register replies INVALID_INPUT rather than saying the number is wrong. The tool says so and hands you to the UK checker, which is where a UK VAT number can be confirmed.

- GB numbers are not sent to the VAT register
- The UK tax authority checker is the UK authority
- A GB number is not the same as a wrong number

## Valid means registered

A confirmed VAT number says the business is registered for VAT in that member state. It does not say the business is trading, solvent, or the one on your invoice. For that you need the company record itself, which the profile endpoint returns with the VAT number attached as an identifier.

- Registration says nothing about creditworthiness
- Ties to a company record where we hold one
- Failed lookups are never billed

## FAQ

### Is the VAT check free?

The checker on this page gives every visitor 5 free checks a day, with no account. On the API, a VAT lookup is billed as one verified company only when the VAT register reports the number valid. An invalid number and a the VAT register outage are never billed.

### Why does a UK number not work?

The VAT register has not covered the United Kingdom since Brexit. Only Northern Ireland, country code XI, is still answered by the European Commission service. The UK tax authority runs the UK check, and the tool links to it.

### What happens when a member state is down?

The VAT register answers per member state, so one country can be unavailable while the rest work. When that happens the request fails with a 503 and a retry hint. We never report an outage as an invalid number.

### Does a valid VAT number prove the business is good for the money?

No. It proves the business is registered for VAT in that member state. Trading status, accounts and directors come from the company record, which is a different lookup.

### Is the answer cached?

Each check is a live query to the VAT register, and the response carries the time the VAT register answered. That time is the age of the answer, so you can see exactly when the register was asked.

### Can I call this from my own code?

Yes. The VAT endpoint takes a number in the path and returns the same fields this page shows. A key takes a minute to create, and the starter allowance covers 100 starter calls.
