VIES Error

MS_MAX_CONCURRENT_REQ

Member state concurrent request limit reached

What does MS_MAX_CONCURRENT_REQ mean?

The MS_MAX_CONCURRENT_REQ error means the specific EU member state you're trying to validate against has reached its maximum number of concurrent requests. The VIES system rejected your request because that country's VAT validation service is at capacity.

This is a common VIES error. It generally reflects shared concurrent load for that member state. VIES exposes this as a member-state capacity signal, but it does not publish all internal throttling details, so client or IP-level controls may still exist.

When does this error occur?

  • During peak business hours (9 AM to 5 PM CET)
  • When many applications are validating VAT numbers from the same country simultaneously
  • When a member state's infrastructure is under heavy load
  • During VAT filing periods and quarter-end closes

Why is this a problem?

This error is only partially under your control. Shared demand from other users can trigger it, and your own burst patterns can make it worse. You usually cannot predict exactly when capacity frees up, so retries, queueing, and traffic shaping are required for stable UX.

Which countries are most affected?

Some EU member states are significantly more prone to rate limit errors and availability issues than others. The following countries are known for frequent VIES problems:

Country Code Reliability
Germany DE Often unavailable or rate-limited
France FR Frequently hits rate limits
Italy IT Regular availability issues
Belgium BE Intermittent outages common
Greece EL Often experiences downtime
Cyprus CY Frequently unavailable
Romania RO Regular connectivity issues
Bulgaria BG Often slow or unresponsive
Czech Republic CZ Intermittent availability

Other EU member states generally have better reliability, but all countries can experience issues during peak periods or maintenance windows.

Some countries are chronically unreliable

If you validate VAT numbers from Germany, France, or Itay expect to encounter this error regularly. These member states have faced ongoing availability issues that affect all VIES users.

How to handle MS_MAX_CONCURRENT_REQ

1. Use a VAT validation service with multiple data sources

VatDB validates against multiple official sources, including EU and national databases. When VIES is rate-limited, we automatically fall back to alternative sources. You can also use webhooks to get notified when validation completes asynchronously.

2. Implement exponential backoff

Don't retry immediately. Wait progressively longer between attempts, starting with 1 to 2 seconds and doubling on each retry.

3. Queue non-urgent validations

If validation isn't time-critical, queue requests and process them during off-peak hours (nights, weekends).

4. Cache successful validations

Store successful validation results to avoid repeated requests for the same VAT number.

Tired of MS_MAX_CONCURRENT_REQ errors?

VatDB queries multiple official EU and national databases. When VIES is rate-limited, we automatically fall back to alternative sources and retry intelligently. Use webhooks to get notified when validation succeeds. Get reliable VAT validation without the retry logic headaches.

Try VatDB Free

Frequently Asked Questions

Can I prevent MS_MAX_CONCURRENT_REQ errors?

Not fully. The limit is mostly driven by member-state/VIES capacity, but your traffic shape still matters. You can reduce failures with backoff, per-country concurrency limits, caching, and fallback strategies.

How long should I wait before retrying?

Start with 1 to 2 seconds and double the wait time on each retry (exponential backoff). Add some randomness to avoid thundering herd problems. Most requests succeed within 3 to 5 retries.

Why are some countries always rate-limited?

Countries like Germany, France, and Italy have high volumes of VAT validations, but their national VIES components haven't scaled to meet demand. These are systemic problems affecting all VIES users.

Is this error specific to my IP address?

Usually it behaves like shared member-state capacity pressure rather than a pure per-IP cap. However, VIES does not disclose all throttling logic, so IP/client-level controls cannot be fully ruled out.

How does VatDB handle this error?

VatDB connects to multiple official data sources beyond VIES, including national databases. When we get MS_MAX_CONCURRENT_REQ from VIES, we automatically try alternative sources. You can also set up webhooks to receive notifications when validation completes.

Is there a way to check VIES status before making requests?

The EU provides a VIES Self Monitoring page showing member state availability. However, status can change rapidly. VatDB monitors VIES status continuously and routes requests to available sources.