# Ingatlan Scraper -- Hungarian Real Estate Listings (`studio-amba/ingatlan-scraper`) Actor

Scrape real estate listings from ingatlan.com -- Hungary's #1 property portal. Get prices, addresses, property details, photos, room counts, and agency info for properties for sale or rent. No login or cookies required.

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

## Ingatlan Scraper

Scrape real estate listings from ingatlan.com -- Hungary's largest and most-visited property portal. No login or cookies required.

### How to scrape Ingatlan data

1. Go to the [Ingatlan Scraper](https://apify.com/studio-amba/ingatlan-scraper) page on Apify Store.
2. Click "Try for free" to open the actor in Apify Console.
3. Set your search filters -- listing type (buy/rent), location, property type, price range, and room count.
4. Click "Start" and wait for the run to finish.
5. Download your data as JSON, CSV, Excel, or connect it to your pipeline via API.

No API key, no login, no cookies needed. The actor handles Cloudflare protection and pagination automatically.

### Why use this actor?

Real estate investors, relocation agencies, and proptech companies need reliable Hungarian property data. This actor extracts structured listing data from ingatlan.com including prices, addresses, room counts, floor areas, energy ratings, and agency info -- ready for market analysis, price comparison, or portfolio monitoring.

Ingatlan.com is Hungary's dominant real estate portal with tens of thousands of active listings covering both sales and rentals across the entire country.

### Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `listingType` | String | No | `elado` (buy, default) or `kiado` (rent) |
| `location` | String | No | City or district in Hungarian (e.g. `budapest`, `debrecen`, `szeged`) |
| `propertyType` | String | No | `lakas` (apartment), `haz` (house), `telek` (land), `garázs`, `iroda`, or `uzlethelyiseg` |
| `minPrice` | Integer | No | Minimum price in HUF |
| `maxPrice` | Integer | No | Maximum price in HUF |
| `minSize` | Integer | No | Minimum floor area in m2 |
| `maxSize` | Integer | No | Maximum floor area in m2 |
| `minRooms` | Number | No | Minimum number of rooms |
| `maxRooms` | Number | No | Maximum number of rooms |
| `maxResults` | Integer | No | Maximum results to return (default: 100) |
| `proxyConfiguration` | Object | No | Proxy settings (Hungarian residential proxy required) |

### Output

Each result contains:

| Field | Type | Example |
|-------|------|---------|
| `listingId` | String | `"34567890"` |
| `listingTitle` | String | `"Budapest, XIII. kerulet, Angyalfold"` |
| `price` | Number | `45900000` |
| `currency` | String | `"HUF"` |
| `pricePerSqm` | Number | `850000` |
| `listingType` | String | `"sale"` or `"rent"` |
| `propertyType` | String | `"lakas"` |
| `address` | String | `"Budapest, XIII. kerulet"` |
| `city` | String | `"Budapest"` |
| `district` | String | `"XIII. kerulet"` |
| `rooms` | Number | `2` |
| `halfRooms` | Number | `1` |
| `surface` | Number | `54` |
| `landSurface` | Number | `null` |
| `floor` | String | `"3"` |
| `condition` | String | `"felujitott"` |
| `heating` | String | `"egyedi gaz (cirko)"` |
| `energyRating` | String | `"C"` |
| `balcony` | Boolean | `true` |
| `parking` | String | `"teremgarazs"` |
| `agencyName` | String | `"Duna House"` |
| `agencyUrl` | String | Agency profile URL |
| `imageUrl` | String | Primary listing photo URL |
| `imageUrls` | Array | All listing photo URLs |
| `description` | String | Full listing description text |
| `url` | String | Full listing URL on ingatlan.com |
| `scrapedAt` | String | `"2026-06-07T12:00:00.000Z"` |

### Example output

```json
{
    "listingId": "34567890",
    "listingTitle": "Budapest, XIII. kerulet, Angyalfold",
    "price": 45900000,
    "currency": "HUF",
    "pricePerSqm": 850000,
    "listingType": "sale",
    "propertyType": "lakas",
    "address": "Budapest, XIII. kerulet, Angyalfold",
    "city": "Budapest",
    "district": "XIII. kerulet",
    "rooms": 2,
    "halfRooms": 1,
    "surface": 54,
    "landSurface": null,
    "floor": "3",
    "condition": "felujitott",
    "heating": "egyedi gaz (cirko)",
    "energyRating": "C",
    "balcony": true,
    "parking": null,
    "agencyName": "Duna House",
    "agencyUrl": "https://ingatlan.com/iroda/duna-house",
    "imageUrl": "https://img.ingatlan.com/photo/34567890_1.jpg",
    "imageUrls": [
        "https://img.ingatlan.com/photo/34567890_1.jpg",
        "https://img.ingatlan.com/photo/34567890_2.jpg"
    ],
    "description": "Felujitott 2+1 felszobas lakas a XIII. keruletben...",
    "url": "https://ingatlan.com/lakas/34567890",
    "scrapedAt": "2026-06-07T12:00:00.000Z"
}
````

### Cost estimate

This actor uses PlaywrightCrawler with Hungarian residential proxy due to Cloudflare protection. Expect approximately **5-10 compute units per 100 results**. At standard Apify pricing, that's roughly **$0.25-0.50 per 100 listings**.

### Limitations

- Ingatlan.com uses Cloudflare Turnstile bot protection -- Hungarian residential proxies are required
- Some requests may be blocked; the actor retries automatically with fresh browser sessions
- Data is scraped from the public website and may change without notice
- Detail page data (description, full specs) requires visiting each listing individually, increasing run time
- Prices are in HUF (Hungarian Forint) unless listed in EUR by the seller

### Use cases

- **Market analysis** -- track asking prices, price-per-m2, and listing volumes across Hungarian cities and districts.
- **Investment research** -- compare property prices in Budapest districts or across regional cities like Debrecen, Szeged, and Pecs.
- **Relocation planning** -- search rental listings by area, room count, and budget for employees or families moving to Hungary.
- **Real estate CRM enrichment** -- import listings with agency info, photos, and property specs into your pipeline.
- **Competitor monitoring** -- watch how nearby listings are priced and how quickly they sell.
- **Proptech dashboards** -- build rental-yield and ROI models on fresh ingatlan.com inventory.

### Support

Hit a bug or a missing field? Open an issue on the Actor page -- we respond fast and ship fixes within 24 hours. Every published scraper in the Studio Amba catalog is monitored daily; broken runs trigger an automatic heal cycle.

# Actor input Schema

## `listingType` (type: `string`):

Filter by sale (elado) or rent (kiado).

## `location` (type: `string`):

City or district name in Hungarian (e.g. 'budapest', 'debrecen', 'szeged', 'budapest+XIII.+kerulet'). Leave empty for all Hungary.

## `propertyType` (type: `string`):

Filter by property type.

## `minPrice` (type: `integer`):

Minimum price filter in Hungarian Forint.

## `maxPrice` (type: `integer`):

Maximum price filter in Hungarian Forint.

## `minSize` (type: `integer`):

Minimum floor area in square meters.

## `maxSize` (type: `integer`):

Maximum floor area in square meters.

## `minRooms` (type: `number`):

Minimum number of rooms. Use 0.5 for half-rooms.

## `maxRooms` (type: `number`):

Maximum number of rooms.

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

Maximum number of listings to return.

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

Proxy settings. Hungarian residential proxies required -- ingatlan.com uses Cloudflare Turnstile bot protection.

## Actor input object example

```json
{
  "listingType": "elado",
  "location": "budapest",
  "propertyType": "lakas",
  "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 = {
    "listingType": "elado",
    "location": "budapest",
    "propertyType": "lakas",
    "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/ingatlan-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 = {
    "listingType": "elado",
    "location": "budapest",
    "propertyType": "lakas",
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "HU",
    },
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Ingatlan Scraper -- Hungarian Real Estate Listings",
        "description": "Scrape real estate listings from ingatlan.com -- Hungary's #1 property portal. Get prices, addresses, property details, photos, room counts, and agency info for properties for sale or rent. No login or cookies required.",
        "version": "0.1",
        "x-build-id": "qJ8ANyUdrE9vlPeyo"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/studio-amba~ingatlan-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-studio-amba-ingatlan-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~ingatlan-scraper/runs": {
            "post": {
                "operationId": "runs-sync-studio-amba-ingatlan-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~ingatlan-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-studio-amba-ingatlan-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": {
                    "listingType": {
                        "title": "Listing Type",
                        "enum": [
                            "elado",
                            "kiado"
                        ],
                        "type": "string",
                        "description": "Filter by sale (elado) or rent (kiado).",
                        "default": "elado"
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or district name in Hungarian (e.g. 'budapest', 'debrecen', 'szeged', 'budapest+XIII.+kerulet'). Leave empty for all Hungary.",
                        "default": ""
                    },
                    "propertyType": {
                        "title": "Property Type",
                        "enum": [
                            "",
                            "lakas",
                            "haz",
                            "telek",
                            "garázs",
                            "iroda",
                            "uzlethelyiseg"
                        ],
                        "type": "string",
                        "description": "Filter by property type.",
                        "default": ""
                    },
                    "minPrice": {
                        "title": "Minimum Price (HUF)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum price filter in Hungarian Forint."
                    },
                    "maxPrice": {
                        "title": "Maximum Price (HUF)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum price filter in Hungarian Forint."
                    },
                    "minSize": {
                        "title": "Minimum Size (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum floor area in square meters."
                    },
                    "maxSize": {
                        "title": "Maximum Size (m2)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum floor area in square meters."
                    },
                    "minRooms": {
                        "title": "Minimum Rooms",
                        "minimum": 0,
                        "type": "number",
                        "description": "Minimum number of rooms. Use 0.5 for half-rooms."
                    },
                    "maxRooms": {
                        "title": "Maximum Rooms",
                        "minimum": 0,
                        "type": "number",
                        "description": "Maximum number of rooms."
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of listings to return.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Hungarian residential proxies required -- ingatlan.com uses Cloudflare Turnstile bot protection."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
