[ walidacja · podatki ]● 3 kred. · 20 zapytań/min

Walidacja numeru VAT UE API

Zweryfikuj dowolny europejski numer VAT w VIES, oficjalnym rejestrze Komisji Europejskiej. Potwierdzenie w czasie rzeczywistym oraz zarejestrowana nazwa i adres, gdy państwo członkowskie je udostępnia.

Oficjalne źródło VIES27 państw + XISprawdzenie w czasie rzeczywistym
auth · x-api-key

Nie masz klucza API?

Zaloguj się na swoje konto, aby tworzyć klucze API i nimi zarządzać.

[ 02 · integrate ]

Przewodnik integracji

Skopiuj fragment kodu, podmień swój klucz API, uruchom. Działa w dowolnym kliencie HTTP — przykłady poniżej w cURL, JavaScript i Pythonie.

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

Validate an EU VAT number against the official VIES registry

parametry
vat_numberstringwymagane

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

countrystringopcjonalne

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 · odpowiedź
{
  "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
}

Stworzone do rzeczywistych przypadków użycia

🧾

Fakturowanie z odwrotnym obciążeniem

Potwierdź rejestrację VAT nabywcy, zanim wystawisz transgraniczną fakturę B2B ze stawką zerową, i zachowaj ślad tego sprawdzenia.

🚪

Onboarding B2B

Weryfikuj przy rejestracji i wypełniaj nazwę oraz adres wprost z rejestru, zamiast prosić klienta o ich wpisanie.

🛡️

Przeciwdziałanie oszustwom

Wyłapuj zmyślone lub wygasłe numery VAT, zanim trafią do systemu fakturowania albo do deklaracji podatkowej.

🤖

Przepływy z agentami

Daj agentowi finansowemu narzędzie z jednym parametrem, które może wywołać w trakcie przetwarzania faktury, z jednoznaczną odpowiedzią logiczną.

Pola odpowiedzi

PoleTypOpis
validbooleanCzy numer jest obecnie zarejestrowany do handlu transgranicznego
country_codestringKod państwa członkowskiego zgodnie ze zgłoszeniem (EL dla Grecji, XI dla Irlandii Północnej)
numberstringNumer VAT bez prefiksu kraju
namestring | nullZarejestrowana nazwa podatnika, gdy państwo członkowskie ją udostępnia
addressstring | nullZarejestrowany adres, gdy państwo członkowskie go udostępnia
name_disclosedbooleanFalse, gdy państwo członkowskie zastrzega dane identyfikacyjne zgodnie z polityką (DE, ES)
request_datestring | nullZnacznik czasu zapisany przez VIES dla tego sprawdzenia
consultation_numberstring | nullIdentyfikator zapytania VIES, użyteczny jako dowód weryfikacji
credits_usedintegerKredyty odjęte za to żądanie
remaining_creditsintegerKredyty pozostałe na Twoim koncie
[ 03 · limits ]

Limity zapytań

Ograniczanie działa per klucz API, w przesuwnym oknie 60 sekund. Po przekroczeniu limitu otrzymasz czyste 429 z nagłówkiem Retry-After.

częstotliwość żądań

20req/min

Per klucz API, per endpoint. Przesuwne okno 60 sekund.

współbieżność

3concurrent

Maksymalna liczba jednoczesnych żądań w toku na klucz API.

nagłówki odpowiedzi
X-RateLimit-LimitMaksymalna dozwolona liczba żądań na minutę
X-RateLimit-RemainingPozostała liczba żądań w bieżącym oknie
X-RateLimit-ResetSekundy do zresetowania bieżącego okna
Retry-AfterSekundy oczekiwania przed ponowieniem (tylko przy 429)
● 429 · zbyt wiele żądań
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
}

Źródło danych i licencja

Sprawdzenia realizuje VIES, system wymiany informacji o VAT Komisji Europejskiej, który przekazuje każde zapytanie w czasie rzeczywistym do bazy podatkowej właściwego państwa członkowskiego. Nie przechowujemy żadnej kopii rejestru — odpowiedź należy do administracji podatkowej, a my dostarczamy ją jako czysty JSON, wyraźnie oznaczając przypadki awarii i nieujawniania danych.

Najczęściej zadawane pytania

P: Czy to oficjalne sprawdzenie UE?

O: Tak. Zapytanie trafia do VIES, systemu wymiany informacji o VAT Komisji Europejskiej, który w czasie rzeczywistym odpytuje bazę podatkową właściwego państwa członkowskiego. Nie ma tu żadnej bazy pośredniej, więc odpowiedź jest zgodna z tą z formularza internetowego Komisji.

P: Dlaczego przy niemieckich numerach nazwa podatnika jest pusta?

O: Niemcy i Hiszpania zasadniczo nie ujawniają przez VIES nazwy ani adresu podatnika. Sama rejestracja numeru nadal jest jednoznacznie potwierdzana — zastrzeżone pozostają wyłącznie dane identyfikacyjne. Odpowiedź ustawia name_disclosed: false, dzięki czemu odróżnisz zastrzeżenie wynikające z polityki od naprawdę pustego pola.

P: Co się dzieje, gdy system państwa członkowskiego jest niedostępny?

O: VIES kieruje zapytania do bazy każdego państwa członkowskiego, a te bywają wyłączane na czas prac serwisowych. Otrzymasz wtedy HTTP 503 z czytelnym komunikatem i nie zostaną naliczone żadne kredyty. Spróbuj ponownie po kilku minutach — awaria jest po stronie administracji podatkowej, nie po naszej.

P: Jakie kody krajów są obsługiwane?

O: Wszystkie 27 państw członkowskich oraz XI dla Irlandii Północnej w ramach Windsor Framework. Pamiętaj, że Grecja rozlicza VAT pod kodem EL, a nie pod kodem ISO GR. Wielka Brytania (GB) po brexicie opuściła VIES i nie jest objęta.

P: Czy mogę otrzymać numer konsultacji na potrzeby ścieżki audytu?

O: Pole consultation_number zawiera identyfikator zapytania VIES, o ile został nadany. To właśnie ten identyfikator administracja podatkowa uznaje za dowód, że w danym dniu zweryfikowałeś status VAT kontrahenta — co ma znaczenie przy odwrotnym obciążeniu.