Methodology
How DealLedger collects, normalizes, and publishes listings of businesses for sale in the United States.
What we observe
DealLedger maintains a continuously updated record of business-for-sale listings drawn from two source layers:
- Marketplace listings. Listings indexed by major business-for-sale marketplaces. These are the listings most buyers see.
- Broker-direct listings. Listings published directly on individual business-broker websites. We track over 1,700 broker sites, the majority of which are not comprehensively indexed by any single marketplace.
Both sources are collected from publicly accessible web pages. We do not access private or login-gated systems, and we do not pay for marketplace data feeds.
What we publish
For each listing in the ledger, we publish a normalized record containing:
| Field | Description |
|---|---|
| listing_number | Stable identifier used to track the listing over time. |
| title / header | Listing headline as published by the source. |
| state | U.S. state where the business is located, normalized to two-letter codes. |
| price | Asking price in USD where disclosed. |
| source_url | Direct link back to the original listing page. |
| first_seen | Date DealLedger first observed the listing. |
| estimated_listed_date | Estimated date the listing went live (see "Date recovery" below). |
| days_on_market | Days elapsed since estimated_listed_date. |
| listing_views | View count where the source publishes one. |
| relisted | True if the listing matches a prior listing that was removed. |
| is_active | True if the listing was observed in the most recent collection cycle. |
Collection cadence
Marketplace data is refreshed daily. Broker-direct data is refreshed on a rolling schedule, with high-volume brokers checked daily and lower-volume brokers checked weekly. Every collection cycle is recorded — we never overwrite history. When a listing disappears from its source, we record the disappearance rather than deleting the row.
Normalization
Raw listings vary widely in format. We apply a normalization pass to make records comparable across sources:
- State names mapped to standard two-letter codes.
- Prices parsed from strings ("$1.2M", "1,200,000", etc.) into integers.
- Categories mapped to a controlled vocabulary where possible.
- Duplicate listings — the same business appearing on multiple sources — are detected and linked, not collapsed. Each source record is preserved.
Date recovery
Most marketplaces and brokers do not publish the original date a listing was created. To approximate it, DealLedger uses a proprietary methodology that combines listing identifiers, observed appearance dates across collection cycles, and source-specific patterns to estimate when each listing first went live.
Estimated listing dates carry a mean error of approximately ±12 days against ground-truth listings where the original date is known. They are intended for relative comparisons (which listing is older, how stale is this inventory) rather than legal or regulatory use.
Relist detection
When a listing disappears and a new listing for what appears to be the same business appears later, DealLedger flags the new listing as relisted. Detection is based on a combination of broker identity, geography, price band, category, and content fingerprinting. Relisting is meaningful — it indicates that a business returned to market, often at a different price, after failing to sell the first time.
Quality signals
DealLedger assigns each active listing one of four quality signals based on the relationship between days on market and view count:
- Hidden Gem — low days on market, low views. Recently listed and not yet getting attention.
- Hot — low days on market, high views. Recently listed and moving fast.
- Overpriced — high days on market, high views. Sitting despite buyer interest, suggesting price resistance.
- Dead — high days on market, low views. Ignored.
Thresholds: low DOM = ≤90 days, high DOM = >180 days, high views = >200, low views = <50. These thresholds are calibrated against the full active inventory and are revised periodically as the ledger grows.
What we do not do
- We do not rank brokers or listings.
- We do not recommend businesses to buyers.
- We do not capture leads on behalf of brokers or marketplaces.
- We do not broker transactions ourselves.
- We do not edit history. Errors are corrected by appending a new record, not by overwriting.
Data access
Active listings are queryable in real time through the ledger interface on the home page. Aggregate market statistics are published weekly in Market Pulse. The full broker source list is available at /brokers.
All published data is released under a CC0 (public domain) dedication. You may use, redistribute, or build on it without attribution, though attribution is appreciated.
Corrections
If you spot an error in a listing — wrong state, wrong price, wrong status — email info@dealledger.org with the listing identifier and what's wrong. We review corrections weekly and append the corrected record without deleting the original.
Limitations
DealLedger is a best-effort observational record, not an authoritative registry. Specifically:
- Coverage is incomplete. Brokers not yet in our source list, off-market deals, and listings on social media or in private networks are not captured.
- Estimated listing dates carry meaningful error and should not be relied on for legal, regulatory, or transactional purposes.
- Marketplace listings can be reposted, refreshed, or boosted in ways that affect apparent listing age. We attempt to detect these but do not catch all of them.
- Listing content (price, headline, category) reflects what the source publishes. If a broker publishes inflated or stale information, we record what we observe.
Last updated: May 2026. Questions: info@dealledger.org.