nvNeuralVerge
Corporate registry

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.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
KRS (National Court Register) directlyOpen KRS (National Court Register) and read the recordUsually free, sometimes per-documentA different interface, language and data shape for every country you add
Collecting it yourselfBuild and host a crawler per register, then keep each one aliveInfrastructure and maintenanceRegisters change their pages without warning, and nobody is on the hook when yours breaks
NeuralVergeOne request, the same shape as every other source in the catalog$5 per 1,000, misses not billedCovers Poland — other countries are separate sources with the same request format
Response

What you get back

Every field in the example response below.

FieldTypeDescription
company.registration_numberstringKRS number, with leading zeros.
company.namestringRegistered company name.
company.statusstringRegister status, e.g. Active.
company.addressstringRegistered address as published.
company.urlstringLink to the entity on the register.
company.company_typestringLegal form, in Polish.
company.incorporation_datestringDate of registration.
company.registerstringRegister section, e.g. Register of Entrepreneurs.
company.nipstringNIP, the Polish tax identification number.
company.regonstringREGON statistical number.
company.websitestringWebsite as published.
company.emailstringE-mail as published.
company.voivodeshipstringVoivodeship (region) of the seat.
company.countystringCounty of the seat.
company.municipalitystringMunicipality of the seat.
company.citystringCity of the seat.
company.postal_codestringPostal code.
company.deregistration_datenullNull in the sample because the company is active.
company.suspension_datenullNull in the sample.
company.resumption_datenullNull in the sample.
company.public_benefit_organizationbooleanWhether the entity is a public benefit organization.
company.bankruptcy_proceedingsbooleanWhether bankruptcy proceedings are recorded.
company.representation_bodystringBody that represents the company, e.g. ZARZĄD (management board).
company.representation_methodstringHow the representatives act, in Polish, as published and possibly cut.
company.representatives[]arrayRepresentatives: function and name.
company.share_capitalnumberShare capital amount.
company.share_capital_currencystringCurrency of the share capital.
company.share_countstringNumber of shares.
company.share_nominal_valuestringNominal value of one share.
company.paid_up_capitalstringPaid-up capital, as published.
company.share_series[]arrayShare series with the range and number of shares.
company.main_activity[]arrayMain activity with its code, in Polish.
company.other_activities[]arrayOther activities; other_activities_total gives the count.
company.branches[]arrayBranches: name, city, address.
company.branches_countnumberNumber of branches.
company.supervisory_boards[]arraySupervisory bodies with members_count and members (name, function).
company.procurators[]arrayProcurators with the type of authority; procurators_total gives the count.
company.shareholdersnullNull in the sample.
company.formationobjectHow the company was formed: circumstances and description.
company.mergers_transformations[]arrayMergers and transformations with the entities involved (name, krs, regon).
company.previous_names[]arrayEarlier names with from and until dates.
company.previous_registrationstringEarlier register entry, as published.
company.e_delivery_addressstringE-delivery address of the company.
company.existence_periodstringPeriod of existence as published; NIEOZNACZONY means not specified.
company.first_financial_year_endstringEnd of the first financial year.
company.financial_statements_totalnumberNumber of financial statements on file.
company.consolidated_statements_totalnumberNumber of consolidated statements on file.
company.articles_amendments[]arrayAmendments to the articles, as published.
company.register_entries_totalnumberNumber of register entries.
company.last_entry_datestringDate of the latest register entry.
company.extract_as_ofstringDate the extract refers to.
blockedbooleanTrue when the register could not be read.
pages_openednumberRegister pages read for this lookup.
Response

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
}
Integration

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"}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Know-your-business checks

Confirm a Polish company's status, legal form, tax numbers and who represents it.

Join to other systems

Read NIP and REGON from the KRS record so you can match it to invoices, tax data and CRM accounts.

Corporate structure

Use branches, formation, mergers and previous names to understand how an entity came to be.

Filing follow-up

See how many financial statements and register entries exist, then list them with Poland company filings.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Poland — entities on KRS (National Court Register).

Freshness

Read at request time, so the answer reflects the register as it stands when you ask.

Handling

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.

What it will not do
  • —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.
FAQ

Questions, answered

Yes. The sample returns both for ORLEN S.A., together with the website, e-mail and e-delivery address.

Related

Related sources

Try krs company on your own data

One request format across every source in the catalog.

Get started