
Getting started
What’s the difference between test and live keys?
Test keys only accept XX-prefixed VAT numbers (e.g. XX0000001) and return fixed, predictable fixture responses – no VIES call, no database write, and nothing counts against your quota. The test mode guide lists every fixture and what it returns. Live keys validate real VAT IDs against VIES and count toward your monthly quota. Use test keys to build and verify your integration, then switch to a live key in production – same endpoint, same response shape, just a different key.
How the API tells them apart
The key prefix decides. Keys starting with vat_test_ are test keys; keys starting with vat_live_ are live keys. Everything else about the request is identical.
What a test key returns
XX0000001–200,valid: true, with a company name and address.XX0000002–200,valid: true, with name and addressnull(a valid number where VIES gives no company details).XX0000003–200,valid: false.XX0000004–503withVIES_UNAVAILABLE, to test your downtime handling.XX0000005–502withVIES_ERROR, to test unexpected upstream errors.- Any other
XXnumber –200,valid: false.
A VAT number without the XX prefix sent with a test key returns 400 INVALID_FORMAT. The response fields match a live response, and consultationNumber is always null in test mode.
Moving to live
Create a live key in Dashboard > API Keys and swap it in. Live checks run through the cache and VIES (with national registry fallback where available) and count toward the monthly quota, so keep test keys in your tests and CI, and live keys only in production configuration.
Never commit either kind of key to source control. See how to authenticate requests for the header format.