Validação de IVA da UE API
Valide qualquer número de IVA europeu no VIES, o registro oficial da Comissão Europeia. Confirmação em tempo real, além da razão social e do endereço cadastrados quando o Estado-membro os divulga.
Não tem uma API key?
Faça login na sua conta para criar e gerenciar suas API keys.
Guia de integração
Copie um trecho, troque sua API key e execute. Funciona em qualquer cliente HTTP — exemplos abaixo em cURL, JavaScript e Python.
/api/validate-vathttps://www.apipick.comValidate an EU VAT number against the official VIES registry
vat_numberstringobrigatórioFull VAT number with its two-letter member-state prefix. Spaces, dots, and hyphens are stripped. IE6388047V
countrystringopcionalMember-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"{
"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
}Feita para Casos de Uso Reais
Faturamento com reverse charge
Confirme o cadastro de IVA do comprador antes de aplicar alíquota zero a uma fatura B2B transfronteiriça, e mantenha o registro da verificação.
Onboarding B2B
Valide no cadastro e preencha automaticamente a razão social e o endereço a partir do registro, em vez de pedir que o cliente digite.
Prevenção a fraudes
Barre números de IVA inventados ou vencidos antes que cheguem ao seu sistema de cobrança ou a uma declaração fiscal.
Fluxos com agentes
Dê a um agente financeiro uma ferramenta de um único parâmetro para chamar durante o processamento de uma fatura, com resposta booleana inequívoca.
Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
| valid | boolean | Se o número está atualmente cadastrado para comércio transfronteiriço |
| country_code | string | Código do Estado-membro conforme declarado (EL para a Grécia, XI para a Irlanda do Norte) |
| number | string | O número de IVA sem o prefixo do país |
| name | string | null | Razão social cadastrada, quando o Estado-membro a divulga |
| address | string | null | Endereço cadastrado, quando o Estado-membro o divulga |
| name_disclosed | boolean | False quando o Estado-membro omite campos de identificação por política (DE, ES) |
| request_date | string | null | Carimbo de tempo registrado pelo VIES para a verificação |
| consultation_number | string | null | Identificador de consulta do VIES, utilizável como prova da verificação |
| credits_used | integer | Créditos deduzidos por esta requisição |
| remaining_credits | integer | Créditos restantes na sua conta |
Rate limits
O throttling é por API key, em janela deslizante de 60 segundos. Ao atingir o limite, você recebe um 429 limpo com um header Retry-After.
20req/min
Por API key, por endpoint. Janela deslizante de 60 segundos.
3concurrent
Máximo de requisições simultâneas em andamento por API key.
X-RateLimit-LimitMáximo de requisições permitidas por minutoX-RateLimit-RemainingRequisições restantes na janela atualX-RateLimit-ResetSegundos até a janela atual reiniciarRetry-AfterSegundos a aguardar antes de tentar novamente (apenas em 429)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
}Fonte dos dados e licença
As verificações são feitas no VIES, o Sistema de Intercâmbio de Informações sobre o IVA da Comissão Europeia, que encaminha cada consulta em tempo real à base tributária do próprio Estado-membro. Não guardamos cópia alguma do registro — a resposta é da administração fiscal, entregue em JSON limpo, com os casos de indisponibilidade e de não divulgação explicitados.
Perguntas Frequentes
P: Esta é a verificação oficial da UE?
R: Sim. A requisição vai ao VIES, o Sistema de Intercâmbio de Informações sobre o IVA da Comissão Europeia, que consulta em tempo real a base tributária do próprio Estado-membro. Não há base intermediária, então a resposta corresponde à que você obteria no formulário web da Comissão.
P: Por que a razão social vem vazia em números alemães?
R: Alemanha e Espanha não divulgam razão social e endereço pelo VIES, por política. O número continua sendo confirmado como cadastrado ou não — apenas os campos de identificação são omitidos. A resposta define name_disclosed: false para você distinguir omissão por política de um campo realmente vazio.
P: O que acontece quando o sistema de um Estado-membro está fora do ar?
R: O VIES encaminha para a base de cada Estado-membro, e elas saem do ar para manutenção. Quando isso ocorre, você recebe HTTP 503 com mensagem clara e nenhum crédito é cobrado. Tente de novo em alguns minutos — a indisponibilidade é do lado da administração fiscal, não do nosso.
P: Quais códigos de país são aceitos?
R: Todos os 27 Estados-membros mais XI para a Irlanda do Norte, sob o Quadro de Windsor. Note que a Grécia declara IVA como EL, e não pelo código ISO GR. A Grã-Bretanha (GB) saiu do VIES após o Brexit e não é coberta.
P: Consigo um número de consulta para minha trilha de auditoria?
R: O campo consultation_number traz o identificador de requisição do VIES quando ele é emitido. É esse identificador que uma administração fiscal aceita como prova de que você verificou a situação de IVA de uma contraparte em determinada data, o que importa no reverse charge.