# Poland KNF Financial Registry Scraper (`regdata/knf-registry-scraper`) Actor

Extract payment institutions, e-money issuers, credit intermediaries, lending companies & pawnbroking operators from 3 Polish KNF registries. Search by name, NIP, entity type. Bulk export 75,000+ entities. Structured JSON. No auth needed.

- **URL**: https://apify.com/regdata/knf-registry-scraper.md
- **Developed by:** [getregdata](https://apify.com/regdata) (community)
- **Categories:** Lead generation, Automation, Agents
- **Features:** Limited permissions
- **Stats:** 5 total users, 2 monthly users, 93.1% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 entity 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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Poland KNF Financial Registry Scraper | Rejestr KNF

Extract structured licensing data from **Poland's KNF financial registers** in bulk - JSON, CSV or Excel, beyond what KNF's three separate web portals allow by hand. Verify in one call whether a payment institution, e-money issuer, lender, or credit intermediary is authorised by the Polish Financial Supervision Authority, across 75,000+ regulated entities in registers that have **no public API**.

**No login, no API key, nothing to configure** - paste a company name or NIP, get structured records back.

### What data do you get?

Each result is one regulated entity with its licence status, registry number, type, and address:

```json
{
  "name": "PayU S.A.",
  "registryNumber": "IP1/2012",
  "nip": "5213103635",
  "entityType": "PSD_PI",
  "entityTypeLabel": "Domestic payment institution",
  "status": "Wpisany",
  "address": "ul. Grunwaldzka 186",
  "postalCode": "60-166",
  "city": "Poznan",
  "country": "Polska",
  "registrationDate": "2012-10-25",
  "parentEntity": null,
  "registry": "e-rup",
  "sourceUrl": "https://e-rup.knf.gov.pl/"
}
```

It covers all three KNF registers in one run: **e-rup** (payment & e-money, ~17K entities), **rpkip** (credit & lending, ~59K), and **rdl** (pawnbroking, ~250).

**The three registers do not publish the same fields.** KNF runs them as separate systems, so a field is populated only where the source register actually holds it. Every field is always present on the record - it is `null` where that register does not publish it.

| Field | Description | e-rup | rpkip | rdl |
|-------|-------------|:-----:|:-----:|:---:|
| `name` | Entity/company name | yes | yes | yes |
| `registryNumber` | KNF registry number (e.g. "IP1/2012") | yes | yes | yes |
| `nip` | Polish Tax ID | yes | yes | yes |
| `status` | Registration status (Wpisany = Registered, Wykreslony = Deregistered) | yes | yes | yes |
| `city` | Registered city | yes | yes | yes |
| `registry` / `sourceUrl` | Source register and its portal URL | yes | yes | yes |
| `krs` | KRS number | - | - | **yes** |
| `entityType` | Type code (PSD_PI, RPH, RIP, ...) | yes | yes | **-** |
| `entityTypeLabel` | Human-readable type in English | yes | yes | **-** |
| `address` / `postalCode` / `country` | Full registered address | yes | **-** | **-** |
| `registrationDate` | Date of registration/deregistration | yes | **-** | **-** |
| `parentEntity` | Parent entity name (for agents/branches) | yes | **-** | **-** |

Two consequences worth knowing before you build against this:

- **`entityType` cannot be used to filter `rdl`.** The pawnbroking register has no type dimension, so there is nothing to select on. A run that sets `entityType` **skips** `rdl` rather than returning it unfiltered, and the run's status message says which register was skipped and why. You are not charged for records you did not ask for.
- **Only `e-rup` carries a full street address.** `rpkip` and `rdl` publish the city alone. If you need postal addresses for credit intermediaries, plan on a second lookup (KRS or REGON) keyed on `nip`.

### How much does the KNF data cost?

**Pay per result** - you are not charged for Apify platform usage, only a fixed price per record. **From $0.004 per record.** The price drops on higher Apify subscription tiers.

| Volume | Cost |
|--------|------|
| 1 result | $0.004 |
| 100 results | ~$0.41 |
| 1,000 results | ~$4.01 |
| 10,000 results | ~$40.01 |

Plus a **$0.005** start fee per run. Apify's $5 monthly free credit covers ~1,250 lookups, so one-off compliance checks and small partner-verification runs stay free. You cross into paid territory at portfolio scale: a monthly 2,000-entity screen is ~$8/month gross (~$3 net after the free credit) - the same check compliance consultancies bill at $100-200/hour when done by hand through the KNF portals.

### Is it legal, and where does the data come from?

All data comes from the official public registers maintained by **KNF (Komisja Nadzoru Finansowego)**, Poland's statutory financial-markets supervisor:

- [e-rup.knf.gov.pl](https://e-rup.knf.gov.pl/) - payment & e-money institutions
- [rpkip.knf.gov.pl](https://rpkip.knf.gov.pl/) - credit intermediaries & lenders
- [rdl.knf.gov.pl](https://rdl.knf.gov.pl/) - pawnbrokers

These registers are public and free to access - KNF publishes them precisely so that counterparties can verify licences. Extraction of this public data is permitted; you remain responsible for lawful, GDPR-compliant use of any personal data (e.g. names of registered agents) downstream.

### How do I use it?

Click **Try it** and paste this input:

```json
{ "registry": "all", "name": "PayU" }
```

Or look up an exact entity by tax ID: `{ "nip": "5213103635" }`. To mirror a whole register into your own database, set `{ "registry": "rpkip", "exportAll": true, "maxResults": 0 }`.

### Input options

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `registry` | string | No | `all` | Which register: `e-rup`, `rpkip`, `rdl`, or `all` |
| `name` | string | No | - | Entity name search (partial match) |
| `nip` | string | No | - | Polish Tax ID (NIP) - exact match |
| `entityType` | string | No | - | Entity type code filter (see below) |
| `exportAll` | boolean | No | `false` | Export all records (ignores search filters) |
| `maxResults` | integer | No | `100` | Max results. Set to `0` for unlimited with `exportAll` |

**Entity type codes** - e-rup (payment/e-money): `PSD_PI` domestic payment institution, `PSD_EMI` e-money institution, `PSD_ENL` credit union (SKOK), `PSD_EPI@MIP` small payment institution, `PSD_AISP` account information service provider, `PSD_AG` agent, `PSD_BR` branch. rpkip (credit/lending): `RPH` mortgage credit intermediary, `RPK` consumer credit intermediary, `RHA` agent of mortgage intermediary, `RIP` lending institution.

### What you can do with it

- **KYC / KYB onboarding** - before onboarding a Polish fintech, lender, or payments partner, confirm in one call that it holds the KNF licence it claims, and capture the registry number for your file.
- **Ongoing licence monitoring** - schedule a recurring run over your counterparty list and catch any that become `Wykreslony` (deregistered).
- **Credit-risk checks** - verify a lending institution is registered with KNF before extending exposure or a facility.
- **RegTech pipelines** - wire the actor into an automated compliance workflow via the API, so every new financial counterparty is licence-checked on intake.
- **Market research** - export a full register to map the Polish payments, lending, or e-money landscape by entity type and region.

### Run it from code

Every actor runs via the Apify REST API. Examples for this one:

```bash
## cURL - start a run and get the dataset back
curl -X POST "https://api.apify.com/v2/acts/regdata~knf-registry-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "registry": "all", "name": "PayU" }'
```

```javascript
// Node.js - apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('regdata/knf-registry-scraper').call({ registry: 'all', name: 'PayU' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

```python
## Python - apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("regdata/knf-registry-scraper").call(run_input={"registry": "all", "name": "PayU"})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

### Integrations

Runs anywhere Apify does: call it from the **REST API**, **schedule** recurring licence checks, pipe results into **n8n / Make / Zapier**, or use it from any **MCP client** (Claude, Cursor) via [mcp.apify.com](https://mcp.apify.com).

### FAQ

**Is it legal to scrape the KNF registers?** Yes. The three KNF registers are official, public registries published by the Polish Financial Supervision Authority for exactly this kind of licence verification. Extraction of public data is permitted; you remain responsible for lawful, GDPR-compliant use of any personal data downstream.

**Do I need a KNF account or an API key?** No. No login, no key, nothing to configure - the registers are public and the actor handles retrieval. You only need an Apify account to run it.

**What export formats are supported?** Results land in an Apify dataset you can export as JSON, CSV, Excel, or XML, or read live via the API.

**Which register should I search?** Leave `registry: "all"` to search all three at once, or target one: `e-rup` for payment/e-money institutions, `rpkip` for lenders and credit intermediaries, `rdl` for pawnbrokers.

**How do I verify one counterparty vs. build a full database?** For a single entity, search by `nip` or `name`. To mirror an entire register into your own database, set `exportAll: true` with `maxResults: 0`.

**Why did a search return no results?** Either the entity is not registered with KNF (a valid, meaningful answer for a licence check), or the name spelling does not match the register - try the exact registered name or search by NIP. Insurance intermediaries are a separate register that is not covered (see Limitations).

**How fresh is the data?** It is read live from KNF's portals at run time, so it reflects the current state of the registers, which KNF staff maintain.

### Limitations

- **Insurance intermediaries** (rpu.knf.gov.pl) are not covered - that register is not publicly queryable.
- Results reflect KNF's own data freshness - the registers are maintained by KNF staff.
- Entity detail pages (individual services, agents, branches) are not fetched in this version.

### Related actors

Part of a suite of official government registry actors - **no public API to build or maintain**, pay per result, nothing to configure.

| Country | Actors |
|---|---|
| Poland | [BDO](https://apify.com/regdata/bdo-waste-registry-scraper) · [CRBR](https://apify.com/regdata/crbr-beneficial-owners-scraper) · [KRS (financials)](https://apify.com/regdata/poland-krs-financial-scraper) · [EKW](https://apify.com/regdata/ekw-ksiegi-wieczyste-scraper) · **KNF (this actor)** · [KRS (board)](https://apify.com/regdata/krs-fullnames-scraper) · [KRZ](https://apify.com/regdata/krz-debtor-scraper) · [MSiG](https://apify.com/regdata/msig-scraper) · [KYB check](https://apify.com/regdata/poland-kyb-check) · [PEP (Sejm)](https://apify.com/regdata/poland-parliamentary-pep-scraper) · [REGON (sites)](https://apify.com/regdata/polish-premises-prospector) · [REGON](https://apify.com/regdata/polish-regon-scraper) · [UOKiK](https://apify.com/regdata/uokik-clauses-scraper) |
| Germany | [Insolvenzbekanntmachungen](https://apify.com/regdata/germany-insolvency-scraper) · [Handelsregister](https://apify.com/regdata/germany-handelsregister-scraper) |
| Spain | [BORME](https://apify.com/regdata/borme-corporate-acts-scraper) · [Registro Mercantil](https://apify.com/regdata/spain-company-directory-scraper) · [Registro Público Concursal](https://apify.com/regdata/spain-concursal-scraper) |
| Italy | [INI-PEC](https://apify.com/regdata/italy-pec-lookup) · [Registro Imprese](https://apify.com/regdata/italy-registro-imprese-scraper) |
| Austria | [Ediktsdatei](https://apify.com/regdata/austria-ediktsdatei-scraper) · [WKO](https://apify.com/regdata/wko-business-directory-scraper) |
| France | [Societe.com](https://apify.com/regdata/societe-com-scraper) |
| Belgium | [KBO / BCE](https://apify.com/regdata/belgium-kbo-company-scraper) |
| Czechia | [ISIR](https://apify.com/regdata/czech-isir-insolvency-scraper) |
| Slovakia | [RPVS](https://apify.com/regdata/slovakia-rpvs-ubo-scraper) |
| Cyprus | [DRCOR](https://apify.com/regdata/cyprus-drcor-company-scraper) |
| Ireland | [CRO](https://apify.com/regdata/ireland-cro-company-scraper) |
| Portugal | [Publicações MJ](https://apify.com/regdata/portugal-corporate-acts-scraper) |
| Nigeria | [CAC](https://apify.com/regdata/nigeria-cac-company-scraper) |
| Colombia | [RUES](https://apify.com/regdata/colombia-rues-company-scraper) |
| USA | [California SoS](https://apify.com/regdata/california-sos-business-scraper) · [California UCC](https://apify.com/regdata/california-ucc-lien-scraper) |
| UAE | [ADGM](https://apify.com/regdata/uae-adgm-public-register-scraper) |
| Global | [Adverse media](https://apify.com/regdata/adverse-media-screener) |

**Common combinations:** company register -> [UBO](https://apify.com/regdata/crbr-beneficial-owners-scraper) -> [insolvency/debtors](https://apify.com/regdata/krz-debtor-scraper) -> [adverse media](https://apify.com/regdata/adverse-media-screener) is the standard KYB/onboarding chain.

For Poland that whole chain is one call: [Poland KYB Risk Check](https://apify.com/regdata/poland-kyb-check) takes a NIP or KRS and returns identity, beneficial owners and insolvency - screened against the company **and every beneficial owner** - as a single verdict. The component registry lookups it runs bill as usual, plus a small orchestration fee.

> Full suite: [apify.com/regdata](https://apify.com/regdata) · Callable from any MCP client via [mcp.apify.com](https://mcp.apify.com)

### Informacje po polsku

#### Czym jest ten aktor?

Ten aktor umozliwia automatyczne przeszukiwanie **rejestrow KNF** - Komisji Nadzoru Finansowego - obejmujacych trzy kluczowe bazy: rejestr instytucji platniczych i pieniadza elektronicznego (e-rup), rejestr posrednikow kredytowych i instytucji pozyczkowych (rpkip) oraz **rejestr lombardow** (rdl). Zaden z tych rejestrow nie udostepnia publicznego API. Aktor zwraca dane w ustrukturyzowanym formacie - umozliwiajac **weryfikacje licencji KNF** bez recznego przeszukiwania trzech osobnych portali.

#### Dla kogo?

Przede wszystkim dla **dzialow compliance** w bankach i instytucjach finansowych, ktore musza weryfikowac, czy dany podmiot posiada wymagane zezwolenie KNF. Korzystaja z niego **firmy fintechowe** sprawdzajace status regulacyjny partnerow, specjalisci ds. KYC/AML, analitycy ryzyka kredytowego oraz kancelarie prawne.

#### Jak zaczac?

Uruchom aktora, podajac nazwe firmy, NIP lub typ podmiotu. Mozesz zintegrowac go ze swoim systemem przez Apify API i automatycznie weryfikowac licencje podmiotow finansowych. Bez subskrypcji - placisz wylacznie za faktyczne uzycie.

***

### Rejestry KNF - instytucje platnicze i posrednicy kredytowi

Eksport danych z rejestrow Komisji Nadzoru Finansowego (KNF). Instytucje platnicze, wydawcy pieniadza elektronicznego, posrednicy kredytowi, firmy pozyczkowe i lombardy. Wyszukiwanie po nazwie, NIP lub typie podmiotu. Ponad 75 000 podmiotow. Eksport zbiorczy do JSON. Bez wymaganej autoryzacji.

# Actor input Schema

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

Which KNF registry to search. e-rup = payment/e-money institutions (~17k entities), rpkip = credit intermediaries & lending institutions (~58k entities), rdl = pawnbroking activities (~250 entities), all = search all three.

## `name` (type: `string`):

Search by entity/company name (partial match, case-insensitive)

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

Search by Polish Tax Identification Number (NIP) — exact match

## `entityType` (type: `string`):

Filter by entity type code. e-rup: PSD_PI, PSD_EMI, PSD_ENL, PSD_EPI@BP, PSD_EPI@MIP, PSD_AISP, PSD_AG, PSD_BR. rpkip: RPH, RPK, RHA, RIP. Leave empty for all types.

## `exportAll` (type: `boolean`):

Export all records from the selected registry. Ignores name/NIP/entityType filters. Use for bulk data extraction.

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

Maximum number of results to return. Default: 100. Set to 0 for unlimited (use with Export All for full registry dump).

## Actor input object example

```json
{
  "registry": "all",
  "name": "PayU",
  "exportAll": false,
  "maxResults": 100
}
```

# Actor output Schema

## `entityRecords` (type: `string`):

KNF-supervised financial entities with name, registry number, NIP, type, status, address, and registration date.

# 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 = {
    "name": "PayU"
};

// Run the Actor and wait for it to finish
const run = await client.actor("regdata/knf-registry-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 = { "name": "PayU" }

# Run the Actor and wait for it to finish
run = client.actor("regdata/knf-registry-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "name": "PayU"
}' |
apify call regdata/knf-registry-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,regdata/knf-registry-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/OGJzYNkFbSgwczgoO/builds/B5ANgjfcnv1SVFTp0/openapi.json
