Where the data comes from, how often it refreshes, and the things the site genuinely cannot do.
Pricing data comes from eBay's official APIs. Active listings and asking prices come from the Browse API. Recent sold prices come from the Finding API. Both are queried per prospect, per card type.
Stats come from Fangraphs minor league pages and from MLB.com's prospect stat feeds. These are scraped or fetched on a daily schedule and stored in PCR's database.
The prospect ranking is a composite of three sources: MLB Pipeline (top 100, scraped twice for stability), Fangraphs Top 300, and Baseball America Top 100 when available. Each prospect's composite rank is the average of their rank in whichever sources cover them. The catalog rebuilds daily.
The site tracks 300 prospects at any given time. The catalog is dynamic, not a fixed list. When a prospect debuts in the majors, gets traded, or drops out of the consensus top 300, they roll off. When a new player enters the top 300 (a new draft class, an international signing, a breakout), they get added.
For each prospect, PCR maintains:
The exact schedule of automated refreshes:
| What | How often | Notes |
|---|---|---|
| Top 100 prices (active listings) | Every 6 hours | Four snapshots per day, split into batches to stay under API rate limits. |
| Ranks 101–300 prices | Once per day | Runs in the morning, batched in 9 parts. |
| Minor league stats | Once per day | Pulled around 11:30am Eastern. |
| Prospect rankings | Daily | Composite rebuilds daily at 11:10am Eastern to catch source updates. |
| Sold listings (historical sales) | Once per day | Last 90 days of sold listings for each tracked card. |
Every page has a "last updated" timestamp visible at the bottom so you can confirm freshness.
eBay listing titles are messy. The same Bowman Chrome 1st Bowman auto can be listed as "2024 Bowman Chrome Prospect Auto," "2024 BCP Chrome Auto," "Bowman Chrome 1st Auto," and a hundred other variations. PCR's parser does its best to normalize these into a consistent set of card types and parallels.
The classification hierarchy:
Each card is given a single canonical bucket. Listings that don't match a recognized pattern are dropped from the price calculation so they don't pollute the average.
The verdict is a single label per prospect that compares two percentile ranks:
If the gap between the two is meaningfully positive (price is well below performance), the label is underpriced. If it's meaningfully negative (price is well above performance), the label is overpriced. The middle band is fair. The thresholds are intentionally conservative so the label doesn't change every refresh.
To be clear: this is a math observation about the data PCR has. It is not investment advice. Cards can be cheap because the player is injured, has off-field issues, or is fading without it showing up in stats yet. The label is a starting point for your own research, not the answer.
The things the site can't currently do well, kept here so you know what to discount.
If you've spotted something wrong, please tell me. The site only stays honest if collectors flag the mistakes.
Last updated: 2026-05-16