Jedno zapytanie REST zwraca profil spółki z Krajowego Rejestru Sądowego w tym samym schemacie co dane z 28 innych krajów. Szukasz po numerze KRS, NIP, REGON albo po nazwie.
Ministerstwo Sprawiedliwości udostępnia bezpłatne Otwarte API KRS. Przyjmuje ono numer KRS i zwraca odpis w układzie rejestru. Jeśli wystarczy ci odpis jednej spółki o znanym numerze KRS, to jest uczciwie najtańsze rozwiązanie i nie musisz szukać dalej.
Prometiam dodaje to, czego odpis z rejestru nie daje: wyszukiwanie po NIP, REGON i nazwie, jeden ustandaryzowany schemat odpowiedzi dla wszystkich krajów (zmieniasz tylko parametr country), monitoring z webhookami podpisanymi HMAC-SHA256 oraz zdarzenia zmian w rejestrze. Jeśli sprawdzasz tylko polskie spółki po numerze KRS, oficjalne API wystarczy. Jeśli twój system obsługuje też kontrahentów z Francji, Wielkiej Brytanii czy Hiszpanii, jeden format odpowiedzi oszczędza ci pisania osobnej integracji dla każdego rejestru.
Wyszukiwanie dla Polski przyjmuje numer KRS (company_number), nip, regon albo nazwę (name). Numery są walidowane: błędny NIP lub REGON dostaje od razu odpowiedź 400 validation_error, zamiast wyglądać jak spółka, której nie ma w rejestrze. Wyniki są w polu data.
# Po numerze KRS (ORLEN S.A.)
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=PL&company_number=0000028860' \
-H 'Authorization: Bearer rk_live_...'
# Po NIP
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/search?country=PL&nip=7740001454' \
-H 'Authorization: Bearer rk_live_...'
# Pełny profil po id z odpowiedzi
curl 'https://api.prometiam.com/functions/v1/risk-api/companies/{id}' \
-H 'Authorization: Bearer rk_live_...'
import os, requests
API = 'https://api.prometiam.com/functions/v1/risk-api'
HEAD = {'Authorization': f'Bearer {os.environ["PROMETIAM_API_KEY"]}'}
def krs_po_nip(nip: str):
r = requests.get(f'{API}/companies/search',
params={'country': 'PL', 'nip': nip}, headers=HEAD)
r.raise_for_status()
wyniki = r.json()['data']
return wyniki[0] if wyniki else None
firma = krs_po_nip('7740001454')
print(firma['company_name'], firma['status'])
Jak znaleźć numer KRS, mając tylko NIP? Właśnie tak: zapytanie po nip zwraca rekord z numerem KRS w company_number i w polu identifiers. Bez zakładania konta sprawdzisz to w wyszukiwarce KRS i w wyszukiwarce NIP.
| Pole | Co oznacza |
|---|---|
company_name | Nazwa spółki z KRS |
company_number, identifiers | Numer KRS oraz NIP i REGON |
status, local_status | Status standardowy i status własnymi słowami rejestru |
legal_form, local_legal_form | Forma prawna: standardowa i taka, jak w rejestrze (sp. z o.o., S.A.) |
founding_date, adres, kapitał zakładowy | Data rejestracji, siedziba i kapitał zakładowy |
previous_names | Poprzednie nazwy (uzupełniane stopniowo) |
vat_number, vat_number_source | Numer PL + NIP, źródło rule: format jest poprawny, rejestracja niepotwierdzona |
Każde zapytanie niesie nagłówek Authorization: Bearer rk_live_.... Limity zależą od planu: Starter 60, Professional 120, Scale 300 zapytań na minutę. Odpowiedź ma nagłówek X-Credits-Cost: wyszukanie spółki i pobranie profilu kosztują po jednym kredycie, błędy są bezpłatne. Zapytania zbiorcze (POST /companies/lookup) liczą każdą pozycję jak jedno zapytanie, a przekroczenie salda kończy się odmową z góry (429 batch_exceeds_quota).
status.GET /companies/{id}/financials, plan Scale) tylko dla spółek giełdowych, z raportów ESEF; często z opóźnieniem ponad roku, głównie rok obrotowy 2023. Dla pozostałych spółek odpowiedź ma availability: listed_companies_only. Dokumenty z repozytorium RDF nie są zwracane.POST /monitor z {"company_id": ..., "country": "PL"} obserwuje spółkę. Alerty obejmują zmianę statusu, rozwiązanie, trafienie na liście sankcyjnej (beta) i zdarzenia zmian w rejestrze. Webhooki wymagają planu Professional (29,99 €, 10 000 kredytów, 250 obserwowanych spółek); Scale (99,99 €, 50 000 kredytów) obserwuje do 2 500. Więcej w przewodniku o weryfikacji kontrahenta.
Dane o Polsce pochodzą z Krajowego Rejestru Sądowego. Prometiam standaryzuje je i nie jest urzędowym odpisem z rejestru; do celów prawnych korzystaj z odpisu oficjalnego.
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.