Kompletny przewodnik: od rejestracji, przez uzyskanie klucza API, aż po pierwsze zapytanie. Z praktycznymi przykładami w różnych językach programowania.
Chcesz pobrać dane firm z GUS (Głównego Urzędu Statystycznego) w formacie JSON? DataPort.pl udostępnia proste REST API, które umożliwia szybkie pobieranie aktualnych danych firm po numerze NIP. W tym przewodniku pokażemy Ci, jak to zrobić krok po kroku.
Aby korzystać z API DataPort.pl, musisz najpierw utworzyć konto i wygenerować klucz API. Dzięki darmowemu planowi możesz wykonać do 20 zapytań dziennie - to wystarczy do testowania i mniejszych projektów.
Darmowy plan:
Jeśli nie masz jeszcze konta, przejdź do strony logowania i utwórz nowe konto. Proces rejestracji jest prosty i zajmuje tylko chwilę.
Po zalogowaniu przejdź do panelu użytkownika (Dashboard) i wybierz sekcję "Klucze API". Następnie kliknij przycisk "Utwórz nowy klucz". Klucz zostanie wygenerowany automatycznie - zapisz go w bezpiecznym miejscu, ponieważ pokazujemy go tylko raz!
Utwórz kontoWażne
Klucz API działa jak hasło - nie udostępniaj go publicznie i nie commituj do repozytoriów Git. Użyj zmiennych środowiskowych lub menedżerów sekretów.
API DataPort.pl udostępnia prosty endpoint do pobierania danych firmy po NIP:
GET https://dataport.pl/api/v1/company/{nip}
Gdzie {nip} to 10-cyfrowy numer NIP firmy, którą chcesz sprawdzić.
Możesz dodać parametr format do kontrolowania formatu odpowiedzi:
format=simple
- uproszczony format z podstawowymi danymi (domyślny)
format=full
- pełny format z wszystkimi dostępnymi danymi
Wszystkie zapytania do API wymagają autentykacji poprzez klucz API. Klucz należy przesłać w nagłówku HTTP:
X-API-Key: your_api_key_here
Poniżej znajdziesz praktyczne przykłady użycia API w najpopularniejszych językach programowania.
Najprostszy sposób na przetestowanie API z linii poleceń:
curl -X GET "https://dataport.pl/api/v1/company/1234567890?format=simple" \
-H "X-API-Key: your_api_key_here" \
-H "Accept: application/json"
Przykład użycia w PHP z biblioteką Guzzle HTTP:
{{ '<' }}?php
use GuzzleHttp\Client;
$client = new Client();
$nip = '1234567890';
$apiKey = 'your_api_key_here';
try {
$response = $client->get("https://dataport.pl/api/v1/company/{$nip}", [
'query' => ['format' => 'simple'],
'headers' => [
'X-API-Key' => $apiKey,
'Accept' => 'application/json',
]
]);
$data = json_decode($response->getBody(), true);
if ($data['success']) {
echo "Nazwa firmy: " . $data['nazwa'] . "\n";
echo "REGON: " . $data['regon'] . "\n";
echo "Adres: " . $data['adres'] . "\n";
}
} catch (\Exception $e) {
echo "Błąd: " . $e->getMessage() . "\n";
}
?>
Przykład użycia z Fetch API (działa zarówno w Node.js jak i przeglądarce):
const apiKey = 'your_api_key_here';
const nip = '1234567890';
async function getCompanyData(nip, apiKey) {
try {
const response = await fetch(
`https://dataport.pl/api/v1/company/${nip}?format=simple`,
{
method: 'GET',
headers: {
'X-API-Key': apiKey,
'Accept': 'application/json'
}
}
);
const data = await response.json();
if (data.success) {
console.log('Nazwa firmy:', data.nazwa);
console.log('REGON:', data.regon);
console.log('Adres:', data.adres);
return data;
} else {
console.error('Błąd:', data.message);
}
} catch (error) {
console.error('Błąd sieci:', error);
}
}
// Użycie
getCompanyData(nip, apiKey);
Przykład użycia w Pythonie z biblioteką requests:
import requests
api_key = 'your_api_key_here'
nip = '1234567890'
url = f'https://dataport.pl/api/v1/company/{nip}'
headers = {
'X-API-Key': api_key,
'Accept': 'application/json'
}
params = {
'format': 'simple'
}
try:
response = requests.get(url, headers=headers, params=params)
response.raise_for_status() # Rzuca wyjątek dla kodów błędów HTTP
data = response.json()
if data.get('success'):
print(f"Nazwa firmy: {data['nazwa']}")
print(f"REGON: {data['regon']}")
print(f"Adres: {data['adres']}")
else:
print(f"Błąd: {data.get('message', 'Nieznany błąd')}")
except requests.exceptions.RequestException as e:
print(f"Błąd sieci: {e}")
Możesz także użyć metody POST do wyszukania firmy:
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"}'
Przy użyciu parametru format=simple otrzymasz uproszczoną odpowiedź:
{
"success": true,
"nip": "1234567890",
"regon": "123456789",
"nazwa": "PRZYKŁADOWA FIRMA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"adres": "ul. Testowa 123/45, 00-001 Warszawa"
}
Przy użyciu format=full otrzymasz pełne dane:
{
"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 zwraca standardowe kody HTTP oraz informacje o błędzie w formacie JSON:
{
"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": 100,
"used": 101
}
API DataPort.pl wykorzystuje inteligentny system cache, który zapewnia szybkie odpowiedzi przy zachowaniu aktualności danych:
Dane < 24h:
Zwracane z cache natychmiastowo (średnio < 100ms)
Dane 24h - 7 dni:
Zwracane z cache + aktualizacja w tle z GUS
Dane > 7 dni:
Pobierane świeżo z GUS (może potrwać 1-2 sekundy)
Korzyści:
Pobieranie danych firm z GUS po NIP jest bardzo proste z API DataPort.pl:
Utwórz konto i wygeneruj klucz API
Wykonaj zapytanie GET do /api/v1/company/{nip}
Dodaj klucz API w nagłówku X-API-Key
Otrzymaj dane w formacie JSON
Chcesz przetestować API bez kodowania?
Użyj naszego API Playground, gdzie możesz wykonać zapytania bezpośrednio w przeglądarce.
Utwórz konto już dziś i zacznij korzystać z API DataPort.pl. Darmowy plan wystarczy do większości projektów!