API GUS - dostęp programistyczny do aktualnych danych firm z GUS BIR1.1. Inteligentny cache, aktualizacja w tle, rate limiting.
Inteligentny cache zapewnia odpowiedzi <100ms dla danych <24h
Automatyczna synchronizacja z oficjalnym rejestrem GUS BIR1.1
REST API z JSON, dokumentacja i przykłady kodu
API GUS DataPort.pl umożliwia szybki dostęp do danych firm z rejestru GUS BIR1.1. Zaloguj się i wygeneruj klucz API w dashboardzie. Darmowy plan: 50 zapytań/dzień.
Zaloguj się
Dodaj klucz w headerze X-API-Key
i wykonaj zapytanie do API.
curl -X GET "https://dataport.pl/api/v1/company/1234567890" \
-H "X-API-Key: your_api_key_here" \
-H "Accept: application/json"
API zwraca dane w formacie JSON. Pierwszy raz może potrwać 1-2 sekundy (pobieranie z GUS), kolejne zapytania są natychmiastowe (cache).
Nasze API GUS używa kluczy API przesyłanych w headerze X-API-Key.
Klucz API jest wymagany dla wszystkich zapytań do API GUS.
X-API-Key: your_api_key_here
Limity na całe konto
Dzienny limit zapytań dotyczy wszystkich Twoich kluczy API łącznie, nie każdego osobno.
Licznik zapytań do API GUS resetuje się codziennie o północy (UTC). Gdy przekroczysz limit, API GUS zwróci błąd 429.
{
"success": false,
"message": "Przekroczono dzienny limit zapytań dla Twojego konta",
"error": "RATE_LIMIT_EXCEEDED",
"limit": 20,
"used": 21,
"info": "Limit dotyczy wszystkich Twoich kluczy API łącznie"
}
/api/v1/company/{nip}
Pobierz dane firmy po NIP używając naszego API GUS. Jeśli firma nie istnieje w bazie, zostanie automatycznie pobrana z GUS BIR1.1.
Inteligentny cache
Dane <24h - z cache. Dane 24h-7dni - z cache + aktualizacja w tle. Dane >7dni - świeże z GUS.
nip
10-cyfrowy NIP (wymagane)
format
simple lub full (domyślnie: simple)
curl -X GET "https://dataport.pl/api/v1/company/1234567890?format=simple" \
-H "X-API-Key: your_api_key_here" \
-H "Accept: application/json"
{
"success": true,
"nip": "1234567890",
"regon": "123456789",
"nazwa": "PRZYKŁADOWA FIRMA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"adres": "ul. Testowa 123/45, 00-001 Warszawa"
}
{
"success": true,
"nip": "1234567890",
"regon": "123456789",
"nazwa": "PRZYKŁADOWA FIRMA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"ulica": "ul. Testowa",
"numer_budynku": "123",
"numer_lokalu": "45",
"kod_pocztowy": "00-001",
"miasto": "Warszawa"
}
/api/v1/company
Wyszukaj firmę po NIP (alternatywa dla GET). Zwraca te same dane.
{
"nip": "1234567890"
}
format
simple lub full (domyślnie: simple)
curl -X POST "https://dataport.pl/api/v1/company?format=full" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"nip":"1234567890"}'
Jeśli firma nie istnieje w GUS, API zwróci błąd 404.
{
"success": false,
"message": "Firma nie istnieje"
}
curl -X GET "https://dataport.pl/api/v1/company/{nip}?format=simple" \
-H "X-API-Key: {your_api_key}" \
-H "Accept: application/json"
$nip = 'nip';
$apiKey = 'your_api_key';
$ch = curl_init('https://dataport.pl/api/v1/company/{$nip}?format=simple');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-Key: ' . $apiKey,
'Accept: application/json',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
use GuzzleHttp\Client;
$client = new Client();
$response = $client->get('https://dataport.pl/api/v1/company/1234567890', [
'query' => ['format' => 'simple'],
'headers' => [
'X-API-Key' => 'your_api_key_here',
'Accept' => 'application/json',
]
]);
$data = json_decode($response->getBody(), true);
echo $data['nazwa']; // PRZYKŁADOWA FIRMA SP. Z O.O.
const apiKey = 'your_api_key_here';
const nip = '1234567890';
fetch(`https://dataport.pl/api/v1/company/${nip}?format=simple`, {
method: 'GET',
headers: {
'X-API-Key': apiKey,
'Accept': 'application/json'
}
})
.then(response => response.json())
.then(data => {
console.log(data.nazwa); // PRZYKŁADOWA FIRMA SP. Z O.O.
})
.catch(error => console.error('Error:', error));
import requests
api_key = 'your_api_key_here'
nip = '1234567890'
response = requests.get(
f'https://dataport.pl/api/v1/company/{nip}',
params={'format': 'simple'},
headers={
'X-API-Key': api_key,
'Accept': 'application/json'
}
)
data = response.json()
print(data['nazwa']) # PRZYKŁADOWA FIRMA SP. Z O.O.
200
OK
Zapytanie wykonane pomyślnie
400
Bad Request
Nieprawidłowe parametry (np. błędny NIP)
401
Unauthorized
Brak lub nieprawidłowy klucz API
{
"success": false,
"message": "Nieprawidłowy klucz API",
"error": "INVALID_API_KEY"
}
404
Not Found
Firma nie istnieje w GUS
429
Too Many Requests
Przekroczono dzienny limit zapytań
{
"success": false,
"message": "Przekroczono dzienny limit...",
"error": "RATE_LIMIT_EXCEEDED",
"limit": 100,
"used": 101
}
500
Server Error
Błąd serwera (np. problem z GUS)
Dane świeższe niż 24h są zwracane z cache. Dane między 24h a 7 dni są zwracane z cache + aktualizujemy je w tle z GUS. Dane starsze niż 7 dni są pobierane świeżo z GUS.
API zwróci błąd 429 (Too Many Requests). Limit resetuje się każdej doby o północy (UTC). Możesz sprawdzić swoje statystyki użycia w panelu kluczy API.
Tak, dzienny limit zapytań dotyczy całego Twojego konta, nie każdego klucza osobno. Jeśli masz kilka kluczy API, to dzienny limit dotyczy wszystkich kluczy łącznie, nie każdego osobno.
API GUS to REST API udostępniane przez DataPort.pl, które umożliwia programistyczny dostęp do danych firm z oficjalnego rejestru GUS BIR1.1. Nasze API GUS oferuje inteligentny cache, automatyczną aktualizację danych i prosty interfejs REST. Wszystkie dane pochodzą z oficjalnego API GUS BIR1.1 (Główny Urząd Statystyczny) i są na bieżąco aktualizowane i synchronizowane z rejestrem REGON.
Wszystkie dane pochodzą z oficjalnego API GUS BIR1.1 (Główny Urząd Statystyczny). Dane są na bieżąco aktualizowane i synchronizowane z rejestrem REGON.
Tak, możesz używać API w aplikacjach komercyjnych. Upewnij się tylko, że zachowujesz bezpieczeństwo swojego klucza API i nie przekraczasz limitów swojego planu.
Jeśli firma nie istnieje w rejestrze GUS, API zwróci błąd 404 z komunikatem "Firma nie istnieje". Upewnij się, że NIP jest poprawny i że firma jest zarejestrowana.
Masz pytania dotyczące API? Napotkałeś problem? Skontaktuj się z naszym zespołem wsparcia.