Benchmarks
What the API actually answers, and how fast
Real numbers from a run against the API: latency percentiles, and how often each field comes back filled. Nothing on this page is an estimate — it is read from the summary the benchmark writes.
Loading the figures…
—
Median response time (p50)
—
95th percentile (p95)
—
Answered
Completeness, all countries together
How often each field of a returned record is actually filled. A member state that discloses only a name caps every other figure.
Loading the figures…
Country by country
Only the countries this run measured. VIES never returns a legal form, so every country answered by VIES sits at 0 % on that column; the notes cover the other low figures whose reason we know.
| Country | Answered | Response time | Completeness | Notes | |||||
|---|---|---|---|---|---|---|---|---|---|
| p50 | p95 | Name | Legal form | Address | Postal code | City | |||
| Loading the figures… | |||||||||
Latency is measured end to end, from the request leaving the benchmark to the response being parsed, one lookup at a time. Answered is the share of lookups the API answered — a company returned, or a member state stating the number is not registered; the rest are timeouts and unreachable sources. Completeness is counted over the lookups that returned a company.
No German register can be queried by VAT number: only the Peppol directory answers, and it holds about 12 700 German participants.
Spain discloses neither name nor address through VIES — both come back as “---”, so only validity is meaningful.
The Irish address carries no postal code to split it on, so postal code and city stay empty.
The White List publishes the address as a single string: no postal code, no city.
The Latvian register ships one address string and a territory code rather than a named city.