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.
Nie masz klucza API?
Zaloguj się na swoje konto, aby tworzyć klucze API i nimi zarządzać.
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.
/api/validate-vathttps://www.apipick.comValidate an EU VAT number against the official VIES registry
vat_numberstringwymaganeFull VAT number with its two-letter member-state prefix. Spaces, dots, and hyphens are stripped. IE6388047V
countrystringopcjonalneMember-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
}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
| Pole | Typ | Opis |
|---|---|---|
| valid | boolean | Czy numer jest obecnie zarejestrowany do handlu transgranicznego |
| country_code | string | Kod państwa członkowskiego zgodnie ze zgłoszeniem (EL dla Grecji, XI dla Irlandii Północnej) |
| number | string | Numer VAT bez prefiksu kraju |
| name | string | null | Zarejestrowana nazwa podatnika, gdy państwo członkowskie ją udostępnia |
| address | string | null | Zarejestrowany adres, gdy państwo członkowskie go udostępnia |
| name_disclosed | boolean | False, gdy państwo członkowskie zastrzega dane identyfikacyjne zgodnie z polityką (DE, ES) |
| request_date | string | null | Znacznik czasu zapisany przez VIES dla tego sprawdzenia |
| consultation_number | string | null | Identyfikator zapytania VIES, użyteczny jako dowód weryfikacji |
| credits_used | integer | Kredyty odjęte za to żądanie |
| remaining_credits | integer | Kredyty pozostałe na Twoim koncie |
Limity zapytań
Ograniczanie działa per klucz API, w przesuwnym oknie 60 sekund. Po przekroczeniu limitu otrzymasz czyste 429 z nagłówkiem Retry-After.
20req/min
Per klucz API, per endpoint. Przesuwne okno 60 sekund.
3concurrent
Maksymalna liczba jednoczesnych żądań w toku na klucz API.
X-RateLimit-LimitMaksymalna dozwolona liczba żądań na minutęX-RateLimit-RemainingPozostała liczba żądań w bieżącym oknieX-RateLimit-ResetSekundy do zresetowania bieżącego oknaRetry-AfterSekundy oczekiwania przed ponowieniem (tylko przy 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
}Ź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.