# Changelog of OLX Product Search Scraper (`codingfrontend/olx-product-search-scraper`) Actor

- **URL**: https://apify.com/codingfrontend/olx-product-search-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/codingfrontend/olx-product-search-scraper.md

## Changelog

All notable changes to the OLX Product Search Scraper are documented here.

### \[1.1.0] - 2026-08-31

- Added strict supported-domain, search, category, sort, limit, and proxy validation.
- Applied requested proxies to API mode and query/location/sort settings to real requests.
- Added fail-closed zero-data behavior and schema-backed OUTPUT summaries for both modes.
- Removed raw source payloads and unused scaffold modules; added strict dataset validation and unit tests.
- Aligned Crawlee 3.18.1 to Apify SDK core, pinned Playwright to the cloud image, and made Docker installation reproducible.

### \[1.0.0] - 2026-05-21

#### Added

- Initial production release of the OLX Product Search Scraper.
- Dual-mode architecture: API mode (fast, no browser) and Playwright mode for location filtering.
- Multi-country OLX domain support: `olx.pl`, `olx.pt`, `olx.ro`, `olx.bg`, `olx.ua`, `olx.in`, and more.
- Keyword search with optional category ID and sort order filters.
- Modular project structure:
  - `src/main.js` — entry point with input validation and crawler init.
  - `src/routes.js` — Crawlee router factory.
  - `src/routes/handlers.js` — page handler with pagination logic.
  - `src/extractors/` — listing data extraction for multiple OLX regions.
  - `src/filters/` — URL-based deduplication.
  - `src/schema/input.js` — input validation.
  - `src/utils/` — domain resolver, URL builder, API helpers.
  - `src/errors/` — `ScraperError`, `ErrorTypes`, `ErrorHandler`.
- Output fields: `title`, `price`, `location`, `listingUrl`, `postedAt`, `description`, `category`, `query`, `listingId`, `scrapedAt`.
- `.actor/actor.json`, `input_schema.json`, `dataset_schema.json` for Apify platform compatibility.
- Dataset views in `dataset_schema.json` for Apify Storage table display.
- `validate-datasets.js` for local dataset output validation.
- `Dockerfile` for Apify cloud deployment.
