nvNeuralVerge
Corporate registry

Poland Company Filings (KRS) API and MCP — Financial Documents & Register Entries

Send a KRS number and get the company's filed documents and register entries as a list, newest first: date, type, period and entry details. The documents covered are annual and consolidated statements, auditor opinions, approval resolutions and management reports.

You send
A KRS number or a link to the record on the register
You get back
Financial documents and register entries, newest first, with date, type, period and entry details
Coverage
Poland — entities on KRS (National Court Register).
Price
1 point per returned record — $1 per 1,000
Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
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 the company on KRS (National Court Register) and page through the listUsually 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$1 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
companystringKRS number you sent.
company_idstringKRS number as resolved.
max_itemsnumberCap on records returned.
start_pagenumberResult page the run started from.
partialbooleanTrue when the run stopped before reaching max_items.
machine.total_itemsnumberNumber of records returned.
machine.total_foundnumberTotal filings and entries on the register for the company.
machine.first_itemobjectFirst returned record, same shape as items.
machine.items[]arrayReturned filings and entries.
machine.items[].krsstringKRS number of the company.
machine.items[].idstringRecord identifier, with the type and number.
machine.items[].typestringType, e.g. register_entry.
machine.items[].categorystringCategory, e.g. register_entries.
machine.items[].datestringDate of the record.
machine.items[].titlestringTitle, e.g. Register entry no. 88.
machine.items[].descriptionstringDescription as published, in Polish.
machine.items[].entry_numberstringEntry number, for register entries.
machine.items[].case_numberstringCourt case number of the entry.
machine.items[].courtstringCourt that handled the entry.
machine.items[].document_numberstringDocument or entry number.
machine.items[].urlstringLink to the record on the register.
machine.items[].periodnullReporting period; null for register entries in the sample.
machine.items[].period_fromnullNull for register entries in the sample.
machine.items[].period_tonullNull for register entries in the sample.
machine.items[].registration_numberstringEmpty string in the sample.
machine.items[].namenullNull in the sample.
machine.items[].statusnullNull in the sample.
machine.items[].addressnullNull in the sample.
machine.items[].formatnullNull in the sample.
machine.page_countnumberResult pages read.
machine.blockedbooleanTrue when the register could not be read.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "pl_company_filings",
  "company": "0000635012",
  "company_id": "0000635012",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# Poland — KRS — company filings\n\n- **Company:** 0000635012\n- **Results:** 2 of 128 found\n- **Proxy traffic:** 18.1 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "registration_number": "",
      "name": null,
      "status": null,
      "address": null,
      "company_type": null,
      "incorporation_date": null,
      "krs": "0000635012",
      "id": "0000635012:register_entry:88",
      "type": "register_entry",
      "category": "register_entries",
      "date": "2026-09-08",
      "title": "Register entry no. 88",
      "description": "ZMIANA DANYCH W REJESTRZE",
      "period": null,
      "period_from": null,
      "period_to": null,
      "entry_number": "88",
      "case_number": "PO.VIII NS-REJ.KRS/26218/26/191",
      "court": "SĄD REJONOWY POZNAŃ - NOWE MIASTO I WILDA W POZNANIU, VIII WYDZIAŁ GOSPODARCZY KRAJOWEGO REJESTRU SĄDOWEGO",
      "document_number": "88",
      "format": null,
      "url": "https://wyszukiwarka-krs.ms.gov.pl/#krs-0000635012-register_entry-88"
    },
    "items": [
      {
        "registration_number": "",
        "name": null,
        "status": null,
        "address": null,
        "company_type": null,
        "incorporation_date": null,
        "krs": "0000635012",
        "id": "0000635012:register_entry:88",
        "type": "register_entry",
        "category": "register_entries",
        "date": "2026-09-08",
        "title": "Register entry no. 88",
        "description": "ZMIANA DANYCH W REJESTRZE",
        "period": null,
        "period_from": null,
        "period_to": null,
        "entry_number": "88",
        "case_number": "PO.VIII NS-REJ.KRS/26218/26/191",
        "court": "SĄD REJONOWY POZNAŃ - NOWE MIASTO I WILDA W POZNANIU, VIII WYDZIAŁ GOSPODARCZY KRAJOWEGO REJESTRU SĄDOWEGO",
        "document_number": "88",
        "format": null,
        "url": "https://wyszukiwarka-krs.ms.gov.pl/#krs-0000635012-register_entry-88"
      },
      {
        "registration_number": "",
        "name": null,
        "status": null,
        "address": null,
        "company_type": null,
        "incorporation_date": null,
        "krs": "0000635012",
        "id": "0000635012:register_entry:87",
        "type": "register_entry",
        "category": "register_entries",
        "date": "2026-07-15",
        "title": "Register entry no. 87",
        "description": "ZMIANA DANYCH W REJESTRZE",
        "period": null,
        "period_from": null,
        "period_to": null,
        "entry_number": "87",
        "case_number": "PO.VIII NS-REJ.KRS/21556/26/621",
        "court": "SĄD REJONOWY POZNAŃ - NOWE MIASTO I WILDA W POZNANIU, VIII WYDZIAŁ GOSPODARCZY KRAJOWEGO REJESTRU SĄDOWEGO",
        "document_number": "87",
        "format": null,
        "url": "https://wyszukiwarka-krs.ms.gov.pl/#krs-0000635012-register_entry-87"
      }
    ],
    "total_found": 128,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 18510
  },
  "total_points": 2
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.

curl -X POST https://api.neuralverge.ai/functions/v1/run-pl-company-filings \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company":"0000635012","max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Change monitoring

Read the latest register entries to see when a company changed its data and which court recorded it.

Financial statement tracking

List annual and consolidated statements by period for a company.

Due diligence

Review the filing and entry history behind a company before a deal.

Case references

Take the court and case number of an entry for follow-up.

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
  • —Lists records and links. It does not read the content of the documents.
  • —The sample shows register entries; period fields are null for those and apply to financial documents.
  • —Descriptions and court names come in Polish, in capitals.
FAQ

Questions, answered

Financial documents such as annual and consolidated statements, auditor opinions, approval resolutions and management reports, plus the register entries.

Related

Related sources

Try poland company filings on your own data

One request format across every source in the catalog.

Get started