# Changelog of OLX Scraper 🛒 (6 countries, new-ad monitor, no proxy) (`tagadanar/olx-scraper`) Actor

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

## Changelog

### 2026-09-19

- The run's closing status now says what was delivered and what was asked for,
  and when a run returns little or nothing it says why: OLX refused or never
  answered the requests, a limit (time, charge, or "Max listings") stopped the
  run early, or OLX itself answered with a result count of 0. Only that last
  case is now reported as "no listings matched".

### 2026-09-08

- **A run can no longer spend more time than it has.** The retry ladder booked
  its worst case up front, under loops with no ceiling, so a slow or wobbling
  source could push the run past the platform timeout. A run killed that way
  loses its own closing message entirely.
- Every request now plans against the time actually left, and a backoff that
  would outlive the run is not slept.
- A run that hits its time limit now delivers everything it did read and says
  so plainly, naming the searches it never reached — rather than reporting an
  empty result, which is a claim it has not earned.

### 2026-09-02

- The run now ends with a status message in the Console (the "Done" line was log-only, so a run could not explain itself in the Store).

### 2026-07-13

- README: pricing table now discloses the $0.001 actor-start fee (previously said "no minimum", which was stale after the 07-12 floor raise).

### 2026-07-12

- Invalid input no longer fails the run. The run now finishes cleanly with a clear explanation in its status message, so a typo or an empty list is easy to spot and fix.
- List inputs now accept datasets piped straight from another scraper: entries
  that are objects are read through their usual key names (url/link,
  query/keyword/title, name/company and similar) instead of being rejected.

### 2026-07-11

- Billing: on paid runs every row is billed before it is written, and a run
  now stops visibly if billing fails instead of continuing unbilled.

### 2026-07-09

- Input is now tolerant of common shapes that previously failed the run: a bare
  string / bare object / delimited string for query is coerced into a list
  instead of erroring. Empty input still errors.

### 2026-07-08 / Initial public release

- Scrape OLX classifieds by search term across six countries: Poland, Portugal, Ukraine, Romania, Bulgaria and Kazakhstan.
- Clean records: title, price with currency and negotiable flag, location, seller type, flattened attributes, category, photos and timestamps.
- Optional category, region and price-band filters, plus a `fetchDetails` mode for full descriptions.
- Reads OLX's own offers API, so runs are fast and records are complete. No browser, no login, no residential proxy needed.
- Monitor mode remembers offers from previous runs and returns only new listings, with an optional Slack or webhook digest.
- Pay per listing. Platform usage billed to your run, no subscription.
