Bezrealitky Property Scraper - Czech Real Estate Listings avatar

Bezrealitky Property Scraper - Czech Real Estate Listings

Pricing

from $1.32 / 1,000 property searches

Go to Apify Store
Bezrealitky Property Scraper - Czech Real Estate Listings

Bezrealitky Property Scraper - Czech Real Estate Listings

Scrape bezrealitky.cz, the Czech property portal where owners list without an agent. Flats, houses, land and cottages for rent or sale: price, monthly charges, deposit, floor area, layout, energy class, GPS, full description and every photo.

Pricing

from $1.32 / 1,000 property searches

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Bezrealitky Scraper: Czech Owner Listings for Rent & Sale 🏠

SIÁN Agency Store Sreality Scraper Willhaben Property Scraper Otodom Property Scraper

🎉 Every owner listing on bezrealitky.cz, with rent, charges, deposit, photos and GPS in one row

For Prague renters, relocation desks, investors and analysts who want the part of the Czech market agencies never list

🔎 What is the Bezrealitky Scraper — and when should you use it?

The Bezrealitky Scraper turns public Czech property listings from bezrealitky.cz, the portal where owners rent and sell without an agent into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: flats, houses, land, garages, offices or cottages in the Czech Republic for rent or for sale, and especially the owner-posted listings that agency portals do not carry. Every row has the price or monthly rent, with service charges, utilities and deposit in their own columns. It also carries the floor area, the Czech layout (1+kk, 2+1), furnished status, floor, energy class, the address with GPS, the full description and every photo. A flag says whether the owner posted it on the site or it came in from a partner feed.

Use something else when: you need agency listings or the whole Czech market. Use Sreality Scraper for the largest Czech portal, with agency stock and private sellers. This actor covers bezrealitky.cz listings only. Owners are contacted through the site's own messaging, so no phone number or e-mail is returned, and asking prices are not sold prices.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/bezrealitky-property-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want Czech rental and sale listings posted by owners on bezrealitky.cz using the Apify Actor `sian.agency/bezrealitky-property-scraper`.
Use it when I need: flats, houses, land, garages, offices or cottages in the Czech Republic for rent or for sale, and especially the owner-posted listings that agency portals do not carry. Every row has the price or monthly rent, with service charges, utilities and deposit in their own columns. It also carries the floor area, the Czech layout (1+kk, 2+1), furnished status, floor, energy class, the address with GPS, the full description and every photo. A flag says whether the owner posted it on the site or it came in from a partner feed.
Don't use it when: you need agency listings or the whole Czech market — use sreality-property-scraper instead.
How to call it: set `operation` to `search`, pick `dealType` (`pronajem` for rent, `prodej` for sale) and `propertyType` (`byt`, `dum`, `pozemek`, `garaz`, `kancelar`, `nebytovy-prostor`, `chata-chalupa`), then choose `locations` from the list (`praha`, `brno`, `jihomoravsky-kraj`, `ceska-republika` and so on). Narrow with `dispositions`, `minPrice`, `maxPrice`, `minArea`, `maxArea`, `ownership`, `buildingTypes`, `furnished` and `postedDirectlyOnly`. For a town or Prague quarter that is not in the list, paste its bezrealitky.cz results page into `searchUrls`. To look up listings you already have, set `operation` to `detail` and pass `listingUrls`.
Start with this input:
{
"operation": "search",
"dealType": "pronajem",
"propertyType": "byt",
"locations": [
"praha"
],
"dispositions": [
"2+kk",
"2+1"
],
"maxPrice": 30000,
"postedDirectlyOnly": true,
"maxResults": 200
}
Ask me which place and whether they want rentals or sales, and the rent or price ceiling, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • List every furnished 2+kk flat for rent in Prague under 30,000 CZK that an owner posted, with the deposit and monthly charges.
  • Pull all owner-listed flats for sale in Brno and rank them by price per square metre.
  • Find Prague rentals whose price was cut, sorted by the biggest cut, with days on the market.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/bezrealitky-property-scraper.md.

📋 Overview

Bezrealitky.cz is where Czech owners rent and sell without an agent. This actor turns its listings into clean rows you can filter, export or feed to a spreadsheet, a database or an AI agent.

What you get:

  • ✅ The full listing in every search row: description, every photo and every parameter come back with the search itself, so there is no second lookup to pay for
  • 🧾 The true monthly cost of a rental: rent, service charges, utilities and deposit sit in separate columns
  • 🙋 Owner stock, flagged: each row says whether the owner posted it on bezrealitky.cz or it arrived from a partner feed, and one checkbox keeps owners only
  • 🎯 Every filter the site has: layout (1+kk, 2+1…), price, floor area, panel or brick, ownership, furnished, sort order
  • 🗺️ Places by name: all 14 regions, the main cities and the Prague and Brno commuter districts are in a dropdown, and any other town works by pasting its page
  • 💰 Pay per listing: you are charged for listings returned, never for a search that matched nothing or a URL we could not read

✨ Features

  • 🏢 Flats, houses, land, garages, offices, commercial space and cottages, for rent or for sale
  • 🧾 Rent, charges, utilities, deposit and price per m² as numbers, not text
  • 🛋️ Furnished, floor, lift, balcony, terrace, cellar, parking and garage on every row that states them
  • ⚡ Energy class, building type, condition and ownership (personal, cooperative or municipal)
  • 📍 Street, city district, ZIP, RÚIAN address code and GPS for mapping and geocoding
  • 🗓️ Days listed, view count, available from and a price-cut flag with the original price
  • 🖼️ Every photo URL, the main photo as a thumbnail, and video links when the listing has them
  • 🇬🇧 English title and description whenever the owner wrote one
  • 🔗 Listing lookup by URL for listings you already track

🎬 Quick Start

Pick rent or sale, a property type and one or more places, then press Start. The run reads bezrealitky.cz's listings for those places and saves one row per listing. Use Max listings to decide how many you pay for.

curl -X POST "https://api.apify.com/v2/acts/sian.agency~bezrealitky-property-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"operation": "search", "dealType": "pronajem", "propertyType": "byt", "locations": ["praha"], "maxResults": 100}'

🚀 Getting Started (3 Simple Steps)

Pick For rent or For sale, a property type, and the places you care about.

Step 2: Narrow it down (optional)

Add layouts, a price or area band, furnished, building type, or tick Posted directly on Bezrealitky only.

Step 3: Run and export

Press Start, then download the dataset as JSON, CSV or Excel, or open the Processing Report.

That's it. In under a minute you'll have:

  • Every matching listing with price, charges and floor area
  • The address, district and GPS of each one
  • The full description and photo set, ready to review

📥 Input Configuration

FieldTypeRequiredDescription
operationstringNosearch (default) or detail for listing URLs you already have
dealTypestringNopronajem (rent, default) or prodej (sale)
propertyTypestringNobyt, dum, pozemek, garaz, kancelar, nebytovy-prostor, chata-chalupa
locationsarrayNoPlaces from the list, e.g. praha, brno, jihomoravsky-kraj, ceska-republika
dispositionsarrayNoLayouts such as 1+kk, 2+1, 3+kk
minPrice / maxPriceintegerNoPrice band in CZK (monthly rent for rentals)
minArea / maxAreaintegerNoFloor-area band in m²
ownershipstringNoany, osobni, druzstevni, obecni
buildingTypesarrayNopanel, brick, wood, stone, prefab, skeleton, mixed
furnishedstringNoany, vybaveny, castecne, nevybaveny
postedDirectlyOnlybooleanNoKeep only listings people posted on bezrealitky.cz themselves
sortstringNonewest, price_asc, price_desc, area_desc, area_asc, discount
maxResultsintegerNoStop after this many listings across the run (default 100); Property Detail ignores it
searchUrlsarrayNobezrealitky.cz results pages; place and the page's own filters are read from the address
listingUrlsarrayNoListing URLs for the Property Detail operation

Example: owner-posted 2+kk rentals in Prague under 30,000 CZK

{
"operation": "search",
"dealType": "pronajem",
"propertyType": "byt",
"locations": ["praha"],
"dispositions": ["2+kk"],
"maxPrice": 30000,
"postedDirectlyOnly": true,
"maxResults": 200
}

Example: a Prague quarter that is not in the list

{
"operation": "search",
"searchUrls": [{ "url": "https://www.bezrealitky.cz/vypis/nabidka-pronajem/byt/praha-chodov" }]
}

Example: listings you already have

{
"operation": "detail",
"listingUrls": [{ "url": "https://www.bezrealitky.cz/nemovitosti-byty-domy/1071664-nabidka-prodej-bytu-steinerova-praha" }]
}

📤 Output

Each listing is one row with 65+ fields. The most useful ones:

FieldTypeDescription
thumbnailstringMain photo
propertyTitlestringListing title as shown on the site
pricenumberAsking price, or monthly rent without charges
currencystringCZK for Czech listings (EUR for the German partner listings)
monthlyChargesnumberService charges plus utilities per month
depositnumberDeposit asked by the owner
areaM2numberFloor area in m²
pricePerM2numberPrice divided by floor area
dispositionstringCzech layout: 1+kk, 2+1, studio…
cityDistrictstringCity and district, e.g. "Praha - Nusle"
latitude / longitudenumberGPS position
furnishedstringfurnished, partly furnished or unfurnished
energyClassstringEnergy label A to G
daysOnMarketnumberDays since the listing went up
postedDirectlybooleantrue when the owner posted it on bezrealitky.cz
partnerSourcestringWhich partner feed the listing came from, if any
propertyTextstringFull description
imageUrlsarrayEvery photo
listingUrlstringLink to the listing

Example row (trimmed):

{
"listingId": "1064210",
"listingUrl": "https://www.bezrealitky.cz/nemovitosti-byty-domy/1064210-nabidka-pronajem-bytu-lomnickeho-praha",
"propertyTitle": "Pronájem bytu 2+kk 70 m²",
"dealType": "rent",
"propertyType": "flat",
"disposition": "2+kk",
"price": 16000,
"currency": "CZK",
"originalPrice": 18000,
"isDiscounted": true,
"monthlyCharges": 8000,
"serviceCharges": 2000,
"utilityCharges": 6000,
"deposit": 24000,
"areaM2": 70,
"pricePerM2": 229,
"floor": 5,
"buildingType": "brick",
"furnished": "unfurnished",
"energyClass": "G",
"cityDistrict": "Praha - Nusle",
"street": "Lomnického",
"zip": "140 00",
"latitude": 50.0568146,
"longitude": 14.4327211,
"availableFrom": "2026-09-16",
"daysOnMarket": 20,
"viewCount": 1159,
"imageCount": 5,
"postedDirectly": true,
"status": "success"
}

A search that matches nothing returns no rows and costs nothing beyond the run start. A listing URL we cannot read gets an error row with the reason, and error rows are never charged.


💼 Use Cases & Examples

1. Prague rental market tracking

Relocation agencies and analysts see the true monthly cost of a Prague flat.

Input: For rent, Flats, Praha, sorted by newest. Output: Rent, charges, deposit, m² and district for every listing. Use: Rent per m² by district, updated weekly on a schedule.

2. Owner-direct deal sourcing

Buyers and small investors see owner sales the day they go up.

Input: For sale, Flats, Brno, Posted directly on Bezrealitky only, Max listings 50, run daily. Output: New owner listings with price per m², condition, ownership and photos. Use: Contact owners before the listing collects a hundred messages.

3. Tenant shortlists for relocation desks

HR and relocation teams build shortlists without opening a single listing page.

Input: For rent, Flats, Praha, 2+kk and 3+kk, Furnished, max 35,000 CZK. Output: Furnished flats with availability date, deposit, floor and lift. Use: A shortlist sent to the incoming employee the same afternoon.

4. Price-cut and time-on-market signals

Negotiators spot owners who are ready to move on price.

Input: For sale, Flats, Praha, sorted by biggest price cut. Output: Original price, current price, days listed and views. Use: A call list of owners who have already cut once.

5. Proptech and research datasets

Researchers get a clean, geocoded owner-market sample.

Input: All of Czechia, For rent and For sale in two runs. Output: Rows with RÚIAN address codes and GPS, ready to join with public data. Use: Compare owner asking prices against agency portals such as Sreality.

6. Holiday cottage inventory

Travel and rental businesses map cottages for rent by region.

Input: For rent, Cottages, Liberecký kraj. Output: Cottages with GPS, description and photos. Use: A regional supply map for the holiday season.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/bezrealitky-property-scraper').call({
operation: 'search',
dealType: 'pronajem',
propertyType: 'byt',
locations: ['praha'],
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/bezrealitky-property-scraper').call(
run_input={'operation': 'search', 'dealType': 'prodej', 'propertyType': 'byt', 'locations': ['brno'], 'maxResults': 100}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['propertyTitle'], item.get('price'), item.get('cityDistrict'))

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~bezrealitky-property-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "search", "dealType": "pronajem", "propertyType": "byt", "locations": ["praha"], "maxResults": 50}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: a daily schedule
  2. HTTP Request: run the actor with Newest first and a small Max listings
  3. Process: keep rows you have not seen, by listingId
  4. Action: post them to Slack, a sheet or your CRM

📊 Performance & Pricing

FREE plan (try it now)

  • 25 listings per run with every field included
  • 10 free runs a day on this actor (30 in total), reset at midnight UTC
  • No credit card required
  • Unlimited listings per run
  • Discounts on higher Apify plans
  • Pay per listing returned; errors and empty searches are never charged

A run of 100 listings finishes in well under a minute, because one request returns 100 full listings.

🔗 View current pricing


❓ Frequently Asked Questions

Q: Do I need an account or an API key? A: No. Pick rent or sale, a property type and a place, then press Start.

Q: Is this the same data as Sreality? A: Largely not. When we compared the same Prague, Brno and Ostrava searches on both sites, about four in five owner-posted rentals and roughly half of the owner-posted sales on bezrealitky.cz were not on Sreality. Our Sreality Scraper returns the same kind of row if you need both.

Q: Why do some rows have no price? A: Some listings, mostly holiday cottages, are marked price on request, and a few carry a symbolic price under 100 CZK. Both come back with an empty price and priceOnRequest set to true, rather than a misleading number.

Q: Why are some listings in Germany? A: The site also carries German owner listings from a partner. They appear only when you pick Germany, or paste a results page that names no place. Tick Posted directly on Bezrealitky only to leave out every partner feed.

Q: Can I search a single Prague quarter such as Chodov? A: Yes. Open that quarter on bezrealitky.cz and paste the address of its results page into Search page URLs. Every row also carries the city district, so a whole-Prague run can be split afterwards.

Q: Does it return the owner's phone number? A: No. Owners are contacted through bezrealitky.cz's own messaging, and their contact details are not public.

Q: What does Property Detail cost compared with a search? A: A search row is already the full record. Property Detail is only for listing URLs you already have, and bills one Property Detail event per listing.

Q: What export formats are available? A: JSON, CSV, Excel, XML and HTML, straight from the Apify dataset.


🐛 Troubleshooting

The run returned no listings

  • The filters may be too narrow for that place: widen the price or area band, or remove a layout.
  • Small towns have few owner listings; try the region instead of the city.

A place I need is not in the list

  • Open it on bezrealitky.cz, copy the address of the results page and paste it into Search page URLs. Price, area, layout, building and furnished filters set on that page come along.

A listing URL came back as an error row

  • The listing has been rented, sold or withdrawn. Error rows are not charged.

I got fewer listings than I expected

  • Max listings applies to the whole run, across every place. Raise it, or run one place per run.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Bezrealitky is a trademark of its owner. This actor is not affiliated with, endorsed by, or sponsored by Bezrealitky.


🤝 Support

Join our active support community


Built by SIÁN Agency | More Tools