KRS Scraper and Open API Feeds for the Polish Court Register

The KRS open API answers on one key only, the ten-digit register number. No name search, no NIP lookup, no bulk file. We walk the number space and hand you the register as a table.

KRS Scraper
Solutions

Scoping a KRS scraping project: pick the register, then the refresh

A scoping call settles three things. Which population - the whole P register, the S register, or a named list of counterparties. Which depth - current extracts only, or full extracts with the entry log, the version that keeps struck-out values and lets you rebuild a company's state on any past date. And which refresh - a quarterly snapshot, a nightly diff driven by the change bulletin, or a watchlist checked every morning. KRS data pricing follows those three answers rather than a per-page rate card.

Parts of the portal turn automated clients away, so anti-bot handling, proxy rotation and CAPTCHA solving are part of the service and not a surcharge. We scrape KRS sources that any visitor can open, at polite rates, and we never log in to file anything. Delivery is CSV, JSON, XLSX, Parquet, a database drop or an endpoint of your own, with the extract date and the last entry number stamped on every row.

What a KRS extract carries: KRS number, NIP, REGON, PKD codes and capital

Dzial 1, who the entity is. Forma prawna, the registered name in capitals, and an identifier block: NIP on about 98 per cent of live records, REGON on about 86 and always fourteen digits, the nine-digit number padded with zeros. Then siedziba as kraj, wojewodztwo, powiat, gmina and miejscowosc, and a separate adres with ulica, nrDomu, nrLokalu and kodPocztowy. Contact fields are thin: an e-mail on a fifth of records and a website on one in eight, but a BAE e-delivery address on two in five. Capital is a block of its own - wysokosc kapitalu zakladowego with value and currency, total shares, value of a single share, the paid-up part and non-cash contributions - while share issues list series name, count and any preference. Sp. z o.o. shareholders sit here with their holdings and a sole-owner flag; partnerships add limited-partner status and the suma komandytowa.

Dzial 2, who signs. Nazwa organu, usually ZARZAD, the sposob reprezentacji spelled out in full sentences, not codes, and the sklad list with each role in the body and a suspension flag. A supervisory body appears on about one record in seven and prokurenci on roughly one in eight, each prokura typed as samoistna or laczna. Members can be companies, and then the entry carries a name, REGON and KRS number.

Dzial 3, what it does and what it filed. Activity is PKD, split into kodDzial, kodKlasa and kodPodklasa, so 62.10.A arrives as three fields plus a Polish description. One przedmiot przewazajacej dzialalnosci and up to nine others is the cap today, and close to half of live records sit exactly at it, while older ones can carry hundreds of codes. Then the wzmianki: filing mentions for the annual financial statement, the auditor report, the approval resolution, the management report and the sustainability assurance report, each with dataZlozenia and the period covered, plus a parallel set for consolidated group filings.

Dzial 4, 5 and 6, the trouble sections. Dzial 4 records enforcement discontinued as fruitless, naming the bailiff, the case signature and the date of the order. Dzial 5 names a kurator. Dzial 6 holds liquidation with its opening, liquidators and close, dissolution, merger, division and transformation with entities absorbed, and zawieszenie with the dates activity stopped and resumed.

What a KRS extract carries: KRS number, NIP, REGON, PKD codes and capital
Financial filings, Monitor Sadowy i Gospodarczy and the register files

Financial filings, Monitor Sadowy i Gospodarczy and the register files

The accounts sit outside the register text. Repozytorium Dokumentow Finansowych takes annual filings free of charge, and filing there is what releases a company from the paid application to have the mention entered in dzial 3. The public viewer is free as well, and deliberately narrow: it asks for a KRS number and shows that one company, with no way to browse by industry, town or reporting year. What the register itself gives you is the index - which statement was filed, for which period, on which day - so reading dzial 3 across a portfolio tells you who is current, who is two years behind and who never filed. A live company carries a median of four annual-statement mentions, and long-lived ones carry dozens.

Monitor Sadowy i Gospodarczy is the announcement side. Its search runs on entity name, KRS or NIP number, a fragment of the item description or of the announcement text, case signature, case type and publication date, and it is also where financial statement announcements moved once Monitor Polski B was wound up. RAR, the register files browser, splits into two repositories: case files for entities entered in the rejestr przedsiebiorcow, and case files for applicants not yet in KRS.

For movement there is a change feed. The free KRS newsletter watches numbers you choose and reports three events - a case opened on application, a case opened by the court itself, and a change of data in the register - each with case signature, date and entry number. The API exposes the same movement without a login, as a list of numbers touched per day and per hour, and that is what a nightly diff should run on.

Krajowy Rejestr Sadowy: two registers, six sections, one ten-digit key

KRS is the Krajowy Rejestr Sadowy, the Polish court register of legal entities. It is kept by the commercial divisions of district courts and published by the Ministry of Justice through the Portal Rejestrow Sadowych; the older ekrs.ms.gov.pl address now lands on that same portal. Its KRS section gathers the whole toolset in one place: e-formularze and S24 for filing, RDF for financial documents, the register files browser RAR, the free Wyszukiwarka KRS, a Monitor Sadowy i Gospodarczy search, a change newsletter, and the open API.

Two registers answer queries. Rejestr przedsiebiorcow, coded P, carries commercial companies, cooperatives, branches of foreign entities and other trading bodies. The S register carries associations, other social and professional organisations, foundations and independent public healthcare units. Both share a single numbering sequence, and an organisation that also trades is entered in both, so the same number can answer under either code. Live legal forms run from spolka z ograniczona odpowiedzialnoscia, roughly three quarters of everything, through spolka komandytowa, spolka jawna, spolka akcyjna, spoldzielnia, stowarzyszenie, fundacja, zwiazek zawodowy, cech rzemieslniczy and samodzielny publiczny zaklad opieki zdrowotnej.

The key is the KRS number: ten digits, leading zeros included, issued in one running sequence that had passed roughly 1,265,000 by September 2026. Each record is cut into six dzial sections - identity and address, governing bodies and representation, activity and filings, arrears, receivership, and dissolution, merger or transformation. The register interface is Polish only, so the field names below travel in plain letters: KRS, NIP, REGON, PKD.

Get a Quote
dev_w
25

Developers

customers
500+

Customers worldwide

pages
1 500 000 000+

Pages extracted

stime
15000+

Hours saved for our clients

Plans

Airplane

€199 / one-time

setup fee - included

Data limits100,000
Frequencyone-time
Run timeup to 5 days
Data storing7 days

Helicopter

€169 / mo

setup fee €499

Data limits250,000
Frequencymonthly
Run timeup to 5 days
Data storing14 days

Glasses

€229 / mo

setup fee €499

Data limits1,000,000
Frequencyweekly
Run timeup to 5 days
Data storing30 days

DNA

€549 / mo

setup fee €799

Data limits3,000,000
Frequency3 times daily
Run timesame day
Data storing90 days

Counterparty checks and change monitoring built on KRS data

The register is open, and that is what makes the work easy to underrate. The KRS API answers on one key: the ten-digit number. Hand it a NIP or a REGON and it returns nothing. There is no name search, no filter by PKD or wojewodztwo, and no bulk download. Anyone resolving a Polish counterparty from a tax number therefore needs an index of their own, and building it means walking the number space rather than querying it.

The browser front ends do not close the gap. Wyszukiwarka KRS does take a NIP, a REGON, a name fragment and the two register checkboxes, but it caps a result set at a hundred rows and sits behind bot protection that turns automated clients away; the financial document viewer is behind the same wall and wants a KRS number before it will show anything. The search screen answers one question at a time, and a book of ten thousand suppliers is not ten thousand questions you can ask by hand.

Status is the second surprise. A number does not vanish when the entity is struck off: the current extract simply comes back empty while the full extract still holds everything. About one answering number in five behaves that way, so a job that reads only current extracts quietly loses every dissolved company, and a vendor file that is never re-checked drifts. Risk markers are sparse but real - discontinued enforcement on roughly one record in twenty, suspended activity on about one in sixteen, liquidation on one in fifty, and a revoked NIP status on a few per cent - and they are the rows a credit team wants flagged the week they appear.

Our Blog

Reads Our Latest News & Blog

Learn how to use web scraping to solve data problems for your organization

How Artificial Intelligence Is Used In Web Scraping

How Artificial Intelligence Is Used In Web Scraping

Leveraging advances in technology, the AI-powered web scraper has skyrocketed in demand and is helping to expand capabilities by automating tedious daily tasks and speeding up data collection from thousands of websites several times over.

What is Web Scraping and What is it Used For?

What is Web Scraping and What is it Used For?

Web scraping is a method of obtaining web data by extracting it from pages of web resources with the help of a program, that is, in automatic mode. It is used to syntactically convert web pages into more usable forms.

Web Scraping for Machine Learning

Web Scraping for Machine Learning

If you specialize in machine learning, you need to feed large amounts of data to the algorithms. Web scraping is the easiest and the most efficient method of collecting the data from all over the Internet.

scrapeit logo

Who builds and runs your KRS data feed

ScrapeIt runs the whole job as a managed service. We design the collectors, walk the number space, schedule the refresh, watch the runs and repair them when the register renames a field or moves a service to a new host. Your side receives files or an endpoint and keeps no scraping engineers of its own.

We are not affiliated with the Ministry of Justice or with any registry court. Board members, shareholders and founders are published in KRS by law; we treat them as the identity of a company and its bodies, and we do not compile or sell name lists of private individuals.

FAQ

Does KRS have a public API, and what does it leave out?

Yes, and it needs no key or registration. The Open API serves two extract endpoints, odpis aktualny and odpis pelny, plus a daily and an hourly bulletin of numbers changed, all as JSON, published under the KRS act together with the Polish open data act on re-use of public sector information. What it leaves out matters just as much: it accepts only the ten-digit KRS number, so there is no lookup by NIP, REGON or name; it returns nothing for a number that is not in the register you named; the given names, surnames and PESEL numbers of individuals come back masked to a single letter; and financial documents are not part of it at all.

Can you look up a Polish company by NIP or REGON instead of a KRS number?

Yes, on our side rather than the register's. The API has no NIP or REGON entry point, and the public search screen takes them one query at a time from behind bot protection. We build and maintain a resolved index across the number space, so you send a NIP, a REGON or a name and get back the KRS number, the extract and everything joined to it. About 98 per cent of live records carry a NIP and 86 per cent a REGON, and the REGON always arrives as fourteen digits, so we keep both the padded and the nine-digit form ready for joins to statistical and tax sources, and to CEIDG for sole traders, who are not in KRS at all.

What is the difference between the odpis aktualny and the odpis pelny?

The current extract, odpis aktualny, gives one value per field: the name, address, capital, board and PKD codes in force today. The full extract, odpis pelny, gives the entry log plus every version of every field, each stamped with the entry number that introduced it and the entry number that struck it out. That is what lets you see that a company was renamed four times, that its share capital moved through a dozen values, or which year a board seat changed hands. It is also the only extract that still answers for a struck-off company. Full extracts are heavier, several times the size of the current one for an ordinary firm and far more for a long-lived listed group.

How often does KRS data change, and how do you keep a feed current?

Entries land on court working days. A weekday typically brings a few thousand entries touching two to three thousand distinct numbers, while weekends fall away to a couple of hundred. The API publishes that movement as a list of numbers per day and per hour, so a diff run only refetches what actually moved. Two limits shape the design: the bulletin is a rolling window and not an archive, the oldest day it answered in September 2026 falling in March 2022, and it names numbers only, never the field that changed. History therefore has to be built once from full extracts and then kept current from the bulletin.

Is scraping KRS data legal, and what happens to personal data?

The register is public by statute, and the API is published under the KRS act together with the open data act on the re-use of public sector information, so the content is meant to be re-used, commercial use included. Two things we hold to. The register itself anonymises given names, surnames and PESEL numbers in API responses, and we keep them exactly as delivered rather than trying to rebuild them. And what we deliver is company identity - the entity, its bodies, its filings - not dossiers on individuals; if your use case is about named people, we are not the right supplier.

How does it Work?

Step 1 - Make a Request

You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.

Step 2 - Configuring Custom Web Crawlers

Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.

Step 3 - Collect and Deliver

Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.

Step 4 - Maintain and Support

Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.

Request a Quote

Tell us more about you and your project information.
Which sites, which fields, how often. A couple of lines is enough.

We reply within 1 business day. No obligation.

scrapiet

Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582