Is VIES down?
Here is the current answer, measured rather than guessed. We check the European Commission's VAT Information Exchange System every 5 minutes, across 27 EU member states plus Northern Ireland (XI) — 28 endpoints.
Last checked . VIES check-status answered in 630 ms.
What brought you here? Optional. Only the answer is counted, nothing about you (how).
Monitoring began 2026-08-09, and we do not backfill history we did not measure.
What is affected right now
- Czechia (CZ) — down, reporting
TIMEOUT. Details - Denmark (DK) — down, reporting
TIMEOUT. Details - Romania (RO) — down, reporting
MS_UNAVAILABLE. Details - Lithuania (LT) — degraded, reporting
MS_REPORTED_UNAVAILABLE. Details
Recent state changes
- BE Degraded → Operational
- BG Degraded → Operational
- CZ Operational → Down TIMEOUT
- DK Operational → Down TIMEOUT
- BE Operational → Degraded MS_MAX_CONCURRENT_REQ
- BG Operational → Degraded MS_MAX_CONCURRENT_REQ
- LT Operational → Degraded MS_REPORTED_UNAVAILABLE
- LT Degraded → Operational
- FR Degraded → Operational
- CZ Down → Operational
- DK Down → Operational
- FR Operational → Degraded MS_MAX_CONCURRENT_REQ
- BE Degraded → Operational
- CZ Operational → Down TIMEOUT
- DK Operational → Down TIMEOUT
- BE Operational → Degraded MS_MAX_CONCURRENT_REQ
- LT Operational → Degraded MS_REPORTED_UNAVAILABLE
- LT Degraded → Operational
- FR Degraded → Operational
- CZ Degraded → Operational
Got an error code? Start here
MS_UNAVAILABLE— the national VAT database is not answering. It does not mean the number is invalid.SERVICE_UNAVAILABLE— VIES itself failed, not one country. The number was not checked.MS_MAX_CONCURRENT_REQ— the member state is rate-limiting you. Most often France, in our test queries from 17 to 25 September 2026.GLOBAL_MAX_CONCURRENT_REQ— VIES itself is saturated. Rare, and usually brief.- Timeouts — no answer at all, plus the trap where VIES returns HTTP 200 on failure.
Want a live status badge for your README?
Live, cached for 5 minutes, and no attribution required — take them. All 28 badges and embed snippets →
<a href="https://vies.attestwire.com"><img src="https://vies.attestwire.com/badge.svg" alt="VIES status"></a>
JSON API
If you would rather have the data than the page: current state and uptime for every member state, CORS-open, cached for 60 seconds. No key, no rate limit, no signup.
curl https://vies.attestwire.com/api/status.json
How this is measured
So you can judge the numbers for yourself. Every 5 minutes we call the official VIES check-status endpoint, which reports each member state's availability, and we send real check-vat-number requests to a rotating group of four member states — so every country gets independently ground-truthed roughly every 35 minutes. That works out at about 1,440 upstream requests a day, which is deliberately light.
What the words mean: Operational means VIES answered the query. Degraded means it answered slowly (over 4 seconds) or returned MS_MAX_CONCURRENT_REQ / GLOBAL_MAX_CONCURRENT_REQ. Down means MS_UNAVAILABLE, a timeout, or a 5xx.
One judgement call worth flagging: where check-status reports a member state as unavailable but our own recent live query to it succeeded, we show degraded rather than down. The two signals genuinely disagree, and we would rather understate an outage than cry wolf at you.
Uptime is (operational + degraded) ÷ (operational + degraded + down). Checks where we could not reach VIES at all are left out of the denominator rather than blamed on a member state. We have been collecting since 2026-08-09, and windows longer than that show as “–” rather than being backfilled — we will not invent history we did not measure.
Building EU invoicing?
We also make Attestwire, an EN 16931 validation API. Post an invoice as JSON or UBL/CII XML and get back the rule it breaks and how to fix it. Free tier, 100 docs/month, no card needed.
api.attestwire.com/docs · check.attestwire.com — our free French e-invoicing readiness checker.