# KRS Poland Business Registry Scraper (`parseforge/krs-poland-scraper`) Actor

Scrape Polish business registry data from KRS. Get company names, KRS numbers, NIP, REGON, addresses, directors, share capital, PKD industry codes, and bankruptcy flags. Search by KRS number or query for 600,000+ Polish businesses.

- **URL**: https://apify.com/parseforge/krs-poland-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Lead generation, Business, Other
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)

## 🇵🇱 KRS Poland Business Registry Scraper

Polish companies are registered in the National Court Register (KRS). This tool pulls structured company records by KRS number - names, legal forms, NIP and REGON identifiers, addresses, director names, and registration history - so you can build compliance workflows or supplier databases fast.

> **The KRS Poland Scraper collects Polish company excerpts from the official National Court Register by KRS number. Returns name, legal form, NIP/REGON, registration date, full address, and director and supervisor details.**

### ✨ What Does It Do

- 🏢 **Company records** - registered names, legal forms, and entity types
- 🆔 **Tax IDs** - NIP (tax ID) and REGON (statistical ID)
- 📅 **Registration history** - creation date, last update, and total entries in the registry
- 📍 **Full address** - voivodeship, district, commune, city, street, postal code
- 👥 **Directors and supervisors** - names and roles of people in the management and supervisory boards
- 🧾 **Two registries** - P for Entrepreneurs (companies) and S for Associations and Foundations
- 🆔 **Previous registry info** - history from the pre-KRS registry if applicable

### 🔧 Input

- **KRS Numbers** - list of 10-digit KRS numbers to look up (e.g. `0000033014`)
- **Registry Type** - `P` for Entrepreneurs (companies) or `S` for Associations, Foundations
- **Max Items** - free users get 10 records, paid users up to 1,000,000

```json
{
    "krsNumbers": ["0000033014", "0000006494"],
    "registry": "P",
    "maxItems": 100
}
````

### 📊 Output

Each KRS lookup returns a normalized company profile. Download as JSON, CSV, or Excel.

| 📌 Field | 📄 Description |
|----------|---------------|
| 🏷️ krsNumber | 10-digit KRS identifier |
| 🏢 name | Registered company name |
| 📜 legalForm | Legal form description |
| 💰 nip | Polish tax ID |
| 📊 regon | Polish statistical ID |
| 📅 registrationDate | Date company was registered |
| ⏱️ lastUpdateDate | Date of last entry in KRS |
| 🗺️ voivodeship | Province |
| 🏙️ city | Registered city |
| 🛣️ street | Street name |
| 🔢 houseNumber | House number |
| 📮 postalCode | Postal code |
| 👥 directors | Array of management board members with roles |
| 🧑‍⚖️ supervisorsCount | Number of supervisory board members |
| 🎗️ hasOppStatus | Has public benefit organization status |

```json
{
    "krsNumber": "0000033014",
    "name": "POWSZECHNA KASA OSZCZĘDNOŚCI BANK POLSKI S.A.",
    "legalForm": "SPÓŁKA AKCYJNA",
    "nip": "5250007738",
    "regon": "016298263",
    "registrationDate": "2001-04-12",
    "lastUpdateDate": "2025-11-20",
    "country": "POLSKA",
    "voivodeship": "MAZOWIECKIE",
    "district": "WARSZAWA",
    "commune": "WARSZAWA-ŚRÓDMIEŚCIE",
    "city": "WARSZAWA",
    "street": "PUŁAWSKA",
    "houseNumber": "15",
    "postalCode": "02-515",
    "totalEntries": 542,
    "registryType": "P",
    "hasOppStatus": false,
    "directors": [
        { "name": "JAN KOWALSKI", "role": "PREZES ZARZĄDU" }
    ],
    "supervisorsCount": 9,
    "scrapedAt": "2026-04-10T12:00:00.000Z"
}
```

### 💎 Why Choose the KRS Poland Scraper?

| Feature | Our Tool | Manual KRS Portal |
|---------|----------|-------------------|
| Bulk KRS lookups | ✅ Batch of numbers | ❌ One at a time |
| Normalized address fields | ✅ Split fields | ⚠️ Single blob |
| Director list with roles | ✅ Structured | ⚠️ Nested PDF |
| NIP + REGON | ✅ Included | ✅ Yes |
| Export to JSON/CSV/Excel | ✅ Yes | ❌ PDF exports only |
| Scheduled monitoring | ✅ Daily runs | ❌ Not possible |

### 📋 How to Use

1. **Sign Up** - [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. **Configure** - paste your list of KRS numbers and pick the registry type
3. **Run It** - click Start and get Polish company records in seconds

No coding, no PDF downloads, no manual court register browsing.

### 🎯 Business Use Cases

- ✅ **KYC / compliance** - verify Polish B2B customers before onboarding
- 💰 **Invoice validation** - match invoices to registered company names and tax IDs
- 🏛️ **Due diligence** - pull board composition and registration history for M\&A research
- 🚨 **Sanctions screening** - cross-check Polish entities against sanctions lists
- 📊 **Market research** - profile Polish companies by region or sector
- 💼 **B2B data enrichment** - enrich CRM records with official Polish registry data

### ❓ FAQ

🇵🇱 **What is KRS?**
KRS (Krajowy Rejestr Sądowy) is Poland's official National Court Register for companies, associations, foundations, and other legal entities.

🆔 **What's the difference between NIP and REGON?**
NIP is the Polish tax identification number. REGON is the statistical identification number used for official reporting. Most companies have both.

📜 **What registry types are supported?**
`P` (Przedsiębiorców) for commercial companies and entrepreneurs, and `S` (Stowarzyszeń) for associations, foundations, and non-profits.

👥 **Are directors always listed?**
Yes, when the company has filed their management board composition with KRS. The `directors` array returns names and their roles (e.g. PREZES ZARZĄDU, CZŁONEK ZARZĄDU).

🎗️ **What does `hasOppStatus` mean?**
OPP (Organizacja Pożytku Publicznego) is Poland's public benefit organization status. Companies and associations with this flag can receive 1.5% tax donations from Polish taxpayers.

### 🔗 Integrate KRS Poland Scraper with any app

- [Make](https://docs.apify.com/platform/integrations/make) - automate company lookups
- [Zapier](https://docs.apify.com/platform/integrations/zapier) - verify new customers
- [Slack](https://docs.apify.com/platform/integrations/slack) - post compliance alerts
- [Google Sheets](https://docs.apify.com/platform/integrations/drive) - build supplier databases
- [Webhooks](https://docs.apify.com/platform/integrations/webhooks) - trigger KYC workflows on completion

### 💡 Recommended Actors

Looking for more data collection tools? Check out these related actors:

| Actor | Description | Link |
|-------|-------------|------|
| FINRA BrokerCheck Scraper | US broker registration lookups | [Link](https://apify.com/parseforge/finra-brokercheck-scraper) |
| GSA eLibrary Scraper | US government contract data | [Link](https://apify.com/parseforge/gsa-elibrary-scraper) |
| BizBuySell Scraper | Businesses for sale listings | [Link](https://apify.com/parseforge/bizbuysell-scraper-pay-per-event) |
| Pitchbook Investors Scraper | PE and VC investor profiles | [Link](https://apify.com/parseforge/pitchbook-investors-scraper) |
| DealStream Scraper | Business for sale marketplace | [Link](https://apify.com/parseforge/dealstream-scraper) |

**Pro Tip:** 💡 Browse the full [ParseForge catalog](https://apify.com/parseforge) to find more data tools.

### 🆘 Need Help?

- Check the FAQ section above for common questions
- Visit the [Apify documentation](https://docs.apify.com) for platform guides
- Contact us at [Tally contact form](https://tally.so/r/BzdKgA)

### ⚠️ Disclaimer

> This Actor is an independent tool and is not affiliated with, endorsed by, or connected to KRS, the Polish Ministry of Justice, or the Polish government. It collects only publicly available business registry data.

# Actor input Schema

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## `krsNumbers` (type: `array`):

10-digit KRS numbers to look up (e.g. '0000033014').

## `registry` (type: `string`):

'P' for Entrepreneurs (companies); 'S' for Associations, foundations.

## Actor input object example

```json
{
  "maxItems": 10,
  "krsNumbers": [
    "0000033014",
    "0000006494"
  ],
  "registry": "P"
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "krsNumbers": [
        "0000033014",
        "0000006494"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/krs-poland-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "krsNumbers": [
        "0000033014",
        "0000006494",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/krs-poland-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "krsNumbers": [
    "0000033014",
    "0000006494"
  ]
}' |
apify call parseforge/krs-poland-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/krs-poland-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "KRS Poland Business Registry Scraper",
        "description": "Scrape Polish business registry data from KRS. Get company names, KRS numbers, NIP, REGON, addresses, directors, share capital, PKD industry codes, and bankruptcy flags. Search by KRS number or query for 600,000+ Polish businesses.",
        "version": "1.0",
        "x-build-id": "1vHDv87bep4340aeZ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~krs-poland-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-krs-poland-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~krs-poland-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-krs-poland-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~krs-poland-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-krs-poland-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    },
                    "krsNumbers": {
                        "title": "KRS Numbers",
                        "type": "array",
                        "description": "10-digit KRS numbers to look up (e.g. '0000033014').",
                        "items": {
                            "type": "string"
                        }
                    },
                    "registry": {
                        "title": "Registry Type",
                        "enum": [
                            "P",
                            "S"
                        ],
                        "type": "string",
                        "description": "'P' for Entrepreneurs (companies); 'S' for Associations, foundations.",
                        "default": "P"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
