API GUS (REGON) po NIP
REST/JSON bez klucza
Dane podmiotu z rejestru REGON (GUS BIR) po numerze NIP — jednym zapytaniem GET, w odpowiedzi czysty JSON. Bez klucza API, bez rejestracji i bez dziennego limitu zapytań. To warstwa nad usługą GUS BIR (SOAP), która zdejmuje z Ciebie logowanie, sesje i XML.
Jeden GET, jeden JSON
Endpoint jest publiczny, metoda GET, a parametr ?format=json zwraca dane maszynowo (bez niego dostajesz stronę HTML dla człowieka):
curl "https://skanfirmy.pl/regon/5260250995?format=json"
W odpowiedzi dostajesz oficjalną nazwę, numer REGON, adres siedziby i formę prawną — prosto z rejestru REGON prowadzonego przez GUS:
{
"nip": "5260250995",
"source": "regon-gus",
"regon": "012100784",
"dane": {
"regon": "012100784",
"nip": "5260250995",
"nazwa": "ORANGE POLSKA SPÓŁKA AKCYJNA",
"wojewodztwo": "MAZOWIECKIE",
"powiat": "Warszawa",
"gmina": "Ochota",
"miejscowosc": "Warszawa",
"kodPocztowy": "02-326",
"ulica": "Aleje Jerozolimskie",
"nrNieruchomosci": "160",
"typ": "P",
"dataZakonczenia": ""
},
"checkedAt": "2026-08-23"
}
Bez klucza API, bez rejestracji, bez limitu
Endpoint działa od razu — nie musisz zakładać konta, generować klucza API ani pilnować dziennego limitu zapytań. To celowa różnica względem komercyjnych nakładek na GUS: chcemy, żeby integrację dało się wpiąć w minutę, także z poziomu agenta AI. Serwis jest utrzymywany bezpłatnie; przy dużym, automatycznym ruchu prosimy tylko o rozsądek (pojedyncze zapytania inicjowane przez użytkowników, nie masowy scraping).
Zamiast GUS BIR SOAP
Oficjalna usługa GUS to BIR 1.1 — SOAP z sekwencją Zaloguj → DaneSzukajPodmioty → Wyloguj, identyfikatorem sesji w nagłówku, kopertami XML i odpowiedziami w formacie MTOM. Działa, ale integracja potrafi zająć popołudnie. Nasz endpoint robi to wszystko po stronie serwera i zwraca gotowy JSON — Ty wysyłasz jeden GET.
Co zwraca /regon/{nip}:
| Pole | Znaczenie |
|---|---|
regon | Numer REGON podmiotu |
nazwa | Oficjalna nazwa z rejestru REGON |
wojewodztwo, powiat, gmina, miejscowosc, kodPocztowy, ulica, nrNieruchomosci, nrLokalu | Adres siedziby (dla osób prawnych) |
typ | Literał GUS: P — osoba prawna, F — osoba fizyczna (m.in. JDG), LP/LF — jednostki lokalne |
dataZakonczenia | Data zakończenia działalności (pusta, jeśli podmiot działa) |
Dla jednoosobowych działalności (osoba fizyczna, typ: "F") rejestr REGON w wyszukiwaniu po NIP zwraca nazwę, REGON i typ — pola adresowe pozostają puste (to ograniczenie po stronie GUS, nie naszej warstwy).
W Pythonie
Z biblioteką requests całość to kilka linii:
import requests
def dane_regon(nip: str) -> dict:
r = requests.get(f"https://skanfirmy.pl/regon/{nip}?format=json", timeout=10)
r.raise_for_status()
return r.json()["dane"]
d = dane_regon("5260250995")
print(d["nazwa"], "· REGON", d["regon"])
# ORANGE POLSKA SPÓŁKA AKCYJNA · REGON 012100784
Podmiot spoza rejestru zwraca 404, a NIP z błędną sumą kontrolną — 400. Warto obsłużyć oba przypadki, zamiast zakładać, że każdy NIP ma wpis.
W JavaScripcie
const r = await fetch("https://skanfirmy.pl/regon/5260250995?format=json");
if (r.ok) {
const { dane } = await r.json();
console.log(dane.nazwa, dane.regon);
}
W PHP
$ch = curl_init("https://skanfirmy.pl/regon/5260250995?format=json");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$dane = json_decode(curl_exec($ch), true)["dane"];
echo $dane["nazwa"] . " · REGON " . $dane["regon"];
Więcej niż REGON — jednym NIP-em
Jeśli oprócz danych GUS potrzebujesz statusu VAT i wpisu w KRS, użyj /nip/{nip}?format=json — łączy Wykaz VAT (Biała Lista, Ministerstwo Finansów), KRS i numer REGON w jednej odpowiedzi. Pozostałe endpointy (wszystkie GET → JSON, bez klucza):
/regon/{nip}— dane z rejestru REGON (GUS)/nip/{nip}— status VAT + Biała Lista + KRS + REGON/nips/{lista}— wiele NIP-ów naraz (rozdzielonych przecinkami)/vies/{kraj}/{numer}— walidacja unijnego numeru VAT (VIES, Komisja Europejska)
Dla agentów AI pod adresem https://skanfirmy.pl/mcp stoi serwer Model Context Protocol (MCP) z narzędziem sprawdz_regon (i kilkoma innymi do NIP, KRS i VIES) — również bez klucza. Mapa endpointów dla modeli jest w llms.txt. Weryfikację po NIP w interfejsie zrobisz w narzędziu REGON (GUS).
Publiczny endpoint a typowe płatne API GUS
Większość komercyjnych nakładek REST na rejestr GUS działa w modelu freemium — konto, klucz API i dzienny limit zapytań w darmowym progu. Ten endpoint jest publiczny i bezpłatny. Różnice w skrócie:
| Typowe płatne API GUS | skanfirmy.pl /regon | |
|---|---|---|
| Klucz API | wymagany | niepotrzebny |
| Rejestracja / konto | tak | nie |
| Limit w darmowym progu | zwykle jest | brak twardego limitu (prosimy o rozsądek) |
| Format odpowiedzi | REST/JSON | REST/JSON |
| Serwer MCP dla agentów AI | zwykle brak | tak |
| Zakres | zwykle same dane GUS/REGON | REGON + Biała Lista VAT, KRS, VIES (osobne endpointy) |
| Model | freemium / abonament | bezpłatnie |
To nie jest oficjalne API GUS — dane pochodzą z tego samego źródła (rejestr REGON, usługa BIR), tylko udostępnione jednym zapytaniem GET.
Skąd pochodzą dane i czym to nie jest
Dane pochodzą wprost z rejestru REGON prowadzonego przez Główny Urząd Statystyczny (usługa BIR). To niezależne narzędzie — nie jest oficjalnym API GUS ani z nim niepowiązane; jedynie udostępnia jego dane w wygodniejszej formie. Zakres i aktualność danych są takie, jak w rejestrze GUS.
Najczęstsze pytania
Czy potrzebny jest klucz API albo rejestracja?
Nie. Endpoint /regon/{nip} jest publiczny — zwraca JSON po dodaniu ?format=json, bez klucza API, bez zakładania konta i bez dziennego limitu zapytań.
Czym to się różni od usługi GUS BIR (SOAP)?
Oficjalna usługa GUS BIR 1.1 to SOAP z logowaniem, sesją, kopertami XML i odpowiedziami MTOM. Nasz endpoint wykonuje tę sekwencję po stronie serwera i zwraca gotowy JSON, więc po Twojej stronie zostaje jedno zapytanie GET.
Jak pobrać dane firmy z GUS po NIP w formacie JSON?
Wyślij GET na https://skanfirmy.pl/regon/{NIP}?format=json. W odpowiedzi dostaniesz nazwę, numer REGON, adres siedziby i formę prawną podmiotu z rejestru REGON.
Czy działa dla jednoosobowej działalności (JDG)?
Tak. Dla osób fizycznych prowadzących działalność (typ: "F") rejestr REGON zwraca nazwę, REGON i typ podmiotu. Pola adresowe pozostają puste — to ograniczenie danych udostępnianych przez GUS w wyszukiwaniu, nie naszej warstwy.
Czy korzystanie jest płatne?
Nie. Endpoint jest bezpłatny i bez rejestracji. Dane pochodzą wprost z rejestru REGON prowadzonego przez Główny Urząd Statystyczny.