Where sold data comes from
Two sources, layered:
- TCGGOPRO — daily graded medians per (card, grade). Always available, ~30-day rolling.
- eBay Finding API — individual sale rows with date / price / seller. Real-time but heavily rate-limited.
What you see in the Sold tab
When you click Sold on any card detail or in the listing lightbox:
- We hit Finding API for the freshest individual sales
- If Finding succeeds, you see a row per sale with date / price / seller / type
- If Finding is rate-limited but our cache has ≥ 3 rows in the last 30 days, we serve those instead (with a small "from our database" pill)
- If neither has data, you see the Graded sales summary — a per-grade median table from TCGGOPRO
The "rate limited" message
eBay's Finding API caps us at ~5000 calls / day. If we exceed that, individual-sale rows aren't available temporarily, but you'll still see the graded median fallback. The cap resets at midnight Pacific.
How sold medians power the rest of the app
Bid Analysis on every eBay listing uses these medians as market value. The Price History chart shows individual sold points as small dots so you can see the actual transactions, not just averages.