Sreality Czech Property Listings Scraper avatar

Sreality Czech Property Listings Scraper

Pricing

from $2.28 / 1,000 item extracteds

Go to Apify Store
Sreality Czech Property Listings Scraper

Sreality Czech Property Listings Scraper

Export public Sreality.cz sale and rental searches with stable listing IDs, CZK prices, layouts, locations, images, URLs, and available agency metadata.

Pricing

from $2.28 / 1,000 item extracteds

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

Export Sreality Czech property listings from public sale and rental search pages into clean, structured dataset rows.

Use the same transaction, property type, location, and other filters available on Sreality.cz. The Actor preserves stable listing IDs so recurring runs can power inventory snapshots, price comparisons, and change detection.

What does this Sreality scraper do?

The Actor reads one or more public Sreality.cz search-result URLs and exports the listings visible through those searches.

Each result can include:

  • stable Sreality listing ID;
  • title, transaction, property type, and layout;
  • CZK price and CZK price per square metre when available;
  • locality, city, district, region, street, and coordinates;
  • listing URL and all images exposed in the search result;
  • agency identity and logo when available;
  • video and Matterport availability;
  • search URL and extraction timestamp for provenance.

It paginates search results, applies a global output limit, and deduplicates overlapping searches by listing ID.

Who is it for?

This Actor is useful for:

  • real-estate analysts comparing Czech asking prices;
  • agencies monitoring competing inventory;
  • investors screening sale listings by area and location;
  • rental operators tracking available apartments;
  • data teams maintaining recurring market snapshots;
  • researchers exporting Czech property data to spreadsheets or BI tools.

The Actor exports current public listing snapshots. It does not create historical price changes by itself; schedule runs and compare records by listingId in your own dataset or workflow.

Why use this Actor?

Sreality search pages are designed for browsing, not repeatable data export.

This Actor provides:

  • deterministic IDs for joining results over time;
  • typed JSON, CSV, Excel, XML, RSS, and API dataset exports through Apify;
  • support for any public filters encoded in a Sreality search URL;
  • sale and rental searches in one run;
  • bounded pagination and retries;
  • lightweight HTTP extraction at 256 MB with a datacenter proxy, without downloading images or opening detail pages.

Unlike deep-detail products, this Actor focuses on efficient search-result monitoring. It does not claim seller phone numbers, full descriptions, or hidden detail-page fields.

Getting started

  1. Open Sreality.cz and configure the transaction, property type, location, and other filters you need.
  2. Copy the resulting search URL.
  3. Add it to Sreality search URLs in the Actor input.
  4. Set Maximum listings to the number of unique records required.
  5. Click Start.
  6. Open the default dataset and export the overview view.
  7. For monitoring, schedule the Task and compare records by listingId.

The prefilled Prague apartment-sale search works without a login; the default Apify datacenter proxy provides stable cloud delivery.

Input

FieldTypeDefaultDescription
startUrlsarrayPrague apartments for salePublic sreality.cz search-result URLs. Strings and request-list objects are supported.
maxItemsinteger50Maximum unique listings across all searches; range 1–10,000.
maxRequestRetriesinteger3Attempts for temporary HTTP 429 or 5xx responses; range 1–5.
proxyConfigurationobjectApify datacenter proxyProxy configuration for stable cloud delivery. No residential fallback is automatic.

Only Sreality.cz URLs whose path contains /search/ are accepted. Unsupported domains fail before any source request.

Example input: Prague apartments for sale

{
"startUrls": [
{ "url": "https://www.sreality.cz/en/search/for-sale/apartments/praha" }
],
"maxItems": 20
}

Example input: compare sales and rentals

{
"startUrls": [
{ "url": "https://www.sreality.cz/en/search/for-sale/apartments/praha" },
{ "url": "https://www.sreality.cz/en/search/to-rent/apartments/praha" }
],
"maxItems": 40
}

Output fields

FieldMeaning
listingIdStable numeric Sreality listing identifier.
titlePublic listing headline, often including layout and area.
transactionSale or lease transaction label.
propertyTypeApartments, houses, land, or another source category.
layoutSource layout such as 2+kk or 3+kt.
priceCzkAdvertised CZK price when numeric.
pricePerSqmCzkAdvertised CZK/m² when provided.
priceSummaryCzkSource summary price when provided.
priceUnitSource price unit, such as per property or per month.
localityHuman-readable locality assembled from source fields.
city, cityPart, district, region, street, countryAvailable structured location components.
latitude, longitudePublic listing coordinates when available.
areaSqmArea parsed from the listing title when present.
urlCanonical public listing detail URL.
imageUrlsPublic image URLs exposed in the search result; images are not downloaded.
agencyId, agencyName, agencyLogoUrlAvailable agency metadata.
hasVideo, hasMatterportSource flags for rich media availability.
sourceUrlExact paginated search URL that produced the record.
scrapedAtUTC ISO timestamp for the snapshot.

Optional fields are omitted when Sreality does not expose them for a listing.

Example output

A current Prague sale run produces records shaped like this:

{
"listingId": 342675532,
"title": "For sale apartment 3+kt 66 m²",
"transaction": "Sale",
"propertyType": "Apartments",
"layout": "3+kt",
"priceCzk": 12900000,
"pricePerSqmCzk": 195455,
"priceUnit": "per property",
"locality": "U Sluncové, Karlín, Praha, Praha 8, Prague",
"city": "Praha",
"district": "Praha 8",
"areaSqm": 66,
"url": "https://www.sreality.cz/en/detail/sale/flat/3+kt/praha-karlin-u-sluncove/342675532",
"imageUrls": ["https://d18-a.sdn.cz/example.jpeg"],
"hasVideo": false,
"hasMatterport": false,
"sourceUrl": "https://www.sreality.cz/en/search/for-sale/apartments/praha",
"scrapedAt": "2026-09-08T20:31:57.395Z"
}

Values and availability change with the live source. The shortened image URL above illustrates the field shape.

How much does it cost to scrape Sreality property listings?

Pay-per-event billing has two parts:

  • $0.005 when a run starts;
  • one item event for each unique property listing saved.

Per-listing prices depend on your Apify tier:

TierPrice per listing
FREE$0.00437
BRONZE$0.00380
SILVER$0.002964
GOLD$0.00228
PLATINUM$0.00228
DIAMOND$0.00228

At BRONZE rates, 20 listings cost about $0.081 including the start event; 100 listings cost about $0.385. Apify platform usage is included under PPE pricing. Failed, duplicate, or rejected records are not charged as items.

Scheduled market monitoring

Create an Apify Task with the filters you want to follow, then schedule it daily or weekly.

A downstream workflow can:

  1. use listingId as the stable key;
  2. compare the newest priceCzk with the previous snapshot;
  3. flag IDs not seen before as new inventory;
  4. flag missing IDs as potentially removed inventory;
  5. send changes to Google Sheets, a webhook, database, or dashboard.

Source listings can be edited or removed between runs. Keep timestamps and source URLs with every snapshot.

Export and integrations

The default Apify dataset supports JSON, CSV, Excel, XML, RSS, and API retrieval.

Common integrations include:

  • Google Sheets for small recurring inventories;
  • Make or Zapier for alerts and routing;
  • webhooks for run-completion notifications;
  • BigQuery, Snowflake, or PostgreSQL for long-term snapshots;
  • Python or JavaScript for custom deduplication and analysis.

The overview dataset view puts IDs, prices, locations, URLs, images, agencies, and timestamps first.

Run through the Apify API

Replace <APIFY_TOKEN> with your token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~sreality-cz-property-listings-scraper/runs?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://www.sreality.cz/en/search/for-sale/apartments/praha"}],"maxItems":20}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/sreality-cz-property-listings-scraper').call({
startUrls: [{ url: 'https://www.sreality.cz/en/search/to-rent/apartments/praha' }],
maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("automation-lab/sreality-cz-property-listings-scraper").call(run_input={
"startUrls": [{"url": "https://www.sreality.cz/en/search/for-sale/apartments/praha"}],
"maxItems": 20,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with MCP and AI assistants

Add the Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/sreality-cz-property-listings-scraper"

Claude Desktop, Cursor, and VS Code setup

Desktop and editor clients such as Claude Desktop, Cursor, and VS Code can use:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/sreality-cz-property-listings-scraper"
}
}
}

Example prompts:

  • “Export 20 Prague rental apartments from this Sreality search URL.”
  • “Run my saved Sreality sale and rental searches and summarize median asking price per square metre.”
  • “Compare these results with yesterday’s dataset by listingId.”

The AI assistant can run the Actor; comparison quality still depends on the datasets and analysis instructions you provide.

Reliability and retries

The Actor reads structured state embedded in Sreality's server-rendered HTML.

It retries only temporary rate limits and server errors with bounded exponential backoff. Invalid inputs, permanent 4xx responses, and source-format changes fail clearly instead of silently returning an empty successful dataset.

HTTP through Apify's datacenter proxy is the stable cloud default. You may disable it for direct local requests. The Actor never turns on an unmeasured residential proxy automatically.

Limits

  • Only public Sreality search-result URLs are supported.
  • Output reflects the source at run time and is not guaranteed complete if Sreality changes or removes listings.
  • Search pages do not expose every detail-page field.
  • Seller contact details, full descriptions, nearby points of interest, and historical changes are not extracted.
  • Area is parsed from the title and can be absent when the title does not include m².
  • Location precision follows the public source and may be approximate.
  • Very large runs take longer and are more exposed to source changes or rate limits.

Troubleshooting

The Actor rejects my URL.

Use a public https://www.sreality.cz/.../search/... result page, not a listing detail URL, another domain, or a redirect service.

The run returns fewer rows than maxItems.

The search may contain fewer available results, overlapping search URLs may produce duplicates, or the last page may be exhausted.

The run fails with a source-format error.

Sreality may have changed its embedded page data. Retry once later; repeated failures should be reported with the run ID and input URL.

Should I enable a proxy?

The default datacenter proxy is recommended for cloud runs because direct cloud delivery can intermittently return HTTP 404. Residential proxy traffic is not required or enabled automatically.

Legality and responsible use

Scrape only public data that you are entitled to process.

Review Sreality's terms, applicable database rights, copyright rules, and Czech/EU privacy law for your use case. Avoid republishing images or personal data without a lawful basis. Respect reasonable run frequency and do not use the Actor to harass advertisers or evade access controls.

This Actor is an independent automation tool and is not affiliated with Sreality.cz or Seznam.cz.

FAQ

Does the Actor support sale and rental listings?

Yes. Supply the corresponding public Sreality search URL.

Can I filter by region, district, layout, or property type?

Yes. Configure those filters on Sreality and paste the resulting search URL. The Actor preserves the URL's public filter state.

Can I monitor price changes?

Yes, by scheduling recurring runs and comparing priceCzk for the same listingId. The Actor exports snapshots; it does not maintain history internally.

Does it download images?

No. It exports image URLs, which keeps runs lightweight and avoids media-transfer cost.

Does it scrape listing detail pages?

No. The product intentionally exports fields available from search results for efficient inventory monitoring.

Are empty results charged?

The one-time start event applies, but only unique saved records generate item events.

For broader property workflows, see:

Choose this Actor when your source is Sreality.cz and your job is efficient Czech sale/rental search-result monitoring.