Bezrealitky Real Estate Scraper avatar

Bezrealitky Real Estate Scraper

Pricing

Pay per event

Go to Apify Store
Bezrealitky Real Estate Scraper

Bezrealitky Real Estate Scraper

Scrape direct-owner property listings from Bezrealitky search pages with prices, locations, photos, amenities, and listing URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Scrape public direct-owner real estate listings from Bezrealitky search pages into clean, analysis-ready data.

Use this actor when you need current Czech, Slovak, or German property inventory from Bezrealitky without copying listings by hand. It accepts one or more public search URLs, follows listing pagination, normalizes pricing and property attributes, and returns one dataset row per listing.

What does Bezrealitky Real Estate Scraper do?

Bezrealitky Real Estate Scraper extracts structured data from public Bezrealitky listing/search pages.

It is designed for repeatable monitoring, spreadsheet exports, and API workflows:

  • 🏠 Scrapes public sale and rental search URLs.
  • 📍 Captures address text and GPS coordinates when Bezrealitky exposes them.
  • 💰 Normalizes price, currency, monthly charges, original price, and discount flags.
  • 📐 Extracts floor area, land area, disposition, estate type, and offer type.
  • 🖼️ Returns main image and image gallery URLs.
  • 🔁 Follows pagination until maxResults is reached.
  • ⚡ Uses HTTP extraction from server-rendered page data, so runs are fast and inexpensive.

Who is it for?

Real estate investors

Track direct-owner apartments and houses before they are manually entered into your own valuation model.

Typical investor questions:

  • Which Prague 2+kk listings were newly added this week?
  • Which apartments have a lower price than similar units in the same district?
  • Which listings include parking, balcony, terrace, or garden tags?

Brokers and buyer agents

Monitor owner-listed inventory and keep clients informed about new opportunities that are not always visible in agency feeds.

Useful broker workflows:

  • Daily watchlists for client search criteria.
  • Quick exports for comparable listings.
  • Lead prioritization based on price, surface, location, and listing age signals.

Proptech and analytics teams

Feed public listing data into dashboards, pricing models, internal APIs, or market intelligence products.

Common proptech use cases:

  • Inventory trend tracking by offer type and city.
  • Direct-owner supply monitoring.
  • Geo-analysis using latitude and longitude.
  • Enrichment pipelines that combine listings with neighborhood or transport data.

Relocation consultants and researchers

Create repeatable snapshots of rental or sale markets for specific regions, budgets, and property types.

Research examples:

  • Compare rental availability across Prague, Brno, Bratislava, or Berlin-focused pages.
  • Track surface and price distribution by disposition.
  • Build recurring datasets for market reports.

Why use this actor?

Manual copy-paste from real estate portals is slow, inconsistent, and hard to repeat. This actor gives you a stable dataset structure that works in exports, APIs, and scheduled runs.

Key benefits:

  • Fast HTTP runs — no browser is launched for normal search scraping.
  • Normalized output — numbers are numbers, booleans are booleans, and URLs are complete.
  • Direct-owner focus — Bezrealitky specializes in owner-to-buyer/renter listings.
  • Pagination support — start from a search URL and let the actor collect more rows.
  • Optional detail pages — enable richer descriptions only when you need them.
  • Low-cost monitoring — pay per run and per listing, with tiered per-result discounts.

What data can you extract?

The default dataset contains one row per property listing.

FieldTypeDescription
idstringBezrealitky listing identifier
urlstringCanonical listing URL
titlestringListing title as shown by Bezrealitky
offerTypestringSale/rent offer type, for example PRODEJ
estateTypestringProperty category, for example apartment or house
dispositionstringLayout/disposition value when available
addressstringPublic address/locality text
pricenumberAsking price
originalPricenumberPrevious/original price when exposed
currencystringCurrency code, usually CZK
chargesnumberMonthly charges/fees when exposed
surfacenumberInterior floor area in square meters
surfaceLandnumberLand area in square meters when available
latitudenumberLatitude when available
longitudenumberLongitude when available
tagsarrayListing tags such as parking, furnished, new building
imageUrlsarrayImage gallery URLs
mainImageUrlstringPrimary listing image URL
isNewbooleanWhether Bezrealitky marks the listing as new
isReservedbooleanWhether the listing is reserved
isHighlightedbooleanWhether Bezrealitky highlights the listing
isDiscountedbooleanWhether the listing is discounted
descriptionstringDetail-page text when includeDetails is enabled
scrapedAtstringISO timestamp of extraction

How much does it cost to scrape Bezrealitky listings?

This actor uses Apify pay-per-event pricing:

  • Start event: $0.005 per run.
  • Result event: charged once for each listing extracted.
  • Bronze per-listing price: $0.00007641.
  • Free tier per-listing price: $0.000087872.
  • Higher Apify subscription tiers receive lower per-listing prices.

Approximate user-facing cost examples before any Apify platform credits or discounts:

Run sizeFormula at Free tierEstimated charge
20 listings$0.005 + 20 × $0.000087872$0.0068
100 listings$0.005 + 100 × $0.000087872$0.0138
500 listings$0.005 + 500 × $0.000087872$0.0489
1,000 listings$0.005 + 1,000 × $0.000087872$0.0929

If you are on Apify's Free plan, your included platform credits should cover many small monitoring runs. For example, a 100-listing run is roughly one to two cents at the Free-tier event price. Your final bill can also include Apify platform usage according to your account plan.

Pricing tiers

Per-listing result prices currently configured for this actor:

TierPrice per listing
FREE$0.000087872
BRONZE$0.00007641
SILVER$0.0000596
GOLD$0.000045846
PLATINUM$0.000030564
DIAMOND$0.000021395

The actor also charges the fixed $0.005 start event once per run.

How to use

  1. Open Bezrealitky and create the search you want to monitor.
  2. Copy the public search/listing URL from your browser.
  3. Paste it into startUrls.
  4. Set maxResults to control run size and cost.
  5. Keep includeDetails disabled for broad, fast monitoring.
  6. Enable includeDetails only if you need long descriptions from detail pages.
  7. Run the actor.
  8. Download results from the dataset as JSON, CSV, Excel, XML, or RSS.

Input configuration

InputTypeDefaultDescription
startUrlsarraysample sale URLOne or more public Bezrealitky search URLs
maxResultsinteger50Maximum listings to return across all URLs
includeDetailsbooleanfalseOpen listing detail pages for richer text
maxRequestRetriesinteger3Retry count for transient HTTP failures

Example input:

{
"startUrls": [
"https://www.bezrealitky.cz/vypis/nabidka-prodej/byt"
],
"maxResults": 100,
"includeDetails": false,
"maxRequestRetries": 3
}

Search URL examples

Use URLs copied from Bezrealitky after applying your filters.

Good inputs include:

  • Public sale apartment search pages.
  • Public rental apartment search pages.
  • City or region filtered searches.
  • Search pages with price, layout, or surface filters already applied.

Avoid inputs that require login, saved-account state, or private user sessions.

Output example

A typical dataset item looks like this:

{
"id": "1015032",
"url": "https://www.bezrealitky.cz/nemovitosti-byty-domy/1015032-nabidka-prodej-bytu-holeckova-praha",
"title": "Prodej bytu 2+kk 38 m², Holečkova, Praha",
"offerType": "PRODEJ",
"estateType": "BYT",
"disposition": "DISP_2_KK",
"address": "Holečkova, Praha - Košíře",
"price": 7290000,
"currency": "CZK",
"charges": 0,
"surface": 38,
"latitude": 50.0722981,
"longitude": 14.3881939,
"tags": ["Novostavba", "Částečně vybaveno", "Parkování"],
"mainImageUrl": "https://api.bezrealitky.cz/media/cache/record_thumb/data/images/advert/1015k/1015032/1776776931-agvowzcuqc-7-2.jpg",
"isNew": false,
"isReserved": false,
"isDiscounted": false,
"scrapedAt": "2026-05-21T12:24:05.616Z"
}

Tips for better results

  • Start with a filtered Bezrealitky search URL instead of a broad homepage URL.
  • Use smaller maxResults values for daily monitoring and larger values for one-off market snapshots.
  • Keep includeDetails off unless descriptions are required; search pages already contain most structured fields.
  • Use multiple start URLs when you want to compare different cities, offer types, or property categories.
  • Schedule the actor daily or weekly and compare datasets over time.
  • Export CSV for quick spreadsheet work; use JSON for downstream APIs.

Integrations

Apify datasets can be sent into the tools your team already uses.

Common integration patterns:

  • 📊 Google Sheets — export current listings for analysts and agents.
  • 🧱 BigQuery / Snowflake — append recurring snapshots for market analytics.
  • 🐘 PostgreSQL — store normalized rows for internal applications.
  • ⚙️ Make or Zapier — trigger notifications when new listings match your filters.
  • 🔔 Slack or email alerts — send summaries for newly scraped listings.
  • 🗺️ GIS tools — map latitude and longitude for location analysis.

API usage

You can run this actor from the Apify Console, API, CLI, or official clients. The actor ID is:

automation-lab/bezrealitky-real-estate-scraper

Node.js example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
startUrls: ['https://www.bezrealitky.cz/vypis/nabidka-prodej/byt'],
maxResults: 50,
includeDetails: false,
};
const run = await client.actor('automation-lab/bezrealitky-real-estate-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems({ limit: 50 });
console.log(`Scraped ${items.length} Bezrealitky listings`);
console.log(items[0]);

Python example

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/bezrealitky-real-estate-scraper').call(run_input={
'startUrls': ['https://www.bezrealitky.cz/vypis/nabidka-prodej/byt'],
'maxResults': 50,
'includeDetails': False,
})
items = client.dataset(run['defaultDatasetId']).list_items(limit=50).items
print(f'Scraped {len(items)} Bezrealitky listings')
print(items[0] if items else 'No listings returned')

cURL example

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~bezrealitky-real-estate-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"startUrls": ["https://www.bezrealitky.cz/vypis/nabidka-prodej/byt"],
"maxResults": 50,
"includeDetails": false
}'

After the run finishes, download dataset items with the defaultDatasetId from the run response:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json&token=$APIFY_TOKEN"

MCP usage

Use Apify MCP to let Claude run the scraper and inspect fresh listing data.

Claude Code command:

$claude mcp add apify https://mcp.apify.com/?tools=automation-lab/bezrealitky-real-estate-scraper

Claude Desktop configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=automation-lab/bezrealitky-real-estate-scraper"
}
}
}

Example MCP prompts:

  • "Scrape 50 sale apartment listings from this Bezrealitky URL and summarize median price per square meter."
  • "Find listings with parking or terrace tags and return a table with price, surface, and URL."
  • "Compare two Bezrealitky search URLs and tell me which one has cheaper apartments by m²."

Data quality and limitations

The actor extracts data that Bezrealitky exposes publicly in page data and listing/detail pages.

Quality notes:

  • Missing source values are omitted rather than guessed.
  • Numeric values are parsed into numbers when possible.
  • Image URLs are returned as absolute URLs.
  • Detail descriptions require includeDetails: true.
  • Results depend on the filters and availability of the Bezrealitky URL you provide.

Performance notes

For broad monitoring, use search-page extraction only. It is faster and cheaper because it avoids one request per detail page.

Recommended settings:

  • Daily monitoring: maxResults 20–100, includeDetails false.
  • Weekly market snapshot: maxResults 100–500, includeDetails false.
  • Enriched lead list: maxResults 20–100, includeDetails true.

Legality

This actor is intended for scraping publicly available listing data. You are responsible for using the output lawfully, respecting privacy rights, and complying with applicable terms, regulations, and internal policies.

Do not use scraped data for spam, harassment, discrimination, or unlawful profiling. If you store or share personal data, make sure your workflow has an appropriate legal basis.

FAQ

Why did my run return fewer listings than maxResults?

The source search may have fewer public listings than requested, or filters may be very narrow. Try a broader Bezrealitky search URL and run again.

Should I enable includeDetails?

Enable it when you need long descriptions or extra detail-page attributes. Leave it disabled for fast, low-cost market monitoring.

Can I scrape multiple cities in one run?

Yes. Add multiple filtered Bezrealitky search URLs to startUrls. The actor collects listings across all URLs until maxResults is reached.

Can I schedule recurring runs?

Yes. Use Apify schedules to run the actor daily, weekly, or monthly, then compare datasets over time.

Troubleshooting

The run returns no listings

Check that the URL is a public Bezrealitky search/listing URL. If the page requires login or only works with private account state, the actor cannot access it.

Prices or locations look different from the website

Bezrealitky can update listings between runs. Re-run the actor with a small maxResults value and compare the item URL directly with the live page.

The run is slower than expected

Disable includeDetails, reduce maxResults, or split very broad monitoring into multiple scheduled runs.

Other Automation Lab real-estate actors that may complement this one:

For more actors, visit Automation Lab on Apify.

Changelog

  • Initial version extracts public Bezrealitky listing/search data with normalized property, pricing, location, image, and status fields.