Załóż darmowe konto i skorzystaj z 10 zapytań dziennie za darmo. Bez karty, bez zobowiązań.
Załóż kontoEndpointy, parametry, kody odpowiedzi i przykłady zapytań REST API DataPort.pl.
https://dataport.pl/api
v1
API Key (Header)
/api/v1/company/{nip}
Pobierz dane firmy po NIP
Pobiera dane firmy z GUS BIR1.1 na podstawie numeru NIP. Jeśli firma nie istnieje w lokalnej bazie, zostanie automatycznie pobrana z GUS i zapisana. Wykorzystuje inteligentny cache.
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
nip |
string |
Tak | 10-cyfrowy numer NIP firmy (bez myślników) |
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
format |
string |
Nie | Format odpowiedzi: simple (podstawowy) lub full (rozszerzony). Gdy GUS zwróci datę zakończenia działalności, pole data_zakonczenia_dzialalnosci zostanie dodane automatycznie. Domyślnie: simple |
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
X-API-Key |
string |
Tak | Klucz autoryzacji API |
Accept |
string |
Nie | Typ odpowiedzi. Wartość: application/json |
simpledata_zakonczenia_dzialalnosci jest opcjonalne i pojawia się tylko wtedy, gdy GUS zwróci tę informację.{
"success": true,
"nip": "1234567890",
"regon": "123456789",
"nazwa": "PRZYKŁADOWA FIRMA SP. Z O.O.",
"adres": "ul. Testowa 123/45, 00-001 Warszawa",
"data_zakonczenia_dzialalnosci": "2024-12-31"
}
fullfull pole jest zwracane na tej samej zasadzie.{
"success": true,
"nip": "1234567890",
"regon": "123456789",
"nazwa": "PRZYKŁADOWA FIRMA SP. Z O.O.",
"ulica": "ul. Testowa",
"numer_budynku": "123",
"numer_lokalu": "45",
"kod_pocztowy": "00-001",
"miasto": "Warszawa",
"data_zakonczenia_dzialalnosci": "2024-12-31"
}
{
"success": false,
"message": "Firma nie istnieje"
}
{
"success": false,
"message": "Nieprawidłowy klucz API",
"error": "INVALID_API_KEY"
}
{
"success": false,
"message": "Przekroczono dzienny limit zapytań dla Twojego konta",
"error": "RATE_LIMIT_EXCEEDED",
"limit": 10,
"used": 11,
"info": "Limit dotyczy wszystkich Twoich kluczy API łącznie"
}
curl -X GET "https://dataport.pl/api/v1/company/1234567890?format=simple" \
-H "X-API-Key: your_api_key_here" \
-H "Accept: application/json"
/api/v1/company
Wyszukaj firmę po NIP (POST)
Alternatywna metoda wyszukiwania firmy po NIP używając metody POST. Zwraca te same dane co endpoint GET. Użyteczne gdy NIP jest przekazywany w body żądania.
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
format |
string |
Nie | Format odpowiedzi: simple lub full. Domyślnie: simple |
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
X-API-Key |
string |
Tak | Klucz autoryzacji API |
Content-Type |
string |
Tak | Typ zawartości. Wartość: application/json |
Accept |
string |
Nie | Typ odpowiedzi. Wartość: application/json |
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
nip |
string |
Tak | 10-cyfrowy numer NIP firmy |
{
"nip": "1234567890"
}
data_zakonczenia_dzialalnosci jest opcjonalne i zależy od odpowiedzi GUS.{
"success": true,
"nip": "1234567890",
"regon": "123456789",
"nazwa": "PRZYKŁADOWA FIRMA SP. Z O.O.",
"adres": "ul. Testowa 123/45, 00-001 Warszawa",
"data_zakonczenia_dzialalnosci": "2024-12-31"
}
{
"success": false,
"message": "Firma nie istnieje"
}
{
"success": false,
"message": "Pole nip jest wymagane",
"error": "VALIDATION_ERROR"
}
{
"success": false,
"message": "Nieprawidłowy klucz API",
"error": "INVALID_API_KEY"
}
{
"success": false,
"message": "Przekroczono dzienny limit zapytań dla Twojego konta",
"error": "RATE_LIMIT_EXCEEDED",
"limit": 10,
"used": 11
}
curl -X POST "https://dataport.pl/api/v1/company?format=simple" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"nip":"1234567890"}'
/api/v1/companies/batch
Sprawdź wiele NIPów (batch)
Sprawdza do 20 numerów NIP w jednym żądaniu i zwraca zbiorczą odpowiedź.
Każdy unikalny, poprawny NIP liczy się jako 1 zapytanie w dziennym limicie konta.
Duplikaty w tablicy są pomijane (liczone raz). Niepoprawne NIPy zwracane są w wynikach z błędem
INVALID_NIP i nie obciążają limitu.
Przed przetwarzaniem API sprawdza, czy masz wystarczający limit na dzisiaj. Limit jest pobierany dopiero po pomyślnym zakończeniu batcha. Czas odpowiedzi zależy od cache — przy danych z cache ~100 ms, przy wielu zapytaniach do GUS nawet 10–40 s.
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
X-API-Key |
string |
Tak | Klucz autoryzacji API |
Content-Type |
string |
Tak | Typ zawartości. Wartość: application/json |
Accept |
string |
Nie | Typ odpowiedzi. Wartość: application/json |
| Nazwa | Typ | Wymagany | Opis |
|---|---|---|---|
nips |
string[] |
Tak | Tablica NIPów (min. 1, max. 20). Każdy element: 10 cyfr. |
format |
string |
Nie | Format danych firm: simple lub full. Domyślnie: simple |
{
"nips": ["5261040828", "1234567890", "9876543210"],
"format": "simple"
}
results{
"success": true,
"summary": {
"requested": 3,
"unique_valid": 3,
"duplicates_skipped": 0,
"invalid": 0,
"found": 2,
"not_found": 1,
"errors": 0
},
"meta": {
"processing_time_ms": 74.12,
"format": "simple",
"quota": {
"charged": 3,
"used_today": 23,
"daily_limit": 10,
"remaining": 0
}
},
"results": [
{
"success": true,
"nip": "5261040828",
"regon": "123456789",
"nazwa": "PRZYKŁADOWA FIRMA SP. Z O.O.",
"adres": "ul. Testowa 1, 00-001 Warszawa"
},
{
"nip": "1234567890",
"success": false,
"error": "NOT_FOUND",
"message": "Firma o podanym NIP nie istnieje w rejestrze GUS"
}
]
}
{
"success": false,
"message": "Brak poprawnych NIPów do sprawdzenia.",
"error": "NO_VALID_NIPS",
"results": [
{
"input": "123",
"success": false,
"error": "INVALID_NIP",
"message": "Nieprawidłowy format NIP. Wymagane 10 cyfr."
}
]
}
{
"success": false,
"message": "Niewystarczający dzienny limit zapytań dla tego batcha.",
"error": "RATE_LIMIT_EXCEEDED",
"required": 15,
"remaining": 10,
"limit": 10,
"used": 0,
"info": "Limit dotyczy wszystkich Twoich kluczy API łącznie. Duplikaty NIPów liczone są raz."
}
{
"success": false,
"message": "Nieprawidłowy klucz API",
"error": "INVALID_API_KEY"
}
curl -X POST "https://dataport.pl/api/v1/companies/batch" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"nips":["5261040828","1234567890"],"format":"simple"}'
200
400
401
404
429
500