Poland New Companies API – KRS Registrations Feed avatar

Poland New Companies API – KRS Registrations Feed

Pricing

from $3.20 / 1,000 companies

Go to Apify Store
Poland New Companies API – KRS Registrations Feed

Poland New Companies API – KRS Registrations Feed

New and changed Polish companies every day from the official KRS register (nowe spółki KRS): name, NIP, REGON, address, PKD, share capital, registration date. No personal data. For leads, KYC, CRM and AI agents (MCP). CSV, JSON, Excel.

Pricing

from $3.20 / 1,000 companies

Rating

0.0

(0)

Developer

Kamil Kaczmarek

Kamil Kaczmarek

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Poland new companies API: a daily feed of newly registered and changed companies from the official KRS register (Krajowy Rejestr Sądowy, rejestr przedsiębiorców) of the Polish Ministry of Justice. One item per company: legal name, KRS, NIP and REGON numbers, legal form, registered seat address, main and other PKD activity codes, share capital, registration and last-entry dates, and a new or changed label. Press Start to get 20 companies from yesterday's KRS bulletin in about 10 seconds; export CSV, JSON or Excel. Polski opis: nowe i zmienione spółki z KRS (rejestr przedsiębiorców) każdego dnia, z NIP, REGON, adresem, PKD i kapitałem.

No API key, no account at the source. The KRS API is public. No personal data: only company-level fields are extracted. See Privacy.

Use with AI agents (MCP)

Agents can call this Actor through the Apify MCP server. Add it as a single tool:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=enterprising_hamster/polish-new-companies-krs"
}
}
}

Questions an agent can answer with it:

  • "Which companies were registered in Poland yesterday?" → {"events": ["new"], "maxItems": 20}
  • "New IT companies in Mazovia last week with at least 5,000 PLN capital." → {"dateFrom": "2026-10-19", "dateTo": "2026-10-25", "events": ["new"], "pkd": ["62"], "voivodeships": ["mazowieckie"], "minShareCapital": 5000}

Fields an agent gets: name, krs, nip, regon, legalForm, address, prevailingPkd, otherPkd, shareCapital, currency, registrationDate, lastEntryDate, eventType, sourceUrl.

Cost per result: $0.004 per company, so the default 20 companies cost at most $0.08. Higher Apify plans pay less per row. Pass maxTotalChargeUsd in the MCP callOptions; the run stops before that limit and still returns SUCCEEDED with the rows saved so far.

What data can you get

Every working day the KRS publishes a bulletin (Biuletyn) listing the KRS numbers that had an entry that day; on 27.10.2026 it listed about 3,600 numbers. For each number in your date window the Actor reads the current extract (odpis aktualny) of the register of entrepreneurs (rejestr P) and keeps:

  • Identity: legal name, KRS number, NIP, REGON (new companies often get REGON a few days later), legal form (sp. z o.o., S.A., prosta spółka akcyjna, spółka jawna, komandytowa, foundation or association running a business...).
  • Seat: voivodeship, city, postal code and street of the registered address.
  • Activity: main PKD code with description and all other PKD codes.
  • Capital: share capital (kapitał zakładowy) or, for a simple joint-stock company (P.S.A.), share capital in shares (kapitał akcyjny), as a 2-decimal string with currency.
  • Dates and event: registration date, date of the last entry, and eventType: new when the registration date falls inside your window, changed when the company appeared on the bulletin but was registered earlier (a new entry such as a change of address, board, PKD or capital).

Entries of the register of associations (rejestr S) without business activity are skipped.

How to use

  1. Press Start. With no changes you get up to 20 companies (new and changed) from yesterday's bulletin, Europe/Warsaw time.
  2. Pick a window with From date / To date (up to 31 days). Today's bulletin is still filling during the day, so prefer finished days.
  3. Keep only New registrations for lead lists, or only Changed companies for monitoring.
  4. Narrow down by PKD codes (full codes or prefixes, e.g. 62 for IT, 41–43 for construction), voivodeships, legal forms and minimum share capital.
  5. Raise Max companies for more rows. For a daily feed, schedule the Actor each morning with the default empty dates.

Input

FieldMeaning
dateFrom / dateToInclusive bulletin days (YYYY-MM-DD, Europe/Warsaw). Both empty → yesterday. At most 31 days.
eventsnew, changed, or both (default).
pkdPKD code or prefix filters.
voivodeshipsOne or more of the 16 Polish voivodeships.
legalFormsExact legal form strings as in KRS, e.g. SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ.
minShareCapitalMinimum capital; companies without capital are left out when set.
maxItemsStop after N companies (default 20, max 20,000).

Within a day the feed reads the highest KRS numbers first, which is where that day's new registrations sit, so a short maxItems returns new companies first.

Output

One item per company. Real example from 27.10.2026 (other PKD codes trimmed):

{
"name": "LIDRIA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"krs": "0001275596",
"nip": "5253112619",
"regon": null,
"legalForm": "SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"address": {
"voivodeship": "MAZOWIECKIE",
"city": "WARSZAWA",
"postalCode": "00-137",
"street": "ELEKTORALNA 13 121"
},
"prevailingPkd": {
"code": "62.10.B",
"description": "POZOSTAŁA DZIAŁALNOŚĆ W ZAKRESIE PROGRAMOWANIA"
},
"otherPkd": [
{"code": "41", "description": "ROBOTY BUDOWLANE ZWIĄZANE ZE WZNOSZENIEM BUDYNKÓW MIESZKALNYCH I NIEMIESZKALNYCH"},
{"code": "68", "description": "DZIAŁALNOŚĆ ZWIĄZANA Z OBSŁUGĄ RYNKU NIERUCHOMOŚCI"}
],
"shareCapital": "5000.00",
"currency": "PLN",
"registrationDate": "2026-10-27",
"lastEntryDate": "2026-10-27",
"eventType": "new",
"sourceUrl": "https://api-krs.ms.gov.pl/api/krs/OdpisAktualny/0001275596?rejestr=P&format=json"
}

The table view Companies shows name, KRS, event, dates, legal form, city, voivodeship, main PKD and capital. The key-value store record SUMMARY holds run counts (matched, saved, skipped, listings in the bulletin) and flags (cost limit reached, partial bulletin for today).

Pricing (pay per event)

EventPriceWhen
company$0.004One delivered company with identifiers, address, PKD, capital and dates.

No start fee and no separate charge per dataset row. Higher Apify plans pay less (down to $0.0032 per company). Set a maximum cost per run in Apify and the Actor stops before it with the rows saved so far. Platform usage is included in the price.

Use cases

  • B2B lead generation: fresh companies every morning by PKD and region, e.g. new construction firms in Silesia for an accounting office, a bank, an insurer or a SaaS vendor.
  • KYC and onboarding: check a new client's KRS, NIP, REGON, legal form, seat address and capital against the official register.
  • Market monitoring: count new registrations per industry and voivodeship, follow changes in companies you track (the changed events).
  • CRM enrichment: fill missing NIP, REGON, PKD and address fields from the KRS by date window.
  • AI agents: answer "who registered a company in X yesterday" through MCP.

Privacy

The KRS extract also contains people: board members, partners, shareholders, proxies and supervisory board members (the public API already masks their names and PESEL numbers). This Actor does not read those sections at all. It whitelists company-level fields only and never outputs PESEL, first names or surnames of people, representatives, partners, shareholders, proxies, e-mail addresses, websites, electronic delivery addresses (BAE) or court file signatures. Tests check this on recorded extracts with marker values in every person field.

Official company names are kept as registered. Some of them contain the name of a founder (for example general partnerships or brand names); that is the company's registered business name, not an extracted personal data field.

Source and terms

  • Data: Ministerstwo Sprawiedliwości (Polish Ministry of Justice), Krajowy Rejestr Sądowy, through the public KRS API at https://api-krs.ms.gov.pl (daily bulletin and current extracts in JSON). Every item links to its extract in sourceUrl.
  • The KRS is a public register: anyone may access the data it holds, and the Ministry provides the API free of charge and without registration.
  • The API extract is informational. For legally binding documents use the official extract from https://ekrs.ms.gov.pl.
  • The bulletin for the current day is incomplete until the day ends; the partialBulletin flag in SUMMARY marks such runs.

FAQ

Is there an API for new companies registered in Poland? Yes: the Ministry of Justice publishes the KRS API. This Actor turns its daily bulletin and extracts into one clean table with filters, callable from the Apify API, schedules or MCP.

Can an AI agent (Claude, ChatGPT, Cursor) get new Polish companies with this? Yes. Connect the Apify MCP server with this Actor as a tool (see "Use with AI agents (MCP)").

Do I need an API key? No. The KRS endpoints are public.

Does it include sole traders (JDG)? No. Sole traders are registered in CEIDG, not in KRS.

Why is REGON empty? New companies usually receive REGON from the statistics office some days after registration, so it may be empty in the first extracts.

Can I get board members or shareholders? No. The Actor is built to deliver company data only.

How fresh is the data? The bulletin and extracts are read at run time, so a run for yesterday returns the register as of now.

Can I resume a run? Companies already in the default dataset (by krs) are not fetched or charged again in the same run.

What if I hit my Apify cost limit? The run stops cleanly, keeps rows already saved and ends SUCCEEDED.

Integrations

Use the Apify API, scheduler, webhooks, Make, Zapier, n8n or Google Sheets export as with any Actor. A daily schedule with empty dates gives one file of yesterday's companies per day.

Development

python3 -m venv .venv && .venv/bin/pip install -r requirements-dev.txt
.venv/bin/python -m pytest

Tests run offline on recorded KRS fixtures whose person fields are replaced with sentinels (tests/test_privacy.py proves none of them reach the output). For a local run with simulated prices set ACTOR_TEST_PAY_PER_EVENT=true, APIFY_ACTOR_PRICING_INFO from examples/pricing_info.local.json and APIFY_CHARGED_ACTOR_EVENT_COUNTS='{"company":0}', delete ./storage, then run python3 -m src. scripts/gen_dataset_schema.py writes the dataset schema.

Disclaimer

Not affiliated with the Ministry of Justice. The data come from the KRS API and are processed by this Actor; check the official extract before relying on them in legal matters.

🇵🇱 Po polsku

Aktor codziennie pobiera z oficjalnego API KRS Ministerstwa Sprawiedliwości biuletyn wpisów i aktualne odpisy z rejestru przedsiębiorców, i zwraca nowe oraz zmienione spółki: nazwę, numer KRS, NIP, REGON, formę prawną, adres siedziby, PKD przeważające i pozostałe, kapitał zakładowy (dla P.S.A. kapitał akcyjny) oraz daty rejestracji i ostatniego wpisu. Filtry: zakres dat (do 31 dni, domyślnie wczoraj), nowe lub zmienione, PKD, województwo, forma prawna, minimalny kapitał. Domyślnie 20 firm, $0.004 za firmę.

Dane osobowe: aktor nie odczytuje sekcji o zarządzie, wspólnikach, akcjonariuszach, prokurentach i radzie nadzorczej, nie zwraca PESEL, imion i nazwisk, e-maili, stron www ani adresów do doręczeń elektronicznych. Nazwy firm są zapisane tak jak w KRS; część z nich zawiera nazwisko założyciela.

Źródło: Ministerstwo Sprawiedliwości, Krajowy Rejestr Sądowy, https://api-krs.ms.gov.pl. Odpis z API ma charakter informacyjny; dokument urzędowy to odpis z https://ekrs.ms.gov.pl.