# Changelog of eBay Scraper — Listings, Prices & Sold Items API (`logiover/ebay-scraper`) Actor

- **URL**: https://apify.com/logiover/ebay-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/ebay-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: 28 columns returned, 67.7% of cells populated.
- Run reliability reviewed: 100.0% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.
- Noted that 4 column(s) came back empty in this sample (`priceMin`, `priceMax`, `timeLeft`, `productRating`); 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.
- Declared 28 dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder.
- Declared 41 nullable dataset fields from typed live cloud samples so the output contract is no longer an empty placeholder or brittle to sparse modes.

### 1.1 (2026-07-23)

- **Richer list-mode rows — fewer empty columns.** Added `buyingFormat` (always populated: `Buy It Now` / `Buy It Now or Best Offer` / `Auction`) and a mirrored `itemLocation` alongside `location` on every search / category / sold / sellerItems card; hardened the location parser to also read localized "from / de / aus / desde …" prefixes and a full-text fallback, so item location now fills on the large majority of rows.
- **Residential proxy pinned to the marketplace country** (US for ebay.com, GB for ebay.co.uk, …) so eBay serves the site in its native language/currency — this is what makes card-level location and prices parse reliably instead of a random-country shell.
- **New optional `enrichDetails` flag (default off).** When enabled, each list result also fetches its item page (bounded concurrent worker pool, shared time budget) to add `sellerName`, `sellerPositivePercent`, `sellerFeedbackCount`, precise `itemLocation`, `itemSpecifics`, `brand`, `returnsAccepted`, `quantityAvailable` and `quantitySold`. Default runs stay fast so the high-volume path is unaffected.
- **Fixed seller & location extraction on item pages** (`productDetail` + enrichment): seller username is now read from the `/usr/` profile link (the visible name span is CSS-scrambled), feedback % and score parse from the seller card, and item location comes from the item's Location row. Added a boolean `returnsAccepted`.
- No existing field was renamed; all previous keys remain.

### 1.0 (2026-07-23)

- Initial release of the eBay Scraper.
- Five modes: `search`, `category`, `sold`, `sellerItems`, `productDetail`.
- Scrapes eBay's public search HTML (`/sch/i.html`, up to 240 items/page) and item pages via `got-scraping` + `cheerio`, behind Apify Proxy (AUTO → RESIDENTIAL escalation on challenge, fresh IP per request).
- 25+ fields per listing card; numbers stored as real numbers, booleans as booleans.
- SOLD/completed listings support for price research.
- Dropdown filters: condition, buying format, sort, free shipping, price range, and 16 eBay marketplaces.
- Deep `productDetail` fields: brand, MPN, UPC, model, item specifics, quantity available/sold, returns, seller detail.
- Empty input returns data via a broad default query.
