[ validação · tributário ]● 3 créd. · 20 req/min

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.

Fonte oficial VIES27 Estados + XIVerificação em tempo real
auth · x-api-key

Não tem uma API key?

Faça login na sua conta para criar e gerenciar suas API keys.

[ 02 · integrate ]

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.

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

Validate an EU VAT number against the official VIES registry

parâmetros
vat_numberstringobrigatório

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

countrystringopcional

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 · resposta
{
  "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

CampoTipoDescrição
validbooleanSe o número está atualmente cadastrado para comércio transfronteiriço
country_codestringCódigo do Estado-membro conforme declarado (EL para a Grécia, XI para a Irlanda do Norte)
numberstringO número de IVA sem o prefixo do país
namestring | nullRazão social cadastrada, quando o Estado-membro a divulga
addressstring | nullEndereço cadastrado, quando o Estado-membro o divulga
name_disclosedbooleanFalse quando o Estado-membro omite campos de identificação por política (DE, ES)
request_datestring | nullCarimbo de tempo registrado pelo VIES para a verificação
consultation_numberstring | nullIdentificador de consulta do VIES, utilizável como prova da verificação
credits_usedintegerCréditos deduzidos por esta requisição
remaining_creditsintegerCréditos restantes na sua conta
[ 03 · limits ]

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.

taxa de requisições

20req/min

Por API key, por endpoint. Janela deslizante de 60 segundos.

concorrência

3concurrent

Máximo de requisições simultâneas em andamento por API key.

headers de resposta
X-RateLimit-LimitMáximo de requisições permitidas por minuto
X-RateLimit-RemainingRequisições restantes na janela atual
X-RateLimit-ResetSegundos até a janela atual reiniciar
Retry-AfterSegundos a aguardar antes de tentar novamente (apenas em 429)
● 429 · requisições em excesso
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.