# Bezrealitky (`real1ty/bezrealitky`) Actor

Scrapes real estate listings from Bezrealitky.cz including apartments, houses, and commercial properties with detailed information extraction.

- **URL**: https://apify.com/real1ty/bezrealitky.md
- **Developed by:** [Real1ty](https://apify.com/real1ty) (community)
- **Categories:** Real estate
- **Stats:** 70 total users, 7 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Bezrealitky Real Estate Scraper

This Actor scrapes real estate listings from [Bezrealitky.cz](https://www.bezrealitky.cz/), one of the leading Czech real estate platforms. Extract detailed property information for market analysis, investment research, and price tracking.

### Features

- Extracts comprehensive property listings from Bezrealitky.cz
- Supports filtering by location, offer type (rent/sale), property type, and price range
- Automatically retrieves all listings matching your criteria
- Provides detailed property information including:
  - Basic details (price, address, type, disposition)
  - Location data with GPS coordinates
  - Property dimensions (surface area, land area)
  - Financial information (charges, mortgage estimates, discounts)
  - Media content (images, videos, links)
  - Property features and amenities
- Multiple organized data views for easy analysis
- Pay-Per-Event pricing model - only pay for the data you collect

### Output data structure

The Actor provides comprehensive property data in a structured JSON format. Below is an example of a property from Bezrealitky.cz:

#### Complete Property Data

```json
{
  "id": "951482",
  "uri": "951482-nabidka-prodej-bytu-novodvorska-praha",
  "url": "https://www.bezrealitky.cz/nemovitosti-byty-domy/951482-nabidka-prodej-bytu-novodvorska-praha",
  "estateType": "BYT",
  "offerType": "PRODEJ",
  "disposition": "DISP_1_KK",
  "landType": "UNDEFINED",
  "imageAltText": "Studio flat for sale, 36 m², Novodvorská, Praha",
  "mainImage": {
    "id": "26172706",
    "url": "https://api.bezrealitky.cz/media/cache/record_thumb/data/images/advert/951k/951482/1759426586-xcxnuodjxi-626a38e7cc4931-32294216.jpg"
  },
  "publicImages": [
    {
      "id": "26172706",
      "url": "https://api.bezrealitky.cz/media/cache/record_main/data/images/advert/951k/951482/1759426586-xcxnuodjxi-626a38e7cc4931-32294216.jpg",
      "size": {
        "height": 1200,
        "width": 1600
      }
    },
    {
      "id": "26172707",
      "url": "https://api.bezrealitky.cz/media/cache/record_main/data/images/advert/951k/951482/1759426587-fsvsgxcqcj-626a38e8ccd2b4-20375265.jpg",
      "size": {
        "height": 1200,
        "width": 1600
      }
    },
    {
      "id": "26172708",
      "url": "https://api.bezrealitky.cz/media/cache/record_main/data/images/advert/951k/951482/1759426587-thwzxinvsn-626a38e82f8fb4-22345962.jpg",
      "size": {
        "height": 1200,
        "width": 1600
      }
    }
  ],
  "address": "Novodvorská, Prague - Kamýk",
  "surface": 36,
  "surfaceLand": 0,
  "tags": [
    "Equipped",
    "Lift",
    "Balcony 6 m²"
  ],
  "price": 5990000,
  "charges": 0,
  "totalPrice": 5990000,
  "currency": "CZK",
  "petFriendly": null,
  "reserved": false,
  "highlighted": true,
  "roommate": false,
  "project": null,
  "coordinates": {
    "lat": 50.0225825,
    "lng": 14.440491
  },
  "mortgageData": {
    "rateLow": null,
    "rateHigh": null,
    "loan": null,
    "years": null
  },
  "originalPrice": 6200000,
  "isDiscounted": false,
  "nemoreport": null,
  "isNew": true,
  "videos": [],
  "links": [],
  "type": "UNDEFINED",
  "dataJson": "{\"brizCount\":9}",
  "shortTerm": false,
  "source": "bezrealitky",
  "scrapedAt": "2025-10-02T18:03:59.233Z"
}
```

#### Dataset Views

The Actor provides 8 specialized views to organize and analyze your data:

1. **Overview** - Essential property information at a glance
2. **Pricing & Financial Details** - Complete pricing, charges, discounts, and mortgage calculations
3. **Location & Geography** - Address and GPS coordinates
4. **Media Gallery** - Images, videos, and visual content
5. **Property Features & Amenities** - Tags, characteristics, and special features
6. **Property Dimensions** - Surface area and size measurements
7. **Technical & Metadata** - System information and timestamps
8. **Compact View** - Minimal essential information for quick scanning

### Input parameters

Configure the Actor with the following parameters:

| Field         | Type     | Description                                                                                          | Required | Default                                            |
| ------------- | -------- | ---------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------- |
| `location`    | string   | The location to search for properties (e.g., "Brno", "Praha", "Ostrava").                           | Yes      | -                                                  |
| `maxProperties` | number | Maximum number of properties to scrape. Set to 0 for unlimited scraping.                            | No       | 100                                                |
| `offerType`   | array    | Type of offer to filter by. Options: `PRONAJEM` (rent), `PRODEJ` (sale).                           | No       | `["PRONAJEM", "PRODEJ"]`                           |
| `estateType`  | array    | Type of property to filter by. Options: `BYT` (apartment), `DUM` (house), `POZEMEK` (land), `GARAZ` (garage), `KANCELAR` (office). | No | `["BYT", "DUM", "POZEMEK", "GARAZ", "KANCELAR"]` |
| `priceFrom`   | number   | Minimum price filter in CZK. Useful for finding properties within your budget range.                | No       | -                                                  |
| `priceTo`     | number   | Maximum price filter in CZK. Useful for finding properties within your budget range.                | No       | -                                                  |

#### Example Configurations

##### Rental Apartments in Brno

```json
{
  "location": "Brno",
  "maxProperties": 50,
  "offerType": ["PRONAJEM"],
  "estateType": ["BYT"],
  "priceFrom": 10000,
  "priceTo": 25000
}
```

##### Houses for Sale in Prague

```json
{
  "location": "Praha",
  "maxProperties": 100,
  "offerType": ["PRODEJ"],
  "estateType": ["DUM"],
  "priceFrom": 5000000,
  "priceTo": 15000000
}
```

### Expected Cost

This Actor uses a **Pay-Per-Event (PPE)** pricing model, which means you are charged based on the specific data elements scraped rather than compute time. Costs are transparent and proportional to the amount of data collected, making it cost-effective for both small and large-scale operations.

#### Pricing Structure

| Event Type       | Description                               | Price (USD)                                                                                    |
| ---------------- | ----------------------------------------- | ---------------------------------------------------------------------------------------------- |
| Actor Start      | Flat fee for starting the Actor           | $0.00005                                                                                       |
| Property Scraped | Cost per property scraped with full data  | $0.002 (No discount)<br>$0.0018 (Bronze)<br>$0.0016 (Silver)<br>$0.0014 (Gold) |

**Volume Discounts:** Higher subscription tiers (Bronze, Silver, Gold) receive automatic discounts on the per-property cost, making large-scale scraping more economical.

#### Cost Scenarios

##### Small-Scale Run (50 Properties)

For monitoring a specific neighborhood or market segment with 50 properties:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 50 × $0.002 = $0.100
- **Total estimated cost: $0.10005**

With Gold discount:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 50 × $0.0014 = $0.070
- **Total estimated cost: $0.07005 (30% savings)**

##### Medium-Scale Run (100 Properties - Default)

For comprehensive market analysis with the default 100 properties:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 100 × $0.002 = $0.200
- **Total estimated cost: $0.20005**

With Gold discount:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 100 × $0.0014 = $0.140
- **Total estimated cost: $0.14005 (30% savings)**

##### Large-Scale Run (500 Properties)

For extensive market research covering an entire city:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 500 × $0.002 = $1.000
- **Total estimated cost: $1.00005**

With Gold discount:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 500 × $0.0014 = $0.700
- **Total estimated cost: $0.70005 (30% savings)**

##### Enterprise-Scale Run (2,000 Properties)

For comprehensive nationwide or multi-city analysis:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 2,000 × $0.002 = $4.000
- **Total estimated cost: $4.00005**

With Gold discount:

- Actor start: 1 × $0.00005 = $0.00005
- Properties scraped: 2,000 × $0.0014 = $2.800
- **Total estimated cost: $2.80005 (30% savings)**

#### Cost Optimization Tips

- **Use targeted filters**: Narrow down your search with `priceFrom`, `priceTo`, `estateType`, and `offerType` to scrape only relevant properties
- **Set maxProperties**: Limit the number of properties to avoid unnecessary costs
- **Consider subscription tiers**: If you're running regular or large-scale scrapes, higher tiers offer significant savings

### Data Uses

The data extracted by this Actor can be used for:

- **Real estate market analysis**: Track pricing trends, property availability, and market dynamics in specific locations
- **Investment research**: Identify undervalued properties and emerging market opportunities
- **Price tracking**: Monitor price changes over time for specific properties or areas
- **Market comparison**: Compare different neighborhoods, property types, and price ranges
- **Database building**: Create comprehensive property databases for real estate portals or applications
- **Academic research**: Study urban development, housing affordability, and real estate economics
- **Business intelligence**: Support decision-making for real estate agencies, investors, and developers
- **Automated alerts**: Set up notifications for new properties matching specific criteria

### Feature Requests and Bug Reports

If you need additional data from Bezrealitky that is not currently being scraped by this Actor or want to request any additional features, please open an issue on the Apify platform. Describe the specific data points you need and their location on the website, and we'll consider implementing these features in future updates.

Similarly, if you encounter any bugs or issues while using this Actor, please report them through the issue tracker with:

- Detailed steps to reproduce the issue
- Your input configuration (sanitized if necessary)
- Expected vs. actual behavior
- Screenshots or error messages (if applicable)

We're committed to maintaining and improving this Actor based on user feedback.

### Support the Project

If you find this Actor useful, please consider:

- ⭐ **Rating it** on the Apify platform
- 📝 **Writing a review** about your experience
- 🔄 **Sharing it** with colleagues who work with Czech real estate data
- 💡 **Providing feedback** on features or improvements you'd like to see

Your feedback helps improve the Actor and guides future development priorities. Thank you for your support!

# Actor input Schema

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

City/region to scrape (e.g., 'Prague', 'Brno').

## `maxProperties` (type: `integer`):

Maximum number of properties to scrape. Set to 0 for unlimited.

## `offerType` (type: `array`):

Type of offers to scrape.

## `estateType` (type: `array`):

Types of properties to scrape.

## `priceFrom` (type: `integer`):

Minimum price filter.

## `priceTo` (type: `integer`):

Maximum price filter.

## Actor input object example

```json
{
  "location": "Prague",
  "maxProperties": 100,
  "offerType": [
    "PRONAJEM",
    "PRODEJ"
  ],
  "estateType": [
    "BYT",
    "DUM"
  ]
}
```

# 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 = {
    "location": "Prague"
};

// Run the Actor and wait for it to finish
const run = await client.actor("real1ty/bezrealitky").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 = { "location": "Prague" }

# Run the Actor and wait for it to finish
run = client.actor("real1ty/bezrealitky").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 '{
  "location": "Prague"
}' |
apify call real1ty/bezrealitky --silent --output-dataset

```

## MCP server setup

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

```

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/3hAhMwKGW3wVw9kiL/builds/KjnVDCNc1IxF0uUsD/openapi.json
