Wpisz numer REGON (9 cyfr dla podmiotu, 14 dla jednostki lokalnej) albo nazwę spółki: strona sprawdzi cyfrę kontrolną i pokaże spółkę z KRS razem z numerami KRS i NIP. Jednoosobowych działalności z CEIDG tu nie ma; jak sprawdzić je w GUS, opisujemy niżej.
Numer REGON (9 lub 14 cyfr) albo nazwa firmy
curl "https://api.prometiam.com/functions/v1/risk-api/companies/search?regon=610188201&country=PL" \ -H "Authorization: Bearer YOUR_API_KEY"
Szukasz oficjalnej wyszukiwarki GUS? To wyszukiwarkaregon.stat.gov.pl: obejmuje cały rejestr REGON, także jednoosobowe działalności. Narzędzie powyżej szuka spółek z KRS i pokazuje je razem z numerami KRS i NIP.
REGON to numer statystyczny nadawany przez Główny Urząd Statystyczny. Rejestr REGON, formalnie krajowy rejestr urzędowy podmiotów gospodarki narodowej, prowadzi Prezes GUS, a numer dostaje każdy wpisany do niego podmiot: spółka, fundacja, spółka cywilna, jednoosobowa działalność i ich jednostki lokalne. Numer nie niesie informacji o firmie (rozporządzenie wyklucza ukryte lub jawne znaczenie cyfr), nie zmienia się przy zmianie nazwy czy adresu i nie przechodzi na następcę prawnego. Budowę numeru określa § 12 rozporządzenia Rady Ministrów z 30 listopada 2015 r. (Dz. U. poz. 2009):
| Numer | Budowa | Dotyczy |
|---|---|---|
| 9 cyfr | osiem cyfr porządkowych i cyfra kontrolna | podmiotu gospodarczego, także jednoosobowej działalności |
| 14 cyfr | REGON podmiotu (9 cyfr), cztery cyfry porządkowe jednostki i cyfra kontrolna | jednostki lokalnej, na przykład oddziału |
Zera na początku mają znaczenie: REGON podmiotu to ciąg dziewięciu znaków, więc 000000023 jest numerem, a 23 nie (tak pisze dokumentacja techniczna GUS). Arkusz kalkulacyjny, który traktuje numer jak liczbę, ucina zera i psuje numer.
Ostatnia cyfra REGON służy do wychwytywania literówek. Rozporządzenie nie podaje wag; poniższa metoda jest powszechnie stosowana i zgadza się z każdym numerem z przykładowych danych w dokumentacji technicznej GUS. Dla numeru dziewięciocyfrowego:
Przykład na numerze spółki ORLEN, 610188201:
| Pozycja | Cyfra | Waga | Iloczyn |
|---|---|---|---|
| 1 | 6 | 8 | 48 |
| 2 | 1 | 9 | 9 |
| 3 | 0 | 2 | 0 |
| 4 | 1 | 3 | 3 |
| 5 | 8 | 4 | 32 |
| 6 | 8 | 5 | 40 |
| 7 | 2 | 6 | 12 |
| 8 | 0 | 7 | 0 |
Suma iloczynów to 144, a reszta z dzielenia przez 11 wynosi 1, czyli tyle, ile ma dziewiąta cyfra. Gdy reszta wynosi 10, cyfrą kontrolną jest 0: dla 12345674 suma to 164, reszta 10, a poprawny numer to 123456740 (przykład obliczeniowy, nie numer firmy).
W numerze jednostki lokalnej pierwsze dziewięć cyfr to REGON podmiotu i sprawdzasz je jak wyżej. Czternastą cyfrę liczysz z pierwszych trzynastu z wagami 2, 4, 8, 5, 0, 9, 7, 3, 6, 1, 2, 4, 8, tą samą metodą. Przykład z dokumentacji GUS, 00000002300041: cyfry różne od zera to 2, 3 i 4 na pozycjach 8, 9 i 13, suma wynosi 2 × 3 + 3 × 6 + 4 × 8 = 56, a reszta 1 zgadza się z ostatnią cyfrą.
| Numer | Kontrola | Skąd |
|---|---|---|
610188201 | poprawny | ORLEN |
390021764 | poprawny | KGHM |
000000023 | poprawny | przykład z dokumentacji GUS |
00000002300041 | poprawny (14 cyfr) | przykład z dokumentacji GUS |
610188202 | błędny | ostatnia cyfra powinna być 1 |
23 | błędny | REGON ma 9 albo 14 cyfr, zer nie wolno ucinać |
Wklej je do pola na górze strony. Poprawna cyfra kontrolna nie dowodzi, że firma istnieje, tylko że numer jest dobrze zbudowany.
Spółka ma zwykle trzy numery z trzech rejestrów. Nie zastępują się nawzajem, ale w rejestrze GUS i w odpisie z KRS stoją obok siebie, więc firmę da się znaleźć po dowolnym z nich.
| Numer | Skąd pochodzi | Cyfry | Kto go ma |
|---|---|---|---|
| REGON | GUS, rejestr REGON | 9 lub 14 | każdy podmiot wpisany do rejestru REGON, także jednoosobowe działalności i spółki cywilne |
| NIP | administracja podatkowa | 10 | podatnicy; z prefiksem PL ma format numeru VAT |
| KRS | Krajowy Rejestr Sądowy | 10 | spółki, fundacje, stowarzyszenia i inne podmioty wpisane do KRS; jednoosobowych działalności tam nie ma |
REGON jest rejestrem wtórnym: GUS aktualizuje go na podstawie danych z CEIDG, z KRS i Krajowej Ewidencji Podatników oraz kilku innych źródeł. Numer REGON znajdziesz w odpisie z KRS (dział 1, dane podmiotu, obok NIP), w wyniku wyszukiwarki GUS i w zaświadczeniu o numerze REGON, które wydaje urząd statystyczny. U nas numer KRS jest kluczem rekordu (company_number), a NIP i REGON leżą obok niego w identifiers. Więcej: Co to jest KRS? i wyszukiwarka NIP.
W Bazie Internetowej REGON (wyszukiwarkaregon.stat.gov.pl) szukasz po REGON, NIP albo numerze KRS, po grupie identyfikatorów albo po adresie, z fragmentem nazwy jako filtrem. Raport obejmuje m.in. jednoosobowe działalności, spółki cywilne, jednostki lokalne i kody PKD. Zgodnie z art. 43 ust. 2 ustawy o statystyce publicznej udostępnienie danych na stronie GUS jest równoznaczne z potwierdzeniem wpisu w rejestrze REGON. Wynik naszej strony takiego skutku nie ma.
Dla programistów GUS prowadzi usługę sieciową opisaną na api.stat.gov.pl. Warunki według dokumentacji technicznej z grudnia 2025 r. (przed wdrożeniem sprawdź je u źródła):
Po numerze REGON dostajesz jeden rekord: numery KRS, NIP i REGON, nazwę, formę prawną, status, adres, datę rejestracji i numer VAT zbudowany z NIP, w tym samym układzie co dla 29 krajów. Dochodzą zdarzenia zmian w rejestrze (od 14 października 2026 r.) i monitoring, który wysyła alert, gdy spółka zmieni status. GUS ma za to pełniejsze dane o samych podmiotach (jednoosobowe działalności, jednostki lokalne, PKD), daje potwierdzenie wpisu i raporty zbiorcze nowych, zmienionych i skreślonych podmiotów z ostatnich siedmiu dni. Jeśli potrzebujesz tylko danych z REGON i nie przeszkadza ci SOAP, oficjalna usługa wystarcza i jest bezpłatna.
GET /companies/search?country=PL®on=610188201 zwraca ten sam rekord co narzędzie powyżej, w polu data. API sprawdza cyfrę kontrolną przed wyszukaniem: błędny REGON albo NIP dostaje odpowiedź 400 validation_error i nic nie kosztuje. Udane wyszukiwanie kosztuje 1 kredyt (nagłówek X-Credits-Cost), a okres próbny trwa 14 dni i obejmuje 500 kredytów: wymaga karty, ale w jego trakcie nic nie jest pobierane.
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=PL®on=610188201' \ -H 'Authorization: Bearer rk_live_...'
Odpowiedź (skrócona):
{
"data": [
{
"id": 4000000028860,
"company_number": "0000028860",
"company_name": "ORLEN SPÓŁKA AKCYJNA",
"identifiers": [
{ "type": "krs", "value": "0000028860" },
{ "type": "nip", "value": "7740001454" },
{ "type": "regon", "value": "610188201" },
{ "type": "vat", "value": "PL7740001454" }
],
"vat_number": "PL7740001454",
"vat_number_source": "rule",
"legal_form": "S.A.",
"status": "active",
"city": "PŁOCK"
}
]
}
Kontrola cyfry po stronie klienta oszczędza zapytanie, gdy numer ma literówkę. Python:
import os
import requests
API = 'https://api.prometiam.com/functions/v1/risk-api'
HEAD = {'Authorization': f'Bearer {os.environ["PROMETIAM_API_KEY"]}'}
W9 = [8, 9, 2, 3, 4, 5, 6, 7]
W14 = [2, 4, 8, 5, 0, 9, 7, 3, 6, 1, 2, 4, 8]
def cyfra_kontrolna(cyfry: str, wagi: list[int]) -> int:
reszta = sum(int(c) * w for c, w in zip(cyfry, wagi)) % 11
return 0 if reszta == 10 else reszta
def regon_poprawny(regon: str) -> bool:
if not regon.isdigit() or len(regon) not in (9, 14):
return False
ok = cyfra_kontrolna(regon[:8], W9) == int(regon[8])
return ok if len(regon) == 9 else ok and cyfra_kontrolna(regon[:13], W14) == int(regon[13])
def firma_po_regon(regon: str):
if not regon_poprawny(regon):
return None # literówka: nie wysyłamy zapytania
r = requests.get(f'{API}/companies/search',
params={'country': 'PL', 'regon': regon}, headers=HEAD)
r.raise_for_status()
wyniki = r.json()['data']
return wyniki[0] if wyniki else None
firma = firma_po_regon('610188201')
print(firma['company_name'], firma['company_number'], firma['status'])
Dla listy numerów REGON wywołuj to w pętli: zapytanie zbiorcze POST /companies/lookup przyjmuje numer KRS, numer VAT (PL i NIP) albo nazwę, ale nie REGON. Żeby obserwować spółkę, wyślij jej id z odpowiedzi do POST /monitor z ciałem {"company_id": 4000000028860, "country": "PL"}: alerty obejmują zmianę statusu, rozwiązanie, trafienie na listę sankcyjną (screening sankcji jest w wersji beta) i zdarzenia zmian w rejestrze. Zarządzanie monitoringiem nic nie kosztuje, a wyszukiwanie zdarzeń (GET /company-events/search) kosztuje 2 kredyty.
PL i NIP (źródło rule): format jest poprawny, rejestracja niepotwierdzona. Status sprawdzisz na białej liście VAT albo przez GET /vat/{numer}.previous_names) pochodzą z pełnego wyciągu KRS i są uzupełniane stopniowo w tygodniach po 14 października 2026 r., więc wiele spółek nie ma ich jeszcze.Ostatni przegląd: 16 października 2026 r. Dane o Polsce pochodzą z Krajowego Rejestru Sądowego i są ustandaryzowane przez Prometiam; to nie jest wyciąg z rejestru ani potwierdzenie wpisu w rejestrze REGON. Opis oficjalnych usług GUS opiera się na ich stronach, rozporządzeniu i dokumentacji technicznej, sprawdzonych tego dnia.
Rozpocznij 14-dniowy darmowy okres próbny · Dokumentacja API
Okres próbny trwa 14 dni i obejmuje 500 kredytów. Wymagana jest karta, w trakcie okresu próbnego nic nie jest pobierane; potem obowiązuje plan Starter (9,99 € miesięcznie), jeśli go nie anulujesz.