MS_MAX_CONCURRENT_REQ
MS_MAX_CONCURRENT_REQ means a member state is already handling as many simultaneous VIES lookups as it will take. It is a rate limit, not an outage — and it is usually Germany.
Good news: no member state is reporting MS_MAX_CONCURRENT_REQ right now. See the live board →
What it means
Take heart: nothing is broken. MS_MAX_CONCURRENT_REQ means the member state you queried has hit its own ceiling on simultaneous requests through VIES, and refused yours rather than queue it.
This is a capacity signal, not a fault. The national system is up — it is just busy. And here is the bit that surprises everyone: the limit is global. It counts every VIES user in Europe at once, not just you. You can get this error on your very first request of the day, having sent nothing else, purely because a few thousand other people happened to query the same country in the same second.
Which means the usual instinct — "I must be sending too fast, let me add a delay" — is only half right. Slowing down does help, but because it lowers your odds of colliding with everyone else's peak, not because you personally have a quota to stay under.
Which member states return MS_MAX_CONCURRENT_REQ most
| Member state | Occurrences (7d) | Share |
|---|---|---|
| Latvia LV | 3 | 100% |
3 occurrences of MS_MAX_CONCURRENT_REQ observed across all member states in the last 7 days, from our own 5-minute checks. Monitoring began 2026-08-09.
What to do about it
- Retry, and add jitter. Back off with a random component. Fixed backoff across many clients creates a thundering herd that recreates the same collision at every interval.
- Drop your own concurrency to 1–2 requests in flight per member state. Fanning a batch out across 20 workers is the fastest possible way to see this error all day.
- Move batch work off-peak. This is the biggest lever you have. The limit is contention-driven, so it tracks European office hours almost exactly, and overnight in the member state's local time is dramatically quieter.
- Cache. Every lookup you avoid is one less request competing for the same ceiling.
- Do not record it as "invalid". Same as
MS_UNAVAILABLE: the number was never checked.
Frequently asked questions
Is MS_MAX_CONCURRENT_REQ caused by my application sending too many requests?
Not necessarily, so do not assume you have done something wrong. The limit counts concurrent requests to that member state from all VIES users worldwide, so you can hit it on your very first request. Reducing your own concurrency still helps, because it lowers your odds of colliding with the peak.
Which country returns MS_MAX_CONCURRENT_REQ most often?
Germany, by a wide margin — so if that is what you are seeing, you are in good company. The German VIES endpoint is the busiest in the EU and rate-limits far more aggressively than any other member state.
How long should I wait before retrying MS_MAX_CONCURRENT_REQ?
Start at roughly 30 seconds, then back off exponentially with random jitter. The condition is often transient and clears in under a minute — but retrying instantly just burns another slot and makes things slightly worse for everybody.
What is the difference between MS_MAX_CONCURRENT_REQ and GLOBAL_MAX_CONCURRENT_REQ?
Scope. MS_MAX_CONCURRENT_REQ means one member state is at capacity, so switching countries can still work. GLOBAL_MAX_CONCURRENT_REQ means the VIES service itself is at capacity across all member states, and switching countries will not help at all.
Hit a different error?
MS_UNAVAILABLE— MS_UNAVAILABLE means the national VAT database behind VIES is not answering.GLOBAL_MAX_CONCURRENT_REQ— GLOBAL_MAX_CONCURRENT_REQ means the VIES front end — not one member state — is handling as many simultaneous requests as it will take.TIMEOUT— A VIES timeout means no answer arrived before your deadline.
← Live VIES status for all 28 member states
Get an alert when a VIES endpoint goes down
We store your address, the country code and a timestamp — nothing else. To be straight with you: Alerts start shortly, but they are not sending yet. When they do, we will only email you about VIES availability. No newsletter, ever.
Building EU invoicing?
We also make Attestwire, an EN 16931 validation API. Post an invoice as JSON 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.