On an accepted Best Offer, eBay's sold page keeps showing the asking price with a strikethrough and a label. It never shows the amount the buyer paid. We return that amount, flagged per row, on every plan including free.
When a listing sells through an accepted offer, eBay's public sold page displays the price the seller was asking, not the price the buyer paid. There is no amount on the page. Every tool that reads that page inherits the asking price, and so does every model built on top of it.
That is not a small correction. We matched 5,859 accepted Best Offer sales against the asking price shown for the same listing. The public figure was higher 99.0% of the time, by a median of 14.9%. Full method and the per category breakdown are in the study.
The direction matters as much as the size. The error is almost always upward, so anything priced off the public page is biased high in exactly the offer heavy categories where offers are most common, and the data itself will never show you the mistake.
Because from the public sold page it is. You can read for yourself that the accepted amount is not rendered there, and several competing scrapers state in their own documentation that the figure cannot be recovered. That is accurate about the public page. It is not accurate about eBay's own research data, which is where we read from, and which reports the settled amount.
We are not guessing, modelling or interpolating the offer. There is no estimate involved. If we cannot establish what a sale closed at, the row does not claim a Best Offer price.
The price on every row is already the settled amount, including on sales that closed through an accepted offer. There is nothing to switch on for that and no separate field to read: the correct number is simply the price.
curl -G https://api.compsapi.com/v1/sold \
-H "Authorization: Bearer YOUR_KEY" \
--data-urlencode "q=charizard psa 10" \
--data-urlencode "days=1095" \
--data-urlencode "best_offer=1"
What best_offer=1 adds is the label. With it, each sale that closed through an accepted offer carries best_offer: true, so you can tell which rows were negotiated rather than bought at the asking price. It annotates, it does not filter, and it does not change any price: verified 13 October 2026 across 59 overlapping listings, every price was identical with the flag on and off, and 12 of those 59 came back flagged.
That share is the useful part. Knowing that 20% of recent sales in a category were negotiated tells you how much of the market is actually transacting below the advertised price, which is not something the public sold page can tell you at all.
{
"ok": true,
"query": "omega seamaster 300m",
"items": [
{
"title": "Omega Seamaster Diver 300M 210.30.42.20.03.001",
"price": 3450.00,
"best_offer": true,
"last_sold": "2026-10-04T18:22:00Z",
"format": "FixedPrice",
"condition": "used"
}
]
}
A listing that sold several units at once reports a blended average across those units rather than one buyer's price, because that is the figure the underlying record holds. Single unit sales, which are the large majority, carry the exact settled amount. We would rather tell you that than have you find it.
Any category where offers are normal: watches, jewellery, musical instruments, car and motorcycle parts, graded cards above a few hundred, industrial and photographic equipment. In those categories the asking price is close to a list price and the offer is the market. Pricing, lending, insurance valuation and marketplace fee modelling all move once the real number replaces the advertised one.
It also changes sell through analysis. A listing that sat for ninety days and then moved at 18% off did not sell at the asking price, and treating it as though it did overstates both the price and the speed of the category.
Real Best Offer prices are on every plan, including the free key, which needs no card. Free covers 100 requests a month at 10 a minute. Paid plans run at 120 a minute, and each request returns up to 240 completed sales. See pricing.
100 free requests a month · every filter on · no card
Get a free key