Expensicat
API Reference

VAT numbers

GET
/v1/vat/{number}

Check a VAT number in VIES, the EU's register. With business_id, the check names that business as requester: VIES issues a consultation number, the evidence that this seller confirmed the number, its name and address before treating the buyer as a business. The answer is reused for that seller for 24 hours. Without it, the answer is the number's validity, shared across sellers: reused for 24 hours when verified, an hour when not, two minutes when VIES did not answer. A number outside the EU, Northern Ireland's XI included, answers unavailable with UNSUPPORTED_COUNTRY.

Authorization

bearerAuth
AuthorizationBearer <token>

Session JWT or OAuth2 access token

In: header

Path Parameters

number*string

The VAT number with its country prefix: FI01120389, EL094014201 for Greece. Spaces, dots and dashes are ignored.

Query Parameters

business_id?string

The seller asking. VIES records the business's own EU VAT number as requester and issues a consultation number for it. Without it, or for a business without an EU VAT number, the answer is the number's validity alone, with no consultation number.

Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/vat/FI01120389"
{  "data": {    "status": "verified",    "trader": {      "name": "string",      "address": "string"    },    "consultation_number": "WAPIAAAAZK2bF1rb",    "checked_at": "2026-10-28T12:00:00.000Z",    "failure": {      "code": "MS_UNAVAILABLE",      "retryable": true    }  }}