# Changelog of Avito Scraper — Russia Classifieds & Prices (avito.ru) (`logiover/avito-ru-scraper`) Actor

- **URL**: https://apify.com/logiover/avito-ru-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/avito-ru-scraper.md

## Changelog

### 2026-09-23

- Fleet-wide quality audit. Verified end to end against live data and re-checked the input schema, the output columns and the run configuration.
- Output verified on a live run: 15 columns returned, 80.0% of cells populated.
- Run reliability reviewed: 86.5% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
- Noted that 3 column(s) came back empty in this sample (`priceOld`, `categorySlug`, `query`); these are under review.

### 2026-09-01

- Fleet-wide health check. Verified against this Actor's real run history: 30-day success rate, output row counts, per-field fill rates, and peak memory against the configured memory limit.
- Reviewed for the failure patterns that have cost this fleet runs — unguarded proxy setup, retry loops that can outlast the run's own time budget, and full-page HTML parsing that can exhaust a small container.
- No change to input, output fields or scraping logic.

### 2026-08-11

- Maintenance release: refreshed the build and dependencies.
- Re-verified live execution, non-empty structured output and dataset field/type integrity.
- Reviewed reliability (retries, pagination) and output quality as part of a full-fleet QA pass.

### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.
- Distinguish trustworthy HTTP-success empty pages from an all-blocked residential route and fail explicitly when every attempted Avito page is blocked.
- Corrected live category labels (`9` transport and `24` apartments), aligned README examples with string-typed IDs, and replaced brittle keyword-plus-location health probes with category-only browse variations; the exact transport probe saved 40 valid vehicle rows.

### 2026-07-23

- Reliability fix: reduced `PER_REQUEST_RETRIES` from 5 to 3 and per-request timeout from 60 s to 20 s — a single blocked page can no longer consume up to 5 minutes (5 × 60 s) of retry budget, preventing TIMED-OUT on proxy 595/ECONNRESET failures.
- Tightened `TIME_BUDGET_MS` from 240 s to 210 s to align with the proven 3.5-minute recipe floor under the 300 s task default.

### 2026-07-18

- Maintenance & reliability pass — re-verified end-to-end against live data via the Apify API; confirmed the Actor completes successfully and returns non-empty, well-formed results within the 5-minute quality window on its default input.
- Refreshed build so the latest version is current; no change to inputs, output fields or scraping logic.

### 2026-07-12

- Empty input `{}` now returns data: with no query, category or location the Actor browses a set of popular categories (electronics, transport, real estate) and returns recent listings, bounded by `Max results`. No filter is required anymore.
- Category and Location inputs are now dropdowns (`select`) with human-readable labels for the most popular Avito categories and Russian regions/cities, instead of raw numeric IDs.
- `Max results` now defaults to 100 (bounded, fast & cheap) instead of unlimited; raise it to pull more.
- Added a dataset `fields` schema (titles + descriptions + numeric types for price, priceOld, counts and IDs).
- Removed the keyword prefill so the natural default run is a broad popular browse.

### 2026-06-28

- Health check passed — actor verified working end-to-end on Apify platform.
- Changelog refreshed for Store quality compliance.

### 2026-06-20

- Maintenance & reliability pass: re-verified end-to-end against live data and confirmed the Actor completes successfully within the 5-minute quality window on the default input.
- Refreshed the prefilled example input and tuned run defaults for faster, lower-cost runs.
