A data system that tracks new listings, price changes and sale status across hundreds of business-for-sale broker websites.
Listings sit on hundreds of broker sites, each with its own layout. The same business gets reposted, retitled and repriced, and a status change such as Under Contract can appear without any announcement. Without one clean record per listing, price history and status changes are lost.
Each broker site has its own collection configuration, so a layout change is fixed in one place. Every collected page is retained as a source capture. Listings are normalized into one schema, matched to a stable identity so reposts don't create duplicates, and compared with the previous observation. Only meaningful changes (new listing, price change, status change) are flagged, and each listing keeps a dated history.
The monitor runs across hundreds of broker sites. In this example it followed one listing from $175,000 (Active, July 21, 2026) to a $30,000 price cut the next day, then to Under Contract on August 3, 2026, with the saved source text behind each change.