# KRS Scraper - Polish Company Registry Data (`studio-amba/krs-scraper`) Actor

Extract company data from Poland's KRS (Krajowy Rejestr Sadowy). Get company name, KRS number, NIP, REGON, legal form, address, share capital, board members. Search by name, KRS number, or NIP. No login required.

- **URL**: https://apify.com/studio-amba/krs-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## 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

## KRS Scraper

Extract structured company data from Poland's KRS (Krajowy Rejestr Sadowy / National Court Register). Returns company name, KRS number, NIP, REGON, legal form, address, share capital, registration date, and board members. No login or cookies required.

### How to scrape KRS data

1. Go to this actor's page on the [Apify Store](https://apify.com/store).
2. Click **Try for free** to open the actor in Apify Console.
3. Enter a company name (e.g., `PKP`), a 10-digit KRS number (e.g., `0000019193`), or a NIP tax number (e.g., `5250000251`).
4. Set the maximum number of results you need (default: 100).
5. Click **Start** and wait for the run to finish.
6. Download your data as JSON, CSV, Excel, or connect it to your workflow via the Apify API.

### Why use this actor?

Poland's KRS (Krajowy Rejestr Sadowy) is the official National Court Register maintained by the Ministry of Justice. It contains registration data for all Polish companies, foundations, and associations. This actor gives you programmatic access to that data without manual searches on the government portal.

Use cases:
- **Due diligence**: Verify company details, board composition, and share capital before business deals.
- **Lead generation**: Find companies by name or location for B2B outreach.
- **Compliance monitoring**: Track registration changes and company status.
- **Market research**: Analyze the Polish corporate landscape by legal form, capital, or region.

### Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `searchQuery` | String | No | Search companies by name (min 3 characters). Defaults to `warszawa` if no criteria given. |
| `krsNumber` | String | No | Look up a specific company by its 10-digit KRS number. |
| `nip` | String | No | Search by Polish tax identification number (NIP, 10 digits). |
| `maxResults` | Integer | No | Maximum results to return (default: 100, max: 1000). |
| `proxyConfiguration` | Object | No | Proxy settings. Polish residential proxies recommended. |

Provide at least one of `searchQuery`, `krsNumber`, or `nip`. If none is given, the actor returns recently registered companies from the daily KRS bulletin.

#### Example input

```json
{
    "searchQuery": "Allegro",
    "maxResults": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "PL"
    }
}
````

#### Direct KRS number lookup

```json
{
    "krsNumber": "0000019193"
}
```

#### NIP lookup

```json
{
    "nip": "5250000251"
}
```

### Output

Each result contains the following fields:

| Field | Type | Example |
|-------|------|---------|
| `companyName` | String | `"POLSKIE KOLEJE PANSTWOWE SPOLKA AKCYJNA"` |
| `krsNumber` | String | `"0000019193"` |
| `nip` | String | `"5250000251"` |
| `regon` | String | `"00012680100000"` |
| `legalForm` | String | `"SPOLKA AKCYJNA"` |
| `registrationDate` | String | `"2001-06-11"` |
| `address` | String | `"ALEJE JEROZOLIMSKIE 142A"` |
| `city` | String | `"WARSZAWA"` |
| `postalCode` | String | `"02-305"` |
| `shareCapital` | Number | `10150715600.00` |
| `currency` | String | `"PLN"` |
| `status` | String | `"active"` |
| `boardMembers` | Array | `[{"name": "K******** C*******", "role": "PREZES ZARZADU"}]` |
| `url` | String | URL to the KRS detail page |
| `scrapedAt` | String | ISO timestamp |

#### Example output

```json
{
    "companyName": "POLSKIE KOLEJE PANSTWOWE SPOLKA AKCYJNA",
    "krsNumber": "0000019193",
    "nip": "5250000251",
    "regon": "00012680100000",
    "legalForm": "SPOLKA AKCYJNA",
    "registrationDate": "2001-06-11",
    "address": "ALEJE JEROZOLIMSKIE 142A",
    "city": "WARSZAWA",
    "postalCode": "02-305",
    "shareCapital": 10150715600.00,
    "currency": "PLN",
    "status": "active",
    "boardMembers": [
        { "name": "K******** C*******", "role": "PREZES ZARZADU" },
        { "name": "W****** P**********", "role": "CZLONEK ZARZADU - WICEPREZES" }
    ],
    "url": "https://wyszukiwarka-krs.ms.gov.pl/dane-szczegolowe-podmiotu?numerKRS=0000019193",
    "scrapedAt": "2026-06-09T14:30:00.000Z"
}
```

### Important notes

- **Personal data is anonymized**: The official KRS API anonymizes personal data (first letters of names and PESEL numbers) in compliance with Polish data protection regulations. Board member names appear partially masked in the output.
- **Data source**: This actor uses the official KRS Open API (api-krs.ms.gov.pl) maintained by the Polish Ministry of Justice. Data corresponds to current KRS extracts (odpis aktualny).
- **No login required**: All data comes from publicly available government endpoints. No account or authentication needed.
- **Rate limits**: The government API may impose rate limits. For large-volume runs (500+ companies), use residential proxies and set a reasonable `maxResults`.
- **Status field**: Companies can be `active`, `in_liquidation`, or `deleted`. Most searches return active companies.

### Data coverage

The KRS register contains data for:

- **Spolki handlowe** (commercial companies): SA, sp. z o.o., sp.k., sp.j., sp.p., SKA
- **Stowarzyszenia** (associations) and **fundacje** (foundations)
- **Spoldzielnie** (cooperatives)
- All entities required to register with the National Court Register

Each record includes the full current extract with identifiers, address, capital structure, management board, and registration history.

### Integrations

Connect this actor with other tools in your stack:

- **Apify API**: Fetch results programmatically in any language.
- **Webhooks**: Get notified when a run completes.
- **Zapier / Make**: Automate workflows with KRS data.
- **Google Sheets**: Export directly to spreadsheets.
- **Slack / Email**: Send alerts when specific companies are found.

### Cost estimation

- **Direct KRS lookup** (1 company): ~1 API call, minimal compute.
- **Name search** (100 companies): ~101 API calls (1 search + 100 detail lookups).
- **Typical run**: Under $0.10 for 100 companies on the Apify platform.

### Legal

This actor accesses publicly available data from the official KRS government portal (api-krs.ms.gov.pl). The data is published by the Polish Ministry of Justice under the Act on Open Data and the Re-use of Public Sector Information (August 11, 2021). Users are responsible for ensuring their use of the data complies with applicable laws.

# Actor input Schema

## `searchQuery` (type: `string`):

Search companies by name (e.g., 'PKP', 'Allegro', 'Orlen'). Minimum 3 characters. Defaults to 'warszawa' if no search criteria provided.

## `krsNumber` (type: `string`):

Look up a specific company by its 10-digit KRS number (e.g., '0000019193' for PKP). Returns a single detailed record.

## `nip` (type: `string`):

Search by Polish tax identification number / NIP (e.g., '5250000251'). 10 digits, no dashes.

## `maxResults` (type: `integer`):

Maximum number of company records to return.

## `proxyConfiguration` (type: `object`):

Apify proxy configuration. Polish proxies recommended for best reliability.

## Actor input object example

```json
{
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "PL"
  }
}
```

# 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 = {
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "PL"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/krs-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 = { "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "PL",
    } }

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/krs-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 '{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "PL"
  }
}' |
apify call studio-amba/krs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "KRS Scraper - Polish Company Registry Data",
        "description": "Extract company data from Poland's KRS (Krajowy Rejestr Sadowy). Get company name, KRS number, NIP, REGON, legal form, address, share capital, board members. Search by name, KRS number, or NIP. No login required.",
        "version": "0.0",
        "x-build-id": "GyMAv0WydeRbMeRcE"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/studio-amba~krs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-studio-amba-krs-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/studio-amba~krs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-studio-amba-krs-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/studio-amba~krs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-studio-amba-krs-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": {
                    "searchQuery": {
                        "title": "Company Name",
                        "type": "string",
                        "description": "Search companies by name (e.g., 'PKP', 'Allegro', 'Orlen'). Minimum 3 characters. Defaults to 'warszawa' if no search criteria provided."
                    },
                    "krsNumber": {
                        "title": "KRS Number",
                        "type": "string",
                        "description": "Look up a specific company by its 10-digit KRS number (e.g., '0000019193' for PKP). Returns a single detailed record."
                    },
                    "nip": {
                        "title": "NIP (Tax Number)",
                        "type": "string",
                        "description": "Search by Polish tax identification number / NIP (e.g., '5250000251'). 10 digits, no dashes."
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of company records to return.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify proxy configuration. Polish proxies recommended for best reliability."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
