French Company Finder - Sirene Financials
French company lead lists from Sirene screened by net result and revenue, with net margin, size, matching establishment and optional directors.
datagrit › Company data › Poland KRS New Company Registrations Feed
Company dataNewly registered Polish companies, foundations and associations from the official KRS court register: NIP, address, PKD, capital, email, with filters and change detection.
Get a list of Polish companies, foundations and associations that were just registered in the official KRS court register. Every row carries the KRS number, name, legal form, registered address, PKD activity code, share capital and, when the entity published them, an email address, a website, NIP and REGON. It is built for B2B sales teams, accountants, banks, insurers, KYB analysts and service providers who follow new Polish companies from their first days.
Instead of looking up companies one by one by KRS number, you pick a date window and the Actor returns everything first registered in it. You can narrow the feed by legal form, voivodeship, city, activity code, name keyword, share capital, published email and published website.
You pay per entity returned. Pricing depends on your Apify plan: a small fee when a run starts, then a price per result that is lower on paid plans. The Apify free plan includes monthly credit you can use to try the feed on real data. Duplicates and status rows for runs without results are never charged. Set a maximum spend in the run options and the Actor stops when it is reached.
Every result is one flat record, so it drops straight into a spreadsheet, a database or a CRM.
| Field | Type | Description | Example |
|---|---|---|---|
krs | string | Ten-digit KRS number, the primary key of the entity. | 0001269391 |
register | string | P = register of entrepreneurs, S = register of associations and foundations. | P |
name | string | Registered name of the entity. | LEARNLY SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ |
legalForm | string | Legal form as written in the register (Polish). | SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ |
legalFormType | string | Normalised legal form: llc, joint-stock, simple-joint-stock, general-partnership, limited-partnership, limited-joint-stock-partnership, professional-partnership, foundation, association, cooperative or other. | llc |
nip | string | Ten-digit Polish tax number. Often null for entities registered in the last days. | 5252999999 |
regon | string | Nine- or fourteen-digit statistical number. Often null for entities registered in the last days. | 389999999 |
registrationDate | string | Date of the first KRS entry, YYYY-MM-DD. | 2026-09-29 |
isNewRegistration | boolean | True when the registration date falls inside the requested date window; false for existing entities returned in "All changes" mode. | true |
lastEntryDate | string | Date of the most recent KRS entry, YYYY-MM-DD. | 2026-09-29 |
lastEntryNumber | integer | Sequence number of the most recent entry. | 1 |
street | string | Street of the registered seat. | ul. Przykładowa |
buildingNumber | string | Building number of the registered seat. | 12 |
unitNumber | string | Unit or office number of the registered seat. | 4 |
postalCode | string | Postal code of the registered seat. | 70-001 |
city | string | City of the registered seat address. | SZCZECIN |
municipality | string | Gmina of the seat. | M. SZCZECIN |
county | string | Powiat of the seat. | SZCZECIN |
voivodeship | string | Voivodeship of the seat, uppercase Polish name. | ZACHODNIOPOMORSKIE |
country | string | Country of the address. | POLSKA |
email | string | Email address published in the register, lowercase, exactly as the entity entered it (for small companies it can contain the name of a person). Null when the entity did not publish one. | kontakt@example.pl |
website | string | Website address published in the register, with the host in lowercase. Null when missing or not a valid address. | example.pl |
shareCapital | number | Share capital (or fund capital) amount. Null for entities without one, such as associations and most partnerships. | 5000 |
capitalCurrency | string | Currency of the share capital. | PLN |
mainPkdCode | string | Predominant activity in the Polish PKD classification. | 85.59.B |
mainPkdDescription | string | Polish description of the predominant activity. | POZOSTAŁE POZASZKOLNE FORMY EDUKACJI, GDZIE INDZIEJ NIESKLASYFIKOWANO |
additionalPkdCodes | array | Other declared activities, deduplicated. | ["62.01.Z","63.11.Z"] |
boardBodyName | string | Name of the body that represents the entity, for example ZARZĄD. | ZARZĄD |
boardMembersCount | integer | Number of people in the representing body. Names are masked by the register, so only the count is returned. | 2 |
supervisoryBoardMembersCount | integer | Number of people in supervisory bodies (null when the entity has none). | 3 |
representationRule | string | Rule describing who may represent the entity, in Polish. | DO SKŁADANIA OŚWIADCZEŃ W IMIENIU SPÓŁKI UPRAWNIONY JEST KAŻDY CZŁONEK ZARZĄDU S |
shareholdersCount | integer | Number of shareholders or partners listed. Names are masked, so only the count is returned. | 2 |
soleOwner | boolean | True when one shareholder owns all shares. | false |
sourceUrl | string | Official KRS API address of the extract this row was built from. | https://api-krs.ms.gov.pl/api/krs/OdpisAktualny/0001269391?rejestr=P&format= |
found | boolean | True for a real entity; false for the single status row returned when nothing matched. | true |
scrapedAt | string | Time the row was produced, ISO 8601. | 2026-09-30T08:00:00.000Z |
{
"krs": "0001269391",
"register": "P",
"name": "LEARNLY SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"legalForm": "SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"legalFormType": "llc",
"nip": "5252999999",
"regon": "389999999",
"registrationDate": "2026-09-29",
"isNewRegistration": true,
"lastEntryDate": "2026-09-29",
"lastEntryNumber": 1,
"street": "ul. Przykładowa",
"buildingNumber": "12",
"unitNumber": "4",
"postalCode": "70-001",
"city": "SZCZECIN",
"municipality": "M. SZCZECIN",
"county": "SZCZECIN",
"voivodeship": "ZACHODNIOPOMORSKIE",
"country": "POLSKA",
"email": "kontakt@example.pl",
"website": "example.pl",
"shareCapital": 5000,
"capitalCurrency": "PLN",
"mainPkdCode": "85.59.B",
"mainPkdDescription": "POZOSTAŁE POZASZKOLNE FORMY EDUKACJI, GDZIE INDZIEJ NIESKLASYFIKOWANO",
"additionalPkdCodes": [
"62.01.Z",
"63.11.Z"
],
"boardBodyName": "ZARZĄD",
"boardMembersCount": 2,
"supervisoryBoardMembersCount": 3,
"representationRule": "DO SKŁADANIA OŚWIADCZEŃ W IMIENIU SPÓŁKI UPRAWNIONY JEST KAŻDY CZŁONEK ZARZĄDU SAMODZIELNIE",
"shareholdersCount": 2,
"soleOwner": false,
"sourceUrl": "https://api-krs.ms.gov.pl/api/krs/OdpisAktualny/0001269391?rejestr=P&format=json",
"found": true,
"scrapedAt": "2026-09-30T08:00:00.000Z"
}
| Field | Name | Type | What it does |
|---|---|---|---|
mode | Mode | string | "New registrations" returns entities first entered in KRS inside the date window. "All changes" returns every entity that had any entry in the window (new registrations plus changes to existing entities). |
daysBack | Working days back | integer | How many working days to look back (Monday to Friday, Polish public holidays excluded), counting today when it is a working day. The window runs from the earliest of those days to today, so weekend and holiday entries in between are included. 2 = today and the previous working day; on a Sunday that is Thursday to Sunday, on a Monday Friday to Monday. Maximum 15. Ignored when "From date" is set. |
dateFrom | From date | string | First day of the window, YYYY-MM-DD. The KRS API serves bulletins from January 2020 onwards. Leave empty to use "Working days back". |
dateTo | To date | string | Last day of the window, YYYY-MM-DD (inclusive). Defaults to today. This Actor accepts windows of at most 31 days; split longer periods into several runs. |
registers | Registers | array | "P" is the register of entrepreneurs (companies, partnerships, cooperatives). "S" is the register of associations, foundations and other social organisations. Use ["P","S"] for both. |
scanDepth | Scan depth | string | "Complete" reads every entity with an entry in the window whose KRS number is among the newest 100,000 numbers in that window's bulletins (in "All changes" mode: every entity with an entry). New registrations get numbers close to the newest ones: on the fully read days 2026-09-25 and 2026-09-29, 575 of the 576 entities with a registration date on that day were within the newest 16,431 numbers; the exception was an entity with a number more than 500,000 below the newest and 21 register entries. "Recent" reads only the newest 3,000 numbers: much faster, and it returned 261 of the 267 registrations of 2026-09-29. |
legalForms | Legal forms | array | Keep only these legal forms. Allowed: llc, joint-stock, simple-joint-stock, general-partnership, limited-partnership, limited-joint-stock-partnership, professional-partnership, foundation, association, cooperative, other. |
voivodeships | Voivodeships | array | Keep only entities with the registered seat in these voivodeships, for example MAZOWIECKIE or Łódzkie (case and Polish letters do not matter). |
cities | Cities | array | Keep only entities whose address is in one of these cities, for example Warszawa or Kraków. |
pkdPrefixes | PKD activity codes | array | Keep only entities whose activity code starts with one of these prefixes, for example 62 (IT), 62.01 or 47.91.Z. Which codes are checked depends on "PKD scope". |
pkdScope | PKD scope | string | "Main" matches only the predominant activity. "Any" also matches the additional activities listed in the register. |
nameKeywords | Name keywords | array | Keep only entities whose name contains at least one of these words, for example software or transport. Case and Polish letters do not matter. |
minShareCapital | Minimum share capital (PLN) | number | Keep only entities with a share capital of at least this amount. Entities without a capital (associations, partnerships) are dropped when this is set. |
maxShareCapital | Maximum share capital (PLN) | number | Keep only entities with a share capital of at most this amount. Entities without a capital are dropped when this is set. |
onlyWithEmail | Only with email | boolean | Return only entities that published an email address in the register. |
onlyWithWebsite | Only with website | boolean | Return only entities that published a website address in the register. |
sinceLastRun | Only new since last run | boolean | Skip entities that earlier runs with the same settings already returned. The state is kept per combination of mode, registers, scan depth and all filters (the date window and "Maximum companies" do not count), in a key-value store named krs-feed-state in your account, for 45 days (35 in "All changes" mode). Only entities actually returned to you are remembered. Runs with other filters, and manual test runs with other settings, do not affect it. |
maxItems | Maximum companies | integer | Stop after this many entities. Also caps what the run can cost: you pay per entity returned. |
proxyConfiguration | Proxy configuration | object | The official KRS API is public and needs no proxy. Enable one only if your runs are blocked. |
Run the Actor and get the results in one request. Replace YOUR_APIFY_TOKEN with the token from your Apify account settings.
curl -X POST "https://api.apify.com/v2/acts/datagrit~poland-krs-new-companies/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"newRegistrations","daysBack":2,"scanDepth":"recent","maxItems":30}'import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('datagrit/poland-krs-new-companies').call({
"mode": "newRegistrations",
"daysBack": 2,
"scanDepth": "recent",
"maxItems": 30
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]);Install with npm i apify-client.
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("datagrit/poland-krs-new-companies").call(run_input={
"mode": "newRegistrations",
"daysBack": 2,
"scanDepth": "recent",
"maxItems": 30
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), items[0] if items else None)Install with pip install apify-client.
French company lead lists from Sirene screened by net result and revenue, with net margin, size, matching establishment and optional directors.
Find EU public contracts approaching expiry from TED award notices: incumbent, buyer, value, end date and renewal options.
Ashby job postings with normalized annual salary ranges, equity flags and new-since-last-run detection.
Open jobs from Greenhouse, Lever, Ashby, Workday, Workable, SmartRecruiters, Recruitee and Personio in one schema with normalized salaries.