# Bankmonitor Scraper - Hungarian Financial Comparison (`studio-amba/bankmonitor-scraper`) Actor

Scrape financial comparison data from Bankmonitor.hu, Hungary's leading financial comparison platform. Extract loan offers, mortgage rates, savings accounts, credit cards, and insurance products with interest rates, monthly payments, fees, and conditions from 50+ banks. No login or cookies required.

- **URL**: https://apify.com/studio-amba/bankmonitor-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** E-commerce
- **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

## Bankmonitor Scraper

Scrape financial comparison data from [Bankmonitor.hu](https://bankmonitor.hu), Hungary's leading financial comparison platform. Extract personal loan offers, mortgage rates, savings accounts, credit cards, and insurance products with interest rates, APR, monthly payments, fees, and conditions from 50+ Hungarian banks and financial institutions.

No login or cookies required.

### How to scrape Bankmonitor data

1. Go to the [Bankmonitor Scraper](https://apify.com/studio-amba/bankmonitor-scraper) on Apify Store.
2. Click **Try for free** to open the actor in Apify Console.
3. Select a **Category** (Savings, Personal Loans, Mortgages, Credit Cards, or Insurance).
4. Optionally enter a **Search Query** to filter results (e.g. "lakashitel", "szemelyi kolcson").
5. Set **Max Results** to control how many financial products to scrape.
6. Click **Start** and wait for the run to finish.
7. Download your data in JSON, CSV, Excel, or any other supported format.

### What data can you extract from Bankmonitor?

This scraper extracts structured financial comparison data across all major Bankmonitor categories:

#### Savings & Deposits (Megtakaritas)
- Fixed-term deposit rates from Hungarian banks
- Government bond (allampapir) yields and conditions
- Retirement savings (nyugdij-megtakaritas) plans
- Investment fund comparisons

#### Personal Loans (Szemelyi Kolcson)
- Interest rates and APR (THM) from OTP, CIB, Erste, K&H, MBH, Raiffeisen, UniCredit
- Monthly payment calculations for different loan amounts
- Eligibility requirements and income thresholds
- Origination fees and processing conditions
- Baby loan (babavaro hitel) offers with state subsidies

#### Mortgages (Lakashitel)
- Fixed and variable mortgage rates
- Monthly payment comparisons across banks
- Total repayment amounts over full term
- Down payment requirements and property conditions
- CSOK and Otthon Start government program rates

#### Credit Cards & Bank Accounts (Hitelkartya)
- Monthly account maintenance fees
- Card fees and transaction costs
- ATM withdrawal limits and charges
- Online banking features
- Free account options

#### Insurance (Biztositas)
- Life insurance (eletbiztositas) premiums
- Home insurance (lakasbiztositas) coverage and pricing
- Health insurance options
- Group insurance products

### Output fields

Each scraped financial product contains the following fields:

| Field | Type | Description |
|-------|------|-------------|
| `providerName` | string | Bank or financial institution name (e.g. OTP, CIB, Erste) |
| `productName` | string | Name of the financial product or offer |
| `category` | string | Product category: savings, loans, mortgages, creditcards, or insurance |
| `interestRate` | string | Nominal interest rate (kamat) as displayed |
| `apr` | string | Annual Percentage Rate / THM (Teljes Hiteldij Mutato) |
| `monthlyPayment` | number | Monthly payment amount in HUF |
| `totalRepayment` | number | Total repayment amount in HUF |
| `loanAmount` | number | Loan or deposit amount in HUF |
| `term` | string | Product term (e.g. "5 ev", "60 honap") |
| `fees` | string | Fee details (origination, management, processing) |
| `currency` | string | Currency code (HUF) |
| `conditions` | array | List of product conditions and requirements |
| `providerUrl` | string | Direct link to provider's product page |
| `url` | string | Bankmonitor source page URL |
| `scrapedAt` | string | ISO 8601 timestamp of data collection |

### Example output

```json
{
    "providerName": "OTP",
    "productName": "OTP Szemelyi Kolcson",
    "category": "loans",
    "interestRate": "14,99%",
    "apr": "15,83%",
    "monthlyPayment": 89500,
    "totalRepayment": 6285000,
    "loanAmount": 5000000,
    "term": "7 ev",
    "fees": "dijmentes online igenylesnel",
    "currency": "HUF",
    "conditions": [
        "Minimum havi netto jovedelem: 154 000 Ft",
        "Minimum eletkor: 21 ev",
        "Legalabb 6 honap munkaviszony"
    ],
    "providerUrl": "https://www.otpbank.hu/portal/hu/Megtakaritasok/SzemelyiKolcson",
    "url": "https://bankmonitor.hu/otp/szemelyi-kolcson/",
    "scrapedAt": "2026-06-09T12:00:00.000Z"
}
````

### Hungarian financial comparison data use cases

- **Rate monitoring** -- Track interest rate changes across Hungarian banks over time
- **Market research** -- Analyze the Hungarian consumer finance landscape and competitive positioning
- **Lead generation** -- Identify the most competitive offers for financial advisory services
- **Regulatory analysis** -- Monitor THM (APR) trends for compliance and reporting
- **Content creation** -- Build data-driven financial comparison content for Hungarian audiences
- **Investment research** -- Track savings and deposit rates to optimize cash allocation
- **Fintech development** -- Feed real-time Hungarian bank data into financial applications

### Proxy configuration

Bankmonitor.hu is a Hungarian website. For best results, use **residential proxies with Hungarian IP addresses**. The default configuration uses Apify residential proxies with HU country targeting.

Datacenter proxies may work but could be blocked. If you experience issues, switch to residential proxies.

### Supported banks

The scraper extracts data from all banks listed on Bankmonitor.hu, including:

- OTP Bank (Hungary's largest bank)
- CIB Bank (Intesa Sanpaolo group)
- Erste Bank Hungary
- K\&H Bank (KBC group)
- MBH Bank (merged from Budapest Bank, MKB, Takarekbank)
- Raiffeisen Bank Hungary
- UniCredit Bank Hungary
- Granit Bank
- MagNet Bank
- Cofidis Hungary
- And more as listed on the platform

### Limitations

- Bankmonitor.hu uses dynamic calculators that generate personalized results. The scraper extracts data from both static content pages and calculator result pages with default parameters.
- Some financial products require specific input parameters (loan amount, income, term) to display results. The scraper uses the site's default values.
- Interest rates and product availability change frequently. Always check the `scrapedAt` timestamp for data freshness.
- Insurance products may have limited structured data compared to loan and savings categories.

### Cost of usage

The actor uses Playwright with residential proxies. A typical run scraping 20 products across one category costs approximately $0.10-0.30 in platform credits depending on the number of pages visited and proxy usage.

# Actor input Schema

## `category` (type: `string`):

Which financial product category to scrape. Each category navigates to different comparison and calculator pages on Bankmonitor.hu.

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

Optional search term to filter results (e.g. 'lakashitel', 'szemelyi kolcson', 'biztositas'). Leave empty to browse the selected category.

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

Maximum number of financial products to scrape.

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

Proxy settings for the browser. Hungarian residential proxies recommended for reliable access to Bankmonitor.hu.

## Actor input object example

```json
{
  "category": "savings",
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "HU"
  }
}
```

# 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 = {
    "category": "savings",
    "searchQuery": "",
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "HU"
    }
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Bankmonitor Scraper - Hungarian Financial Comparison",
        "description": "Scrape financial comparison data from Bankmonitor.hu, Hungary's leading financial comparison platform. Extract loan offers, mortgage rates, savings accounts, credit cards, and insurance products with interest rates, monthly payments, fees, and conditions from 50+ banks. No login or cookies required.",
        "version": "0.1",
        "x-build-id": "TRBHBDOXeC1MrWQLI"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/studio-amba~bankmonitor-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-studio-amba-bankmonitor-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~bankmonitor-scraper/runs": {
            "post": {
                "operationId": "runs-sync-studio-amba-bankmonitor-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~bankmonitor-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-studio-amba-bankmonitor-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": {
                    "category": {
                        "title": "Category",
                        "enum": [
                            "savings",
                            "loans",
                            "mortgages",
                            "creditcards",
                            "insurance"
                        ],
                        "type": "string",
                        "description": "Which financial product category to scrape. Each category navigates to different comparison and calculator pages on Bankmonitor.hu.",
                        "default": "savings"
                    },
                    "searchQuery": {
                        "title": "Search Query",
                        "type": "string",
                        "description": "Optional search term to filter results (e.g. 'lakashitel', 'szemelyi kolcson', 'biztositas'). Leave empty to browse the selected category."
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of financial products to scrape.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings for the browser. Hungarian residential proxies recommended for reliable access to Bankmonitor.hu."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
