[ validation · fiscalité ]● 3 créd. · 20 req/min

Validation de TVA intracommunautaire API

Validez n'importe quel numéro de TVA européen auprès de VIES, le registre officiel de la Commission européenne. Confirmation en temps réel, plus la raison sociale et l'adresse enregistrées lorsque l'État membre les divulgue.

Source officielle VIES27 États + XIContrôle en temps réel
auth · x-api-key

Pas encore de clé API ?

Connectez-vous à votre compte pour créer et gérer vos clés API.

[ 02 · integrate ]

Guide d'intégration

Copiez un extrait, remplacez votre clé API, exécutez. Fonctionne avec n'importe quel client HTTP — exemples ci-dessous en cURL, JavaScript et Python.

spec
GET/api/validate-vat
base
https://www.apipick.com

Validate an EU VAT number against the official VIES registry

paramètres
vat_numberstringrequis

Full VAT number with its two-letter member-state prefix. Spaces, dots, and hyphens are stripped. IE6388047V

countrystringoptionnel

Member-state code, if the number is supplied without its prefix. Greece is EL, not GR. IE

curl -X GET "https://www.apipick.com/api/validate-vat" \
  -H "x-api-key: YOUR_API_KEY"
● 200 · réponse
{
  "vat_number": "IE6388047V",
  "country_code": "IE",
  "number": "6388047V",
  "valid": true,
  "name": "GOOGLE IRELAND LIMITED",
  "address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4",
  "name_disclosed": true,
  "request_date": "2026-09-01T11:52:22.440Z",
  "consultation_number": null,
  "source": "European Commission VIES",
  "credits_used": 3,
  "remaining_credits": 97
}

Conçu pour des cas d'usage réels

🧾

Autoliquidation

Confirmez l'immatriculation à la TVA de l'acheteur avant d'exonérer une facture B2B transfrontalière, et conservez la trace du contrôle.

🚪

Onboarding B2B

Validez dès l'inscription et pré-remplissez la raison sociale et l'adresse depuis le registre, au lieu de demander au client de les saisir.

🛡️

Prévention de la fraude

Interceptez les numéros de TVA inventés ou périmés avant qu'ils n'atteignent votre facturation ou une déclaration fiscale.

🤖

Workflows d'agents

Donnez à un agent financier un outil à un seul paramètre, appelable pendant le traitement d'une facture, avec une réponse booléenne sans ambiguïté.

Champs de la réponse

ChampTypeDescription
validbooleanIndique si le numéro est actuellement immatriculé pour les échanges transfrontaliers
country_codestringCode de l'État membre tel que déclaré (EL pour la Grèce, XI pour l'Irlande du Nord)
numberstringLe numéro de TVA sans son préfixe pays
namestring | nullRaison sociale enregistrée, lorsque l'État membre la divulgue
addressstring | nullAdresse enregistrée, lorsque l'État membre la divulgue
name_disclosedbooleanFalse lorsque l'État membre retient les champs d'identité par principe (DE, ES)
request_datestring | nullHorodatage enregistré par VIES pour ce contrôle
consultation_numberstring | nullIdentifiant de consultation VIES, utilisable comme preuve de vérification
credits_usedintegerCrédits déduits pour cette requête
remaining_creditsintegerCrédits restants sur votre compte
[ 03 · limits ]

Limites de débit

La limitation est par clé API, fenêtre glissante de 60 secondes. En cas de dépassement, vous recevez un 429 propre avec un en-tête Retry-After.

débit de requêtes

20req/min

Par clé API, par endpoint. Fenêtre glissante de 60 secondes.

concurrence

3concurrent

Nombre maximal de requêtes simultanées en cours par clé API.

en-têtes de réponse
X-RateLimit-LimitNombre maximal de requêtes autorisées par minute
X-RateLimit-RemainingRequêtes restantes dans la fenêtre actuelle
X-RateLimit-ResetSecondes avant la réinitialisation de la fenêtre actuelle
Retry-AfterSecondes à attendre avant de réessayer (uniquement sur 429)
● 429 · trop de requêtes
HTTP/1.1 429 Too Many Requests
Retry-After: 12
X-RateLimit-Limit: 20
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 12

{
  "error": "rate_limit_exceeded",
  "message": "Rate limit exceeded: 20 requests/minute per API key. Retry after 12s.",
  "retry_after": 12
}

Source des données et licence

Les contrôles interrogent VIES, le système d'échange d'informations sur la TVA de la Commission européenne, qui transmet chaque requête en temps réel à la base fiscale de l'État membre concerné. Nous ne conservons aucune copie du registre : la réponse est celle de l'administration fiscale, restituée en JSON propre, avec les cas d'indisponibilité et de non-divulgation explicités.

Questions fréquentes

Q : S'agit-il du contrôle officiel de l'UE ?

R : Oui. La requête est adressée à VIES, le système d'échange d'informations sur la TVA de la Commission européenne, qui interroge en temps réel la base fiscale de l'État membre concerné. Il n'y a pas de base intermédiaire : la réponse correspond donc à celle du formulaire web de la Commission.

Q : Pourquoi la raison sociale est-elle vide pour les numéros allemands ?

R : L'Allemagne et l'Espagne ne divulguent pas la raison sociale ni l'adresse via VIES, par principe. Le numéro reste confirmé comme immatriculé ou non ; seuls les champs d'identité sont retenus. La réponse positionne name_disclosed: false pour vous permettre de distinguer une rétention réglementaire d'un champ réellement vide.

Q : Que se passe-t-il si le système d'un État membre est hors service ?

R : VIES achemine la requête vers la base de chaque État membre, et celles-ci se déconnectent pour maintenance. Le cas échéant, vous recevez un HTTP 503 avec un message explicite, et aucun crédit n'est débité. Réessayez quelques minutes plus tard : la panne est du côté de l'administration fiscale, pas du nôtre.

Q : Quels codes pays sont pris en charge ?

R : Les 27 États membres, plus XI pour l'Irlande du Nord dans le cadre de Windsor. Notez que la Grèce déclare sa TVA sous le code EL, et non sous son code ISO GR. La Grande-Bretagne (GB) a quitté VIES après le Brexit et n'est pas couverte.

Q : Puis-je obtenir un numéro de consultation pour ma piste d'audit ?

R : Le champ consultation_number contient l'identifiant de requête VIES lorsqu'il est délivré. C'est cet identifiant qu'une administration fiscale accepte comme preuve que vous avez vérifié le statut TVA d'une contrepartie à une date donnée, ce qui compte pour l'autoliquidation.