# Changelog of Google Books Scraper — Search, Catalog & ISBN Lookup (`logiover/google-books-scraper`) Actor

- **URL**: https://apify.com/logiover/google-books-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/logiover/google-books-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.
- Run reliability reviewed: 96.4% of public runs succeeded in the last 30 days.
- Input schema, output schema and pricing configuration reviewed.

### 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.

### 2026-07-18

- Fixed empty search results — the book search now returns real matches for any title or author query (e.g. ‘harry potter’, or an author search) instead of coming back empty.
- No change to output fields.

### 2026-07-12

- **Empty input now returns data.** Running with `{}` (or an empty search query) browses popular books via a default `subject:fiction` query instead of exiting with zero results, bounded by `maxResults`.
- **Numeric fields are now real numbers.** `pageCount`, `averageRating` and `ratingsCount` were previously stored as strings — they are now stored as numbers (null when unavailable), so the dataset renders and filters them correctly.
- **New dropdown inputs:** Print Type (all / books / magazines), Sort Order (relevance / newest), and Language restriction (15 common languages + Any).
- **Proxy:** now uses Apify Proxy (Automatic) by default with an automatic direct-connection fallback on the final retry. Rotating IPs help avoid the Google Books per-IP daily quota; Open Library remains the ultimate fallback source.
- **volumeDetail with no IDs** no longer exits empty — it falls back to a popular book search so the run still returns data.
- Switched the HTTP client to `got-scraping` to support proxying.
- Added dataset field titles/descriptions.
