A reliable partner for years, responsive, efficient, and high-quality.
KRS API: Polish register data from KRS, CEIDG and REGON
The official KRS API is free and well built, but it only accepts KRS numbers and it leaves out every sole trader in the country. CompanyData covers 6.2 million Polish businesses, court-registered and sole traders alike, searchable by name or tax number, in one REST API.
What is the KRS API?
Krajowy Rejestr Sądowy is Poland's court register, run by the Ministry of Justice, and it has offered a genuinely open API since March 2022. No key, no token, no cost, published under CC0. You can pull a current extract (OdpisAktualny) or the full registered history (OdpisPelny), and a daily bulletin lists every KRS number that changed.
Two structural limits decide how far that gets you. The KRS number is the only accepted lookup key, so you cannot search by name, by NIP or by anything a customer actually types, and you need a second service to resolve those first. And the register covers only incorporated entities: every jednoosobowa działalność gospodarcza, the sole traders who make up most Polish businesses, sits in the separate CEIDG register behind a login that presumes a Polish e-identity.
CompanyData starts from both halves. You get court-registered entities and sole traders in one schema, searchable on name, tax number or registration number, with the contact details, employee figures and financial signals neither register publishes.
The official API, in short
- Genuinely open: no key, no token, no cost, CC0 licence
- Current extract and full registered history, plus a daily changed-entity bulletin
- KRS number is the only lookup key, no search by name or NIP
- Sole traders are absent, they sit in the separate CEIDG register
- No phone numbers, and website and email are sparse where present
- Financial statements are filing dates only, the documents live elsewhere
Look up any Polish business
Register fields plus the enrichment layer, in one response. Pick a business, no key needed for the sample.
- Official PKD codes on every record
- Search by name or tax number, not just a KRS number
- Sole traders included, not only court-registered entities
KRS API and CompanyData, per data point
The court register covers registered entities well. CompanyData delivers 50+ enriched data points per Polish business, sole traders included, in a single call.
| Data point | Official register | CompanyData API |
|---|---|---|
| Businesses in the file | 780,704 | 6,295,206 |
| Registered name | ✓ | ✓ |
| KRS number | 2,166,062 | 6,264,927 |
| NIP and REGON | returned, but not searchable | ✓ |
| Registered address | 2,166,093 | 5,605,727 |
| PKD activity codes | capped at 10 per entity | ✓ |
| Management board and representation | ✓ | 5,445,910 |
| Sole traders (CEIDG) | ✗ | ✓ |
| Search by name or NIP | ✗ | ✓ |
| Website | in the schema, sparse | 1,271,226 |
| Telephone number | ✗ | 886,893 |
| Business email address | ✗ | 1,314,317 |
| Employee counts | ✗ | ✓ structured fields |
| Revenue and financials | filing dates only | ✓ structured fields |
| International records | ✗ | 365M+ worldwide |
Our column counts every registered entity we hold for this country, active or inactive. Some registers only serve active entities through their API, which we think is a gap: a holding or a trust can be dormant and still matter as an entity, so we keep it. Measured live in our own file, August 2026, and refreshed monthly. Register figure: entities in the Rejestr Przedsiębiorców, 30 June 2026. KRS excludes sole traders, who are registered in CEIDG instead, which is why our count is far higher.
Access and filters
The KRS API answers one question well: give it a KRS number and it returns that entry. There is no name search, no NIP lookup and no segmentation. CompanyData adds filtering on PKD, revenue, employees, region or city, and bulk export with enrichment included.
Price
KRS is free and stays the right tool for pulling an official extract you already have the number for. CompanyData adds the enrichment layer from €0.02 per credit, with 150 free calls in your first week and one API for 200+ countries.
More fields than the court register returns
Contacts, employees, financials and sole traders: one lookup away. Defaults to Poland, switch country if you need to.
Working with the official KRS API
The open API is a good product with sharp edges. Here is how to make your first call in three steps, and the six things that cost teams the most time, whether you enrich with us or not.
Nothing to register
There is no key and no token. Read the documentation at api-krs.ms.gov.pl and call the endpoint directly.
Resolve the KRS number first
The API accepts only KRS numbers. Use the Ministry of Finance VAT white list to turn a NIP into a KRS number before you call.
Pick the right register
Pass rejestr=P for businesses or rejestr=S for associations and foundations. Guess wrong and you get a 404, not a hint.
Honestly: the official KRS API is perfect if you already hold a KRS number and want the official extract for free. If you need to search by name, reach sole traders, or get contacts, employees and financials, that is us.
Get your API keyrejestr defaults to P, silently
Omit the parameter and every foundation and association returns 404 as if it did not exist. Decide the entity type before you call, or try both registers.
KRS numbers are strings, not integers
Ten digits, zero-padded. The detail endpoint tolerates unpadded numbers and the daily bulletin emits them unpadded, so joins against padded storage silently return nothing.
The KRS number is the only key
NIP and REGON come back inside the payload but cannot be queried. Solve NIP to KRS elsewhere first, through the VAT white list or the GUS REGON service.
Sole traders are a different register entirely
CEIDG has its own API behind a JWT that needs Profil Zaufany, so it assumes a Polish e-identity. That is a real barrier for a foreign integrator.
Financials are filing dates, not figures
The register tells you a statement was filed and for which period. The statement itself is a PDF or XML in a separate repository, with no API.
PKD is mid-migration and capped
PKD 2025 took force in January 2025 with a transition to the end of 2026, so responses mix both schemes. And no entity carries more than 10 codes, so diversified businesses are truncated.
What teams build on Polish register data
Verify Polish counterparties on KRS or NIP number. Check legal form, status and the management board automatically.
Build prospect lists filtered by PKD code, region, revenue or business size, sole traders included.
Append KRS numbers, NIP, PKD codes, financials and contacts to your Polish accounts in bulk.
Monitor liquidations, mergers and board changes across your Polish supplier base.
Type-ahead on registered names in signup forms, so the KRS number and address arrive spelled the way the register spells them.
Match suppliers and customers to a registration number once, then keep names, status and addresses in sync automatically.
Poland is one of 200+ countries on the same API
Same request shape, same response schema, from the KRS to Companies House, the Handelsregister and Sirene. Build the Polish integration once and take it across the border.
Explore the Company Data API
The same API, register by register
What teams do with register data
Onboarding, KYB and supplier checks in production, on the same search and export calls you just tried.
Norway's national trust mark verifies businesses against the register in real time, cutting verification time by 99%.
Read the story
Up-to-date business details from around the world, screened straight inside the onboarding flow.
Read the story
Large-scale KYB verification through business lookup, built straight into the signup path.
Read the story350M statutory addresses and registry director records inside Sumsub's global KYB flows, so shell offices and nominee directors get caught at onboarding.
Read the storyRegistry-sourced business and UBO data across Africa, Asia and Latin America, with 80% fewer manual reviews.
Read the storyKRS API Pricing
Transparent, credit-based pricing. Start with a free trial.
Verify your first 150 Polish businesses free
- 150 lookups and 10 exports in week one, key issued instantly
- 1 credit per business looked up, usage-based after that
- No card, no contract, no sales call
Questions? Ask a human.
No ticket queue. Your question lands with our data team and you get an answer within 24 hours.
Mon to Fri 9:00 to 17:30 CET · info@companydata.com
What our customers say
Real feedback from the people using CompanyData every day.
The best data company we have worked with.
Great feedback from our team on the data quality.
Frequently asked questions
Is the KRS API free?
Yes, genuinely. The Ministry of Justice opened it in March 2022 with no key, no token and no cost, under a CC0 licence. The limits are structural rather than commercial: it accepts only KRS numbers, and it does not cover sole traders.
How do I get a KRS API key?
You do not need one. There is no registration and no token for the public KRS API. A separate Full API with unredacted personal data does exist, but it requires a ministerial decision.
Can I search the KRS API by company name or NIP?
No. The KRS number is the only accepted lookup key. NIP and REGON are returned inside the response but cannot be queried, so you need another service to resolve them first, such as the Ministry of Finance VAT white list or the GUS REGON service.
Our API accepts a name, a NIP or a KRS number directly.
Does the KRS cover sole traders?
No, and this is the biggest gap. Krajowy Rejestr Sądowy holds incorporated entities, associations and foundations. Sole traders, jednoosobowa działalność gospodarcza, are registered in CEIDG instead. Poland has roughly 5.4 million registered entities in total against several hundred thousand active KRS entries, so sole traders are the majority of the market.
CEIDG has its own API, but it sits behind a JWT that requires Profil Zaufany, which presumes a Polish e-identity. We cover both registers in one schema.
Does the KRS API return contact details?
Phone numbers are never in the register. Website and email exist in the schema but are sparse in practice. What is consistently present is an electronic delivery box identifier, which is not an email address and cannot be used for outreach.
We supply telephone, mobile and email on the records where they are available.
Can I get Polish financial statements through the API?
Not as figures. The KRS response tells you that a statement was filed and for which period. The statement itself is a PDF or XML in the separate financial document repository, which has no API. We carry revenue and employee figures as structured fields you can filter and sort on.
How many Polish businesses do you cover?
6.2 million Polish registrations, court-registered entities and sole traders alike, updated continuously from the register and other official sources.
Make 150 Free API Calls Before You Spend Anything
Tell us which Polish businesses you need. You get a trial key with 150 lookups and 10 exports, plus a real sample response for your target market, within 24 hours.
or call +31 (0)20 705 2360