Poland Krs Financial Scraper avatar

Poland Krs Financial Scraper

Pricing

from $24.00 / 1,000 results

Go to Apify Store
Poland Krs Financial Scraper

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

Piotr Kaplon

Maintained by Community

Actor stats

0

Bookmarked

20

Total users

6

Monthly active users

22 days

Issues response

a day ago

Last modified

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 at ekrs.ms.gov.pl in 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

ParameterTypeRequiredDescription
nipstringNo*Polish Tax Identification Number (NIP). If provided without KRS, the Actor will look up the KRS number automatically
krsstringNo*Polish National Court Register (KRS) number. Will be padded to 10 digits if shorter
proxyConfigurationobjectNoApify 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

FieldDescription
nipThe NIP number used for lookup (if provided)
krsThe KRS number (10 digits)
companyNameFull legal company name from KRS
yearFinancial year of the statement
fileNameOriginal filename from eKRS
fileFormatFile format: xml, xhtml, or pdf
rawXmlComplete raw file content (XML/XHTML). null for PDF files
financialsParsed financial metrics (when extraction succeeds). null for PDF files
successWhether 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

FormatUsed ByStructured Parsing
XMLMost Polish companies (PAS/UoR standard)Full parsing - all financial metrics extracted
XHTMLIFRS adopters, larger companies (MSR/MSSF)Partial parsing - key metrics from selected data tables
PDFSome 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: true with fileFormat: "pdf" but financials: null and rawXml: 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 rawXml for 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

  1. Use KRS directly if available - It's faster and more reliable than NIP lookup
  2. Use residential proxy for bulk runs - Reduces rate limiting risk for multiple sequential queries
  3. Space out runs - When querying many companies, avoid running more than 5 concurrent runs
  4. Check for recent statements - Companies file annually, usually by end of June for the previous year
  5. Process raw content for XHTML - For IFRS files, the raw XHTML content in rawXml contains the complete iXBRL-tagged data

Data Source

This Actor scrapes data from official Polish government websites:

All data is publicly available under Polish law. Companies registered in KRS are legally required to publish their annual financial statements.

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

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