Poland Company Registry (KRS) API and MCP — NIP, REGON, Representatives & Capital
Send a KRS number, or the link to the company on the register, and you get the company record as structured JSON: name, status, legal form, registration date, address, NIP, REGON, website, e-mail, representatives, share capital, activities, branches and history.
- You send
- A KRS number or a link to the record on the register
- You get back
- Status, legal form, NIP and REGON, address, representatives, capital, branches, activities and history
- Coverage
- Poland — entities on KRS (National Court Register).
- Price
- 5 pts — $5 per 1,000
- Charged only when the record resolves. A lookup that finds nothing is not billed.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| KRS (National Court Register) directly | Open KRS (National Court Register) and read the record | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $5 per 1,000, misses not billed | Covers Poland — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
company.registration_number | string | KRS number, with leading zeros. |
company.name | string | Registered company name. |
company.status | string | Register status, e.g. Active. |
company.address | string | Registered address as published. |
company.url | string | Link to the entity on the register. |
company.company_type | string | Legal form, in Polish. |
company.incorporation_date | string | Date of registration. |
company.register | string | Register section, e.g. Register of Entrepreneurs. |
company.nip | string | NIP, the Polish tax identification number. |
company.regon | string | REGON statistical number. |
company.website | string | Website as published. |
company.email | string | E-mail as published. |
company.voivodeship | string | Voivodeship (region) of the seat. |
company.county | string | County of the seat. |
company.municipality | string | Municipality of the seat. |
company.city | string | City of the seat. |
company.postal_code | string | Postal code. |
company.deregistration_date | null | Null in the sample because the company is active. |
company.suspension_date | null | Null in the sample. |
company.resumption_date | null | Null in the sample. |
company.public_benefit_organization | boolean | Whether the entity is a public benefit organization. |
company.bankruptcy_proceedings | boolean | Whether bankruptcy proceedings are recorded. |
company.representation_body | string | Body that represents the company, e.g. ZARZĄD (management board). |
company.representation_method | string | How the representatives act, in Polish, as published and possibly cut. |
company.representatives[] | array | Representatives: function and name. |
company.share_capital | number | Share capital amount. |
company.share_capital_currency | string | Currency of the share capital. |
company.share_count | string | Number of shares. |
company.share_nominal_value | string | Nominal value of one share. |
company.paid_up_capital | string | Paid-up capital, as published. |
company.share_series[] | array | Share series with the range and number of shares. |
company.main_activity[] | array | Main activity with its code, in Polish. |
company.other_activities[] | array | Other activities; other_activities_total gives the count. |
company.branches[] | array | Branches: name, city, address. |
company.branches_count | number | Number of branches. |
company.supervisory_boards[] | array | Supervisory bodies with members_count and members (name, function). |
company.procurators[] | array | Procurators with the type of authority; procurators_total gives the count. |
company.shareholders | null | Null in the sample. |
company.formation | object | How the company was formed: circumstances and description. |
company.mergers_transformations[] | array | Mergers and transformations with the entities involved (name, krs, regon). |
company.previous_names[] | array | Earlier names with from and until dates. |
company.previous_registration | string | Earlier register entry, as published. |
company.e_delivery_address | string | E-delivery address of the company. |
company.existence_period | string | Period of existence as published; NIEOZNACZONY means not specified. |
company.first_financial_year_end | string | End of the first financial year. |
company.financial_statements_total | number | Number of financial statements on file. |
company.consolidated_statements_total | number | Number of consolidated statements on file. |
company.articles_amendments[] | array | Amendments to the articles, as published. |
company.register_entries_total | number | Number of register entries. |
company.last_entry_date | string | Date of the latest register entry. |
company.extract_as_of | string | Date the extract refers to. |
blocked | boolean | True when the register could not be read. |
pages_opened | number | Register pages read for this lookup. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "pl_company",
"company": "0000028860",
"company_id": "0000028860",
"human": "# Poland — KRS — company\n\n- **Number:** 0000028860\n- **Pages opened:** 1\n- **Proxy traffic:** 44.9 KB\n- **Name:** ORLEN SPÓŁKA AKCYJNA\n- **Status:** Active\n- **Type:** SPÓŁKA AKCYJNA\n- **Registered:** 2001-07-19\n- **Address:** ul. CHEMIKÓW nr. 7 lok. --- miejsc. PŁOCK kod 09-411 poczta PŁOCK-BIAŁA kraj POLSKA",
"machine": {
"company": {
"registration_number": "0000028860",
"name": "ORLEN SPÓŁKA AKCYJNA",
"status": "Active",
"address": "ul. CHEMIKÓW nr. 7 lok. --- miejsc. PŁOCK kod 09-411 poczta PŁOCK-BIAŁA kraj POLSKA",
"url": "https://wyszukiwarka-krs.ms.gov.pl/dane-szczegolowe-podmiotu;numerKRS=jskuOTCcHgtMK%2BkzaRgM8w%3D%3D;typ=P",
"company_type": "SPÓŁKA AKCYJNA",
"incorporation_date": "2001-07-19",
"register": "Register of Entrepreneurs",
"nip": "7740001454",
"regon": "61018820100000",
"website": "WWW.ORLEN.PL",
"email": "ZARZAD@ORLEN.PL",
"voivodeship": "MAZOWIECKIE",
"county": "M. PŁOCK",
"municipality": "M. PŁOCK",
"city": "PŁOCK",
"postal_code": "09-411",
"deregistration_date": null,
"suspension_date": null,
"resumption_date": null,
"public_benefit_organization": false,
"bankruptcy_proceedings": false,
"representation_body": "ZARZĄD",
"representation_method": "- DWAJ CZŁONKOWIE ZARZĄDU DZIAŁAJĄCY ŁĄCZNIE - CZŁONEK ZARZĄDU DZIAŁAJĄCY ŁĄCZNIE Z PROKURENTEM DO ZACIĄGANIA ZOBOWIĄZAŃ I DOKONYWANIA CZYNNOŚCI ROZPORZĄDZAJĄCYCH ZWYKŁEGO ZARZĄDU O WARTOŚCI NIE PRZEK",
"representatives": [
{
"function": "PREZES ZARZĄDU",
"name": "IRENEUSZ FĄFARA"
},
{
"function": "WICEPREZES ZARZĄDU DS. OPERACYJNYCH",
"name": "ROBERT SOSZYŃSKI"
}
],
"share_capital": 1451177561.25,
"share_capital_currency": "PLN",
"main_activity": [
"19.20.Z WYTWARZANIE I PRZETWARZANIE PRODUKTÓW RAFINACJI ROPY NAFTOWEJ ORAZ PRODUKTÓW Z PALIW KOPALNYCH"
],
"branches_count": 9,
"previous_registration": "RHB / 780 / SĄD REJONOWY W PŁOCKU",
"e_delivery_address": "AE:PL-59420-30959-DSCHB-14",
"last_entry_date": "2026-10-06",
"extract_as_of": "2026-10-06",
"shareholders": null,
"shareholders_total": null,
"shareholders_truncated": false,
"share_count": "1160942049",
"share_nominal_value": "1,25 PLN",
"paid_up_capital": "1451177561,25 PLN",
"share_series": [
{
"series": "A OD A-000000001 DO A-336000000",
"shares": "336000000"
},
{
"series": "B OD B-0000001 DO B-6971496",
"shares": "6971496"
}
],
"existence_period": "NIEOZNACZONY",
"first_financial_year_end": "2000-12-31",
"formation": {
"circumstances": "POŁĄCZENIE",
"description": "UCHWAŁĄ NR 8/99 ZWYCZAJNEGO WALNEGO ZGROMADZENIA AKCJONARIUSZY \"PETROCHEMII PŁOCK\" SPÓŁKI AKCYJNEJ Z DNIA 19 MAJA 1999R. POŁĄCZONO SPÓŁKĘ MAZOWIECKIE ZAKŁADY RAFINERYJNE I PETROCHEMICZNE \"PETROCHEMIA "
},
"branches": [
{
"name": "ORLEN SPÓŁKA AKCYJNA - ODDZIAŁ CENTRALNY UPSTREAM POLSKA W WARSZAWIE",
"city": "WARSZAWA",
"address": "UL. MARCINA KASPRZAKA 25 01-224 WARSZAWA"
},
{
"name": "ORLEN SPÓŁKA AKCYJNA - ODDZIAŁ UPSTREAM POLSKA W SANOKU",
"city": "SANOK",
"address": "UL. HENRYKA SIENKIEWICZA 12 38-500 SANOK"
}
],
"branches_total": 9,
"branches_truncated": false,
"supervisory_boards": [
{
"name": "RADA NADZORCZA",
"members_count": 10,
"members": [
{
"name": "E** G*******",
"function": null
},
{
"name": "K******** Ł****",
"function": null
}
]
}
],
"procurators": [
{
"name": "R**** W*********",
"type": "PROKURA ODDZIAŁOWA ŁĄCZNA, DO DZIAŁANIA Z JEDNYM Z PROKURENTÓW, TJ. ALEKSANDRA SOBIESKA - MOROZ ALBO PIOTR KEARNEY ALBO ROBERT PISKUNOWICZ ALBO KRZYSZTOF MAGIERA DO ZAKRESU SPRAW ZWIĄZANYCH Z FUNKCJON"
},
{
"name": "P**** K******",
"type": "PROKURA ODDZIAŁOWA ŁĄCZNA, DO DZIAŁANIA Z PROKURENTEM RAFAŁ WARDZIŃSKI, DO ZAKRESU SPRAW ZWIĄZANYCH Z FUNKCJONOWANIEM ODDZIAŁÓW: 1) „ORLEN SPÓŁKA AKCYJNA - ODDZIAŁ CENTRALNY UPSTREAM POLSKA W WARSZAWI"
}
],
"procurators_total": 5,
"procurators_truncated": false,
"other_activities": [
"20.1 PRODUKCJA PODSTAWOWYCH CHEMIKALIÓW, NAWOZÓW I ZWIĄZKÓW AZOTOWYCH, TWORZYW SZTUCZNYCH I KAUCZUKU SYNTETYCZNEGO W FORMACH PODSTAWOWYCH",
"52.1 MAGAZYNOWANIE I PRZECHOWYWANIE TOWARÓW"
],
"other_activities_total": 9,
"other_activities_truncated": false,
"financial_statements_total": 26,
"consolidated_statements_total": 20,
"articles_amendments": [
"09 CZERWCA 2026 ROKU; REP. A NR 2681/2026; NOTARIUSZ JANUSZ RUDNICKI; KANCELARIA NOTARIALNA W WARSZAWIE; ZMIENIONO: - § 2 UST. 2 STATUTU",
"28 PAŹDZIERNIKA 2025 ROKU; REP. A NR 5806/2025; NOTARIUSZ JANUSZ RUDNICKI; KANCELARIA NOTARIALNA W WARSZAWIE; ZMIENIONO: - § 1 UST. 4 STATUTU - § 8 UST. 11 PKT 5 STATUTU; - § 8 UST. 12 PKT 6 LIT. A) S"
],
"articles_amendments_total": 26,
"mergers_transformations": [
{
"circumstances": "PRZEJĘCIE INNEJ SPÓŁKI",
"description": "POŁĄCZENIE PRZEZ PRZEJĘCIE SPÓŁKI POD FIRMĄ GRUPA LOTOS S.A. Z SIEDZIBĄ W GDAŃSKU (SPÓŁKA PRZEJMOWANA) NASTĘPUJE W TRYBIE ART. 492 § 1 PKT 1 KSH TJ. POPRZEZ PRZENIESIENIE CAŁEGO MAJĄTKU SPÓŁKI PRZEJMO",
"entities": [
{
"name": "GRUPA LOTOS SPÓŁKA AKCYJNA, SPÓŁKA AKCYJNA",
"krs": "0000106150",
"regon": "190541636"
}
]
},
{
"circumstances": "PRZEJĘCIE INNEJ SPÓŁKI",
"description": "POŁĄCZENIE PRZEZ PRZEJĘCIE SPÓŁKI POD FIRMĄ POLSKIE GÓRNICTWO NAFTOWE I GAZOWNICTWO S.A. Z SIEDZIBĄ W WARSZAWIE (SPÓŁKA PRZEJMOWANA) NASTĘPUJE W TRYBIE ART. 492 § 1 PKT 1 KSH TJ. POPRZEZ PRZENIESIENIE",
"entities": [
{
"name": "POLSKIE GÓRNICTWO NAFTOWE I GAZOWNICTWO SPÓŁKA AKCYJNA, SPÓŁKA AKCYJNA",
"krs": "0000059492",
"regon": "012216736"
}
]
}
],
"dissolution": null,
"previous_names": [
{
"name": "POLSKI KONCERN NAFTOWY ORLEN SPÓŁKA AKCYJNA",
"from": "2001-07-19",
"until": "2023-07-03"
}
],
"previous_legal_forms": null,
"previous_addresses": null,
"previous_seats": null,
"register_entries_total": 221
},
"blocked": false,
"pages_opened": 1,
"proxy_traffic_bytes": 45977
},
"total_points": 5
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
One company per request. Pass the registration number or the link to the record on the register.
curl -X POST https://api.neuralverge.ai/functions/v1/run-pl-companies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"0000028860"}'What teams use it for
Where this field shows up in an actual workflow.
Confirm a Polish company's status, legal form, tax numbers and who represents it.
Read NIP and REGON from the KRS record so you can match it to invoices, tax data and CRM accounts.
Use branches, formation, mergers and previous names to understand how an entity came to be.
See how many financial statements and register entries exist, then list them with Poland company filings.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Poland — entities on KRS (National Court Register).
Read at request time, so the answer reflects the register as it stands when you ask.
KRS (National Court Register) is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Looks up one company per request by KRS number or link. For a name, use the Poland company search source.
- —Most text fields are in Polish, in capitals, as the register publishes them.
- —Some personal names are partly masked in the response, and shareholders is null in the sample.
Questions, answered
Yes. The sample returns both for ORLEN S.A., together with the website, e-mail and e-delivery address.
Related sources
Try krs company on your own data
One request format across every source in the catalog.