Poland Krs Financial Scraper
Pricing
from $24.00 / 1,000 results
Poland Krs Financial Scraper
Extract official financial statements from the Polish National Court Register (Krajowy Rejestr Sadowy - KRS). This Actor scrapes annual financial reports (sprawozdania finansowe) directly from the official eKRS portal (ekrs.ms.gov.pl).
Pricing
from $24.00 / 1,000 results
Rating
0.0
(0)
Developer

Piotr Kaplon
Actor stats
0
Bookmarked
20
Total users
6
Monthly active users
22 days
Issues response
a day ago
Last modified
Categories
Share
Poland KRS Financial Statements Scraper (eKRS)
Extract official financial statements from the Polish National Court Register (Krajowy Rejestr Sądowy - KRS). This Actor scrapes annual financial reports (sprawozdania finansowe) directly from the official eKRS portal.
Updated March 2026: Fully rewritten for the new Angular eKRS portal at
rdf-przegladarka.ms.gov.pl(migrated from the old JSF site atekrs.ms.gov.plin Feb 2026).
What is KRS / eKRS?
KRS (Krajowy Rejestr Sądowy) is the Polish National Court Register - the official registry of all companies and organizations in Poland. eKRS is the electronic portal where companies are legally required to submit their annual financial statements.
This data is public and free to access, but the eKRS website doesn't provide an API. This Actor automates the extraction of financial data in a structured format.
Features
- NIP to KRS lookup: Provide a Polish Tax ID (NIP) and the Actor will automatically find the corresponding KRS number
- Direct KRS lookup: Provide the KRS number directly if you already have it
- Latest financial statement: Automatically finds and downloads the most recent annual financial statement (Roczne sprawozdanie finansowe)
- Individual + consolidated: Prefers individual statements; falls back to consolidated (skonsolidowane) for companies that only file consolidated reports
- Multiple formats: Supports XML (Polish Accounting Standards), XHTML/iXBRL (IFRS/MSR), and detects PDF filings
- Parsed financials: Automatically extracts key metrics (assets, equity, revenue, profit) from XML/XHTML files
- Raw file output: Returns the complete official file content for custom processing
- Rate limiting protection: Built-in retry logic with exponential backoff for government server errors (401, 503, 429)
- Proxy support: Optional Apify Proxy (residential recommended) to avoid IP-based rate limiting
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
nip | string | No* | Polish Tax Identification Number (NIP). If provided without KRS, the Actor will look up the KRS number automatically |
krs | string | No* | Polish National Court Register (KRS) number. Will be padded to 10 digits if shorter |
proxyConfiguration | object | No | Apify Proxy configuration. Residential proxy with PL country recommended for best reliability |
*At least one of nip or krs must be provided.
Input Examples
Using KRS (recommended):
{"krs": "0000023302"}
Using NIP:
{"nip": "8992736629"}
With proxy (recommended for high volume):
{"krs": "0000023302","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output
The Actor returns structured data with both raw content and parsed financial metrics:
{"krs": "0000024785","companyName": "CASTORAMA POLSKA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ","year": 2025,"fileFormat": "xml","financials": {"totalAssets": 7703597,"equity": 6188642,"revenue": 9221810,"netProfit": 134309},"success": true}
Output Fields
| Field | Description |
|---|---|
nip | The NIP number used for lookup (if provided) |
krs | The KRS number (10 digits) |
companyName | Full legal company name from KRS |
year | Financial year of the statement |
fileName | Original filename from eKRS |
fileFormat | File format: xml, xhtml, or pdf |
rawXml | Complete raw file content (XML/XHTML). null for PDF files |
financials | Parsed financial metrics (when extraction succeeds). null for PDF files |
success | Whether the extraction was successful |
Parsed Financial Metrics
When parsing succeeds (XML and XHTML formats), the financials object includes:
Balance Sheet (Bilans):
totalAssets- Total Assets (Aktywa Razem)fixedAssets- Fixed Assets (Aktywa Trwałe)currentAssets- Current Assets (Aktywa Obrotowe)cashAndEquivalents- Cash (Środki pieniężne)equity- Equity (Kapitał Własny)shareCapital- Share Capital (Kapitał Zakładowy)longTermLiabilities- Long-term Liabilities (Zobowiązania długoterminowe)shortTermLiabilities- Short-term Liabilities (Zobowiązania krótkoterminowe)
Income Statement (Rachunek Zysków i Strat):
revenue- Revenue (Przychody ze sprzedaży)operatingProfit- Operating Profit (Zysk z działalności operacyjnej)grossProfit- Gross Profit (Zysk brutto)netProfit- Net Profit (Zysk netto)
File Formats
| Format | Used By | Structured Parsing |
|---|---|---|
| XML | Most Polish companies (PAS/UoR standard) | Full parsing - all financial metrics extracted |
| XHTML | IFRS adopters, larger companies (MSR/MSSF) | Partial parsing - key metrics from selected data tables |
| Some companies (scanned or generated documents) | No parsing - financials returned as null, rawXml as null |
Limitations
- PDF files cannot be parsed for structured financial data. When a company files in PDF format, the Actor returns
success: truewithfileFormat: "pdf"butfinancials: nullandrawXml: null. Approximately 10-15% of filings are PDF. - Only the latest financial statement is returned. Historical statements exist in eKRS but the Actor currently retrieves only the most recent one.
- Government server rate limiting: The eKRS server may temporarily block requests (HTTP 401/503) during high traffic. The Actor retries automatically (up to 3 attempts with backoff), but repeated rapid queries for the same KRS may be throttled. Use a proxy for higher reliability.
- XHTML/iXBRL parsing is partial: For IFRS companies filing in XHTML format, not all financial line items can be extracted automatically. The raw content is always available via
rawXmlfor custom processing. - Some companies have no statements: Newly registered companies, exempt micro-entities, or companies in early stages of proceedings may not have financial documents in eKRS.
- Processing time: 15-60 seconds per company (includes page rendering and API calls with rate-limiting delays).
- NIP lookup adds time: When using NIP instead of KRS, an additional 5-15 seconds is needed for the NIP-to-KRS lookup step.
- No charging on failure: If the Actor cannot find or download a financial statement, no data is pushed and you are not charged.
Tips for Best Results
- Use KRS directly if available - It's faster and more reliable than NIP lookup
- Use residential proxy for bulk runs - Reduces rate limiting risk for multiple sequential queries
- Space out runs - When querying many companies, avoid running more than 5 concurrent runs
- Check for recent statements - Companies file annually, usually by end of June for the previous year
- Process raw content for XHTML - For IFRS files, the raw XHTML content in
rawXmlcontains the complete iXBRL-tagged data
Data Source
This Actor scrapes data from official Polish government websites:
- KRS Search: https://wyszukiwarka-krs.ms.gov.pl/
- Financial Documents: https://rdf-przegladarka.ms.gov.pl/
All data is publicly available under Polish law. Companies registered in KRS are legally required to publish their annual financial statements.
Legal and Compliance
This Actor accesses publicly available data from official Polish government registers. The data is published in accordance with:
- Polish Commercial Companies Code (Kodeks spółek handlowych)
- Polish Accounting Act (Ustawa o rachunkowości)
- Freedom of Information Act (Ustawa o dostępie do informacji publicznej)
Support
If you have questions or issues:
- Open an issue in the Actor's Issues tab
- Contact the developer through Apify
Related Keywords
Polish company financials, KRS scraper, eKRS API, sprawozdanie finansowe, bilans, rachunek zysków i strat, Polish company registry, Krajowy Rejestr Sądowy, NIP to KRS, Polish financial statements, due diligence Poland, Polish company data, XHTML iXBRL, IFRS MSR Poland