# Changelog of Sreality scraper (`bebich/sreality-scraper`) Actor

- **URL**: https://apify.com/bebich/sreality-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/bebich/sreality-scraper.md

## Changelog

All notable changes to this project will be documented in this file.

#### v1.0

- Release

#### v1.1

- Added City input checker

#### v1.2

###### Bug Fixes

- Fixed an issue where `URL_AD` was not always correct, ensuring all ad URLs are now accurate.

###### Features

- Introduced a new feature: when `"SAVE_ALL_TEXTS": true` is set in the input, the scraped data will now include `contact_id`, `contact_name`, `contact_email`, and `contact_phones`.

#### v1.21

###### Features

- The `"SAVE_ALL_TEXTS": true` functionality remains unchanged from v1.2, continuing to save contact details as before.
- Added a new parameter, `"ENRICHER_TEXTS": true`, which scrapes the same contact data (`contact_id`, `contact_name`, `contact_email`, `contact_phones`) but operates in parallel for significantly faster processing.
  - **Note:** The output keys for data scraped using `"ENRICHER_TEXTS": true` will be in a different order compared to `"SAVE_ALL_TEXTS"`.
- (Optional) `CONCURRENCY_LIMIT` input parameter to control concurrent requests.

#### v1.3

###### Breaking Changes

- Rebuilt the scraper for the current Sreality
- Changed the public input model from the legacy actor fields documented in the old README (`CITY`, `PROPERTY_TYPE` or the older `APARTMENTS` / `HOUSES` / `LANDS` switches, `SELLING`, `LANGUAGE_CZ`, `DATASET_NAME`, `DROP_DATASET`, `SAVE_ALL_TEXTS`, `ENRICHER_TEXTS`) to slug-based search inputs: `AREA`, `CATEGORIES`, `SUBCATEGORIES`, `PROPERTY_TYPES`, `LANGUAGE_EN`, `maxPages`, `IGNORE`, `GET_DETAILS`, and `TEST_URL_DETAIL`.
- Replaced the legacy localized output columns such as `Hash_id`, `Datum` / `Date`, `Cena` / `Price`, and `URL_AD` with normalized API-oriented dataset records including `id`, `date`, `url`, price fields, category fields, locality fields, coordinates, images, search metadata, pagination data, and `raw`.
- The old contact-enrichment fields from `SAVE_ALL_TEXTS` / `ENRICHER_TEXTS` are no longer part of the documented output. Use `GET_DETAILS` to append available Sreality detail data such as `description`, `premise`, `seller`, `rus`, `videos`, `isExclusively`, and `params`.

###### Features

- Added direct scraping from Sreality search JSON data instead of the old page structure.
- Added full pagination support with optional `maxPages` limiting.
- Added English and Czech slug support for categories, subcategories, and property types.
- Added `LANGUAGE_EN` to control Sreality request language and normalized detail URL language.
- Added area and subcategory fan-out for empty or missing search arrays, avoiding overly broad Sreality requests.
- Added detailed property-type filtering through `PROPERTY_TYPES`.
- Added `IGNORE` rules for removing root or nested fields from each saved dataset item.
- Added `GET_DETAILS` and `GET_DETAILS_CONCURRENCY` for parallel listing detail JSON enrichment.
- Added `TEST_URL_DETAIL`, `TEST_URL_DETAIL_CONCURRENCY`, and `TEST_URL_DETAIL_FAST_CHECK` for optional detail URL validation after scraping.
