API Reference

Technical Documentation

Kompletna dokumentacja techniczna wszystkich endpointów REST API DataPort.pl

Base URL
https://dataport.pl/api
Version
v1
Authentication
API Key (Header)

Endpoints

GET /api/v1/company/{nip} Pobierz dane firmy po NIP

Opis

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.

Path Parameters

Nazwa Typ Wymagany Opis
nip string Tak 10-cyfrowy numer NIP firmy (bez myślników)

Query Parameters

Nazwa Typ Wymagany Opis
format string Nie Format odpowiedzi: simple (4 pola) lub full (8 pól). Domyślnie: simple

Headers

Nazwa Typ Wymagany Opis
X-API-Key string Tak Klucz autoryzacji API
Accept string Nie Typ odpowiedzi. Wartość: application/json

Responses

200 OK
404 Not Found
401 Unauthorized
429 Rate Limit
Format: simple
{
  "success": true,
  "nip": "1234567890",
  "regon": "123456789",
  "nazwa": "PRZYKŁADOWA FIRMA SP. Z O.O.",
  "adres": "ul. Testowa 123/45, 00-001 Warszawa"
}
Format: full
{
  "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"
}
Firma nie istnieje w GUS
{
  "success": false,
  "message": "Firma nie istnieje"
}
Nieprawidłowy lub brakujący klucz API
{
  "success": false,
  "message": "Nieprawidłowy klucz API",
  "error": "INVALID_API_KEY"
}
Przekroczono dzienny limit zapytań
{
  "success": false,
  "message": "Przekroczono dzienny limit zapytań dla Twojego konta",
  "error": "RATE_LIMIT_EXCEEDED",
  "limit": 100,
  "used": 101,
  "info": "Limit dotyczy wszystkich Twoich kluczy API łącznie"
}

Przykład zapytania

curl -X GET "https://dataport.pl/api/api/v1/company/1234567890?format=simple" \
  -H "X-API-Key: your_api_key_here" \
  -H "Accept: application/json"
POST /api/v1/company Wyszukaj firmę po NIP (POST)

Opis

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.

Query Parameters

Nazwa Typ Wymagany Opis
format string Nie Format odpowiedzi: simple lub full. Domyślnie: simple

Headers

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

Request Body

application/json
Nazwa Typ Wymagany Opis
nip string Tak 10-cyfrowy numer NIP firmy
{
  "nip": "1234567890"
}

Responses

200 OK
404 Not Found
400 Bad Request
401 Unauthorized
429 Rate Limit
Pomyślne pobranie danych
{
  "success": true,
  "nip": "1234567890",
  "regon": "123456789",
  "nazwa": "PRZYKŁADOWA FIRMA SP. Z O.O.",
  "adres": "ul. Testowa 123/45, 00-001 Warszawa"
}
Firma nie istnieje w GUS
{
  "success": false,
  "message": "Firma nie istnieje"
}
Nieprawidłowy format danych lub brak NIP
{
  "success": false,
  "message": "Pole nip jest wymagane",
  "error": "VALIDATION_ERROR"
}
Nieprawidłowy lub brakujący klucz API
{
  "success": false,
  "message": "Nieprawidłowy klucz API",
  "error": "INVALID_API_KEY"
}
Przekroczono dzienny limit zapytań
{
  "success": false,
  "message": "Przekroczono dzienny limit zapytań dla Twojego konta",
  "error": "RATE_LIMIT_EXCEEDED",
  "limit": 100,
  "used": 101
}

Przykład zapytania

curl -X POST "https://dataport.pl/api/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"}'

Status Codes

200
OK
Zapytanie wykonane pomyślnie
400
Bad Request
Nieprawidłowe parametry zapytania
401
Unauthorized
Brak lub nieprawidłowy klucz API
404
Not Found
Firma nie istnieje w GUS
429
Too Many Requests
Przekroczono dzienny limit zapytań
500
Server Error
Błąd serwera lub problem z GUS