Main Street Diligence Search Florida listings →

Where every number on this site comes from

One source, read once a week. Every figure recomputed from the published numbers. Every check shown with its count. No verification, and no badge pretending otherwise. This page is the ledger behind the four commitments — the place to catch us if a number here says more than the data behind it supports.

Every figure on Main Street Diligence comes from the 2,079 businesses actively listed on the Business Brokers of Florida MLS on September 14, 2026, read once a week from the public search page, recomputed from the published numbers, and checked against themselves. 124 of them (6%) fail at least one arithmetic check, and every failure is printed on the listing. The site’s own checks were re-run over all 2,079 of them when this page was built and graded 2,079 of 2,079 the same way the ranking does. Counted from the crawl of September 14, 2026; recomputed on every build, never typed in. Nothing on this page is verified against a document, because nothing on this site is.

One source

Every listing on this site is an active business-for-sale listing on the Business Brokers of Florida MLS, published at bizmls.com on a public search page that needs no account and no login. We do not accept listings, we do not take a feed from anyone, and no broker can pay to appear, to rank, or to carry a badge. Florida only, by design: we would rather be able to defend every figure in one state than reprint feeds from fifty.

What is taken from each listing is what the broker published: the asking price, the down payment, the discretionary earnings, the revenue, the category, the location, the broker’s own description, and — from the listing’s detail page — up to three fiscal years of figures with the label the broker put on each one, the asset schedule, seller-financing terms and owner hours. Every listing here carries its BizMLS number and a link back to the source, and the description is quoted as written and attributed, never rewritten. What we add is arithmetic on top of those figures, and the arithmetic is the whole product.

How often it is re-read

Every Monday at 07:00 Eastern the crawler sends one request to the public search page, which returns the whole BBF inventory, and two hours later reads each active listing’s detail page one at a time with a pause between requests. It identifies itself by name with a contact address on every request, honours the site’s robots file, never rotates addresses or disguises itself, and has a single stop switch that halts every crawl before its first request. The full policy, including what happens if the source ever asks us to stop, is written down in the repository as docs/crawl-policy.md.

A listing that leaves the source index is marked inactive here, not deleted, and every change to a listing’s price, down payment, earnings, revenue or status is recorded in a history table from the crawl that saw it. That is what lets the site say how long something has been listed and when its price was cut — and it can only accumulate forward, which is why the crawl is weekly rather than monthly.

The date of the crawl each figure describes is printed in the footer of every page of the app, next to the number of active listings it covers. If that date is more than eight days old the footer turns amber, because a figure that has quietly aged is worse than one that says so.

What is computed, and from what

Nothing on a card is reprinted from the listing except the four figures the broker published. Everything else is recomputed here from those four, so that a reader can check it:

The checks, with today’s counts

Every active listing is run through the checks below, in the browser, every time it is drawn. The outcome is printed on the card as one of three grades, and the top grade is deliberately low: figures add up means the published numbers do not contradict each other, and its own tooltip says it tests arithmetic, not truth. A listing with invented but internally consistent figures earns it, and that is the correct behaviour, because the alternative is a badge implying a verification nobody in this market can perform. Across the 2,079 active listings when this page was built: 1,599 read figures add up, 356 read partly disclosed, and 124 read figures don’t add up.

Failures

Two published figures cannot both be right. Printed on the card in amber, and the listing ranks after every listing that passes.

CheckWhy it mattersListings today
Figures recovered from a malformed source block
The source page did not close its table markup and the parser had to recover this listing’s cells from a broken block.
The figures are the listing’s own, but the block they came from was damaged. Treat them as unconfirmed. 21
Earnings exceed the asking price
Published earnings divided by the asking price is above 100%.
A going concern priced below one year of owner earnings is usually a typo, a multi-year figure, or a genuine distressed sale. Ask which. 63
Earnings negligible against the price
Published earnings divided by the asking price is below 1%.
The price would take a century of current earnings to recover; the earnings field is probably a placeholder or the sale is asset-based. 5
Earnings above 90% of revenue
Discretionary earnings are more than nine-tenths of revenue.
Even an owner-run service business has some cost of sales. The two figures were probably not prepared on the same basis. 23
Asking price is a placeholder
A published price under $10,000.
“Call for price” listings carry a token figure. Every ratio built on it is removed rather than computed. 5
The two BizMLS pages disagree
The search listing and the listing’s own detail page publish different earnings.
Same broker, two figures. One is out of date. Ask which is current before using either. 2
Headline earnings are an older, better year
The advertised earnings figure is from an earlier fiscal year than the latest one published, and the earlier year is the higher one.
Every return on the page is then computed from the more flattering of two figures the same broker published. 19
Headline earnings match no published year
The detail page publishes at least one fiscal year and the advertised figure is none of them.
Ask what period the advertised figure covers. 2

Gaps

Something is not published. A broker’s disclosure decision, not a defect in the business — shown in grey and never used to move a rank.

CheckWhy it mattersListings today
A price, earnings or revenue figure withheld
One or more of the three headline figures is not published.
Withholding is common and says nothing about the business. It does mean the listing cannot be ranked or screened on that figure. 309
County withheld
No location is published on the search listing or on its detail page.
The listing belongs to no county and is invisible to every geographic filter here. Ask where it is first. 14
Little or no description
Fewer than 40 characters of description.
Not enough to support a first pass. The broker’s own page may carry more than the feed does. 69

Notes

True and worth knowing, not a problem.

CheckWhy it mattersListings today
Headline earnings are an older, weaker year
The advertised figure is from an earlier year and the more recent year is the stronger one.
The figures here understate the business. Worth knowing; not a defect. 20
Priced above 15× earnings
Asking price divided by earnings is above 15.
The price is being carried by something outside the published figures — property, a licence, or expectations. Ask what it includes. 54
Same figures as another listing
An identical price, earnings and revenue triple appears on more than one active listing.
Co-brokering and cross-category listing. The source publishes it that way; pick which broker to call. 154

The page and the ranking agree

The failures above are computed twice: once in the browser, to print the badge on the card, and once in the database, as a column the grid sorts on so that a listing whose figures do not add up cannot outrank one whose figures do. They are the same rule written in two languages, and the only thing that keeps them equal is checking. When this page was built, the browser version was run over all 2,079 active listings and compared to the database column: 2,079 of 2,079 graded the same way. Every listing the card marks as failing is ranked as failing, and no listing is demoted without a badge saying why.

Checks we measured and did not ship

Two more checks were written and measured before the verdict launched: earnings larger than revenue, and a down payment larger than the asking price. Both caught zero listings, so neither was added — a check that catches nothing would look like diligence while doing none. Re-measured on this build: earnings above revenue would catch 0 listings today, and a down payment above the asking price would catch 0. Both still catch nothing, so both stay out.

What we do not know, counted

A screening tool that hides its misses converts an unknown into a false negative you will never go looking for. So the gaps in our own coverage are counted here, from the same crawl:

And the one thing no count can close: nothing here is verified. Every financial figure is seller-reported and unaudited. The checks establish that a listing does not contradict itself; two pages can be consistently wrong, and both come from the same side of the table. There is no “verified” badge on this site and there never will be, because we cannot perform the verification it would imply. The diligence — an accountant’s quality-of-earnings review, a lawyer’s read of the lease, a lender’s own underwriting — is yours. This is what comes before it.

If a figure here is wrong

It has happened, and each time the correction is on the site. An outside reviewer noticed that the dashboard and the market pages printed two different median prices for the same inventory; one applied the placeholder-price floor and one did not, and now both read from one definition. The same reviewer objected that a ratio of two seller figures was labelled “ROI”; the cell was relabelled and the reason written up. Building this page found the third: 295 listings read “county withheld” on their card, with a note that they were invisible to every geographic filter, while sitting in the county filter all along — the broker had left the search-page location blank and named the county on the detail page, and the card only read the first. A sentence that says less than the data supports is the same defect as one that says more. A site that asks you to distrust overstated labels has to correct its own, in public, and keep the record.

Corrections, disagreements and questions go to info@mainstreetdiligence.com. If a number on this site says more than the data behind it supports, we would rather hear it than not.


Search Florida listings How the screening works The four commitments