# Changelog of BizQuest Business-for-Sale Scraper (`devilscrapes/bizquest-business-for-sale-scraper`) Actor

- **URL**: https://apify.com/devilscrapes/bizquest-business-for-sale-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/devilscrapes/bizquest-business-for-sale-scraper.md

## Changelog

### 0.1.0 - Unreleased

- BizQuest businesses-for-sale scraper. `src/routes.py` builds the proven
  route shapes (`/businesses-for-sale/`, `/businesses-for-sale-in-<state>-<xx>/`,
  `/businesses-for-sale-in-<city>-<xx>/`) from `includeNationwide`, `locations`
  and `startUrls`.
- `src/parser.py` reads the inline JSON-LD `SearchResultsPage.about[]` (never the
  raw anchors), drops franchise ads and broker cards by URL shape, and reads
  tag chips and the sign-in gate off the server-rendered card by BW id.
- `src/scraper.py`: run-wide dedupe by BW id, `maxPages` / `maxItems` /
  empty-page / no-new-listings stops (the site clamps an out-of-range page back
  to page 1), per-route fault isolation. 404 is `not_found`, an empty `about[]`
  on a readable page finishes SUCCEEDED, a block with nothing emitted fails the run.
- `src/client.py`: curl-cffi, rotating impersonation profiles and proxy session
  ids, backoff 2s doubling to 30s, 5 attempts; a 200 without the results
  JSON-LD is treated as a block, never as empty.
- Default proxy is Apify RESIDENTIAL pinned to US.
- Offline tests against trimmed real captures (no live network).

### 0.0.1 - Unreleased

- Scaffold.
