Polish Company Dossier – KRS, VAT, Risk Signals avatar

Polish Company Dossier – KRS, VAT, Risk Signals

Pricing

from $10.00 / 1,000 company record (full)s

Go to Apify Store
Polish Company Dossier – KRS, VAT, Risk Signals

Polish Company Dossier – KRS, VAT, Risk Signals

Look up Polish companies by NIP, KRS or REGON and get one structured dossier each: KRS court register data, VAT white list status, bank account verification, EU VIES, PKD codes, filing history and risk signals (liquidation, bankruptcy, arrears). Official sources only. $0.01 per dossier.

Pricing

from $10.00 / 1,000 company record (full)s

Rating

0.0

(0)

Developer

Mateusz Kitlinski

Mateusz Kitlinski

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

What does Polish Company Dossier do?

Polish Company Dossier turns a list of Polish company identifiers (NIP, KRS or REGON, mixed in any format) into one clean, structured company dossier per identifier. It combines official government sources only:

  • KRS court register (Krajowy Rejestr Sądowy, Ministry of Justice): name, legal form, address, share capital, PKD activity codes, management and supervisory board summary, annual financial statement filing history, liquidation, bankruptcy, restructuring and other register events.
  • VAT white list (Wykaz podatników VAT, Ministry of Finance): VAT status (active/exempt/not registered), registration and removal dates, bank accounts and the official request ID that proves you checked.
  • EU VIES (opt-in): whether the company's EU VAT number is valid for intra-EU trade, checked on your behalf.
  • Optionally GUS REGON, with your own free key: full PKD list, ownership form, suspension and bankruptcy dates.

On top of the raw data, every dossier includes risk signals with severity (LOW/MEDIUM/HIGH): in liquidation, bankruptcy or restructuring, arrears with enforcement, curator, suspended activity, VAT removed, financial statements overdue, recently registered, minimum share capital, bank account not on the white list, and more.

One identifier never breaks your run. Typos, unknown companies and sole proprietors get a clear problem row that you are not charged for.

Who is it for?

  • KYB / AML / credit-risk teams checking Polish counterparties in bulk.
  • Accounts payable: verify that the bank account on an invoice is on the supplier's VAT white list before you pay. Under Polish tax rules this protects your VAT deduction and your joint liability.
  • B2B sales and procurement: enrich lead lists with legal form, size signals, PKD codes and status.
  • AI agents (via the Apify MCP server): one call answers "check this Polish company".

How to use it

  1. Paste identifiers into Company identifiers, one per line. Formats like 774-000-14-54, PL7740001454, KRS 28860 or 610188201 are all accepted.
  2. Optional: verify a bank account by adding it after a semicolon: 7740001454;PL61109010140000071219812874.
  3. Choose Full (KRS + VAT white list, optional VIES) or Basic (KRS register only, cheaper).
  4. Run it. Download results as JSON, CSV or Excel, or use the Overview and Risk signals table views.

Input

{
"identifiers": ["7740001454", "0000019193", "KRS 0000800000", "7740001454;61109010140000071219812874"],
"mode": "full",
"checkVies": false,
"includeBankAccounts": false
}
FieldDefaultDescription
identifiers—NIP / KRS / REGON list (up to 10,000), optional ;account suffix
modefullfull = KRS + VAT white list + bank check (+ VIES if enabled); basic = KRS only
checkViesfalseOpt-in EU VAT validity check in VIES, done on your behalf for your own intra-EU invoicing (full mode)
includeBankAccountsfalseList all white-list bank accounts (the count is always included)
vatStatusDatetodayVAT status as of a past date
gusApiKey—Your own GUS REGON key (secret) for extra fields

Output

One item per input, in input order. A trimmed real example:

{
"status": "ok",
"input": { "raw": "KRS 0000800000", "detectedType": "krs", "normalized": "0000800000" },
"company": {
"name": "ENOLOGIA SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ",
"legalFormCategory": "LLC", "nip": "9562353240", "regon": "384157209", "krs": "0000800000",
"registeredAt": "2019-08-20"
},
"address": { "city": "TORUŃ", "postalCode": "87-100", "formatted": "UL. SZOSA CHEŁMIŃSKA 26/303, 87-100 TORUŃ" },
"shareCapital": { "amount": 5000.0, "currency": "PLN", "isMinimumForLegalForm": true },
"activities": { "main": { "code": "01.21.Z", "description": "UPRAWA WINOGRON" }, "totalCount": 10 },
"governance": { "managementBody": { "name": "ZARZĄD", "memberCount": 1, "functions": { "PREZES ZARZĄDU": 1 } } },
"financialStatements": { "lastPeriodEnd": "2025-12-31", "overdue": false, "filingsCount": 6 },
"registerEvents": [],
"vatWhiteList": { "statusVat": "ACTIVE", "bankAccountsCount": 1, "asOfDate": "2026-10-02", "requestId": "geDau-98m2cg8" },
"vies": { "valid": true, "nameMatchesRegistry": true },
"riskLevel": "LOW",
"riskSignals": [{ "code": "MINIMUM_SHARE_CAPITAL", "severity": "LOW", "message": "Share capital equals the statutory minimum for the legal form." }],
"sourceStatus": { "krs": "ok", "vatWhiteList": "ok", "vies": "ok", "regon": "skipped", "bankAccount": "skipped" }
}

Problem rows keep the same shape with status set to invalid_input, not_found, out_of_scope, source_unavailable or error, plus a human-readable statusReason. Every field is documented in the dataset schema (Output tab). A machine-readable run summary is saved as OUTPUT in the key-value store: counts by status, per-source health and charged events.

Pricing

Pay per event: you only pay for delivered dossiers.

EventPrice
Full dossier (KRS + VAT white list + risk signals, optional VIES)$0.01
Basic dossier (KRS register + risk signals)$0.004
Bank account verification (white list check with official request ID)$0.002
Problem rows (invalid, not found, sole proprietor, source down)free

Example: 1,000 companies in full mode cost $10. In basic mode they cost $4. Adding 1,000 bank-account checks costs $2 more. You can cap spending per run with the platform's maximum cost per run setting. The actor then stops cleanly and reports how many identifiers were left.

  • KRS Open API (api-krs.ms.gov.pl), Ministry of Justice, public domain (CC0).
  • VAT white list API (wl-api.mf.gov.pl), Ministry of Finance, public register (art. 96b VAT Act).
  • VIES, European Commission.
  • GUS REGON BIR1.1 (optional, your key), Statistics Poland, CC BY 4.0.

Privacy by design: the output is company-level only. Names, PESEL numbers and other data of natural persons (board members, shareholders, proxies, liquidators, trustees) are never included; boards are summarised as counts per function. Free-text register fields that may contain personal data are not copied. Sole proprietorships (JDG) are returned as out_of_scope without personal details.

Limits

  • The VAT white list allows 100 search requests per day per IP (30 companies each). This actor batches 30 companies per request and never exceeds fair use. If the daily quota is exhausted, KRS-number inputs still get full KRS dossiers (VAT section marked unavailable). NIP/REGON-only inputs then need the KRS number or your GUS key. For very large jobs, prefer KRS numbers.
  • Insolvency data comes from the KRS register (section 6), which can lag the separate KRZ insolvency register by days or weeks.
  • Financial statement contents (figures) are not included. You get the full filing history and an overdue check. The overdue check applies to companies and cooperatives that must file to KRS; foundations, associations and small partnerships are not judged on it.

FAQ

Yes. All sources are official public registers published for reuse. KRS data is CC0. The actor only outputs company-level data and respects source rate limits.

Can I use it from my code, Zapier, Make or an AI agent?

Yes: through the Apify API, integrations, or the Apify MCP server, where the actor appears as a tool. A single-company call usually finishes in a few seconds.

What does duplicateOf mean?

If two inputs resolve to the same company (for example its NIP and its KRS number), the second row points to the first row's position. Both are delivered.

I found a problem or need another field.

Open an issue on the Issues tab. We respond quickly and ship fixes with tests.

Polski — krótko

Raport o firmie po NIP, KRS lub REGON: dane z KRS (forma prawna, adres, kapitał, PKD, zarząd w formie podsumowania, sprawozdania finansowe, likwidacja/upadłość/restrukturyzacja), status VAT z Białej listy (z identyfikatorem zapytania jako dowodem weryfikacji), weryfikacja rachunku bankowego przed płatnością, opcjonalnie VIES oraz sygnały ryzyka. Tylko oficjalne źródła, bez danych osobowych. Płacisz wyłącznie za dostarczone raporty: 0,01 USD za pełny raport.

Other actors from this developer

  • Polish Public Tenders: open tenders and contract awards from BZP and EU TED, with winners per lot, a daily monitor and company profiles for every winning company (the same data as this actor).

  • Slovak Company Financials: revenue, profit, assets and equity of Slovak companies from the official RÚZ register, with 5-year history and ratios.

More official-data actors for Central-Eastern Europe are in progress. Follow this developer's page to get them first.