# Changelog of Crexi Commercial Real Estate Listings & Broker Scraper (`scrapebench/crexi-commercial-real-estate-listings-scraper`) Actor

- **URL**: https://apify.com/scrapebench/crexi-commercial-real-estate-listings-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/scrapebench/crexi-commercial-real-estate-listings-scraper.md

## Changelog

### 0.1.0 — 2026-09-07

First release (#155).

- Crexi's paywalled `details` entries arrive as strings of asterisks (`"Year Built": "****"`),
  not nulls. Measured over 12 retail listings on 2026-09-07: Year Built masked on 9 of 9 present,
  APN on 6 of 6, Parking / Tenancy / Units / Cap Rate / Price per SqFt on every occurrence. They
  are dropped rather than passed through, because `****` survives an is-not-null filter.
- The API refuses `offset + count >= 1500`, so no query can reach past 1,499 rows of a catalogue
  of 242,488. A run that hits the ceiling says so next to Crexi's own `totalCount`.
- `isLease` and `askingPriceFrom`/`To` are accepted and ignored (total unchanged at 242,488), so
  price is filtered client-side and no lease/sale split is advertised.
- `assert_ok` + `assert_not_bounced` on every response, and a `source_changed` notice when the
  envelope loses its `data` key — the incumbent in this lane has been returning zero properties
  on SUCCEEDED runs since a site change.
- Property-type input validated against Crexi's own enum, which 400s on an unknown value.
