
The Official Census, On Tap
Population reports are the closest thing the hobby has to ground truth on rarity — every card the grader has ever certified, broken down by grade. We deliver pop counts straight from the grading company's published census. No estimates, no inference, no opinions.
Card-level and set-level endpoints are free on every plan and never count toward your API usage. PSA pop on Baseball is live today. Other graders and other sports — Basketball, Hockey, Football, and Pokemon — are coming soon.
Free
No Usage Charge
Card
Level Endpoint
Set
Level Endpoint
Baseball
PSA Live Today
Pop Data, Not Estimates
Population is one of the few numbers in the hobby that isn't a judgment call. It's the grader's official census — and we deliver exactly what's published, nothing more.
Most "rarity" labels in the hobby are vibes. "Rare," "scarce," "tough" — these are conclusions, not data. Pop reports are different. When PSA publishes that 142 copies of a card exist at PSA 10, that's the number. There's no modeling, no algorithm, no opinion. It's a count.
That's why pop is the foundation of every serious rarity, comp, and investment view. It's also why we made the call to ship it free. Population context belongs on every card view — gating it behind usage quotas would force every app builder to choose between depth and budget. We don't want apps making that choice.
Card-level and set-level endpoints are free on every plan and don't count toward your monthly API allowance. The numbers come directly from the grader. What you build with them is up to you.
Same card, different grades:
Result:
A 234× scarcity gap between PSA 9 and PSA 10 — the kind of context that explains why a one-grade jump can carry a 10× price premium. Without pop, the price gap looks arbitrary. With pop, it's defensible.
Illustrative example. Real counts returned per card by the API.
Two Free Endpoints, Full Census Coverage
Card-level for individual rarity context. Set-level for registry, completion, and inventory views. Both free on every plan.
The full grade-by-grade census for a single card. Every grade the grading company has assigned, the count at that grade, qualifiers, and the calculated gem rate. Parallel-aware so a base card and its refractor return distinct populations.
- Per-grade counts across every published grade
- Qualifier breakdowns (OC, MK, MC, ST, etc.)
- Gem rate (PSA 10 / total graded)
- Parallel-aware: base and refractor tracked separately
- Includes last-updated timestamp from the grader
- Free — does not count toward API usage
Aggregate population across an entire set. The full grade distribution at the set level — useful for registry tools, set completion views, and identifying low-pop chases inside a release. Returns one census per grading company.
- Set-wide grade distribution
- Card-by-card pop with low-pop callouts
- Useful for set completion and registry views
- Aligned to CardSight's catalog set IDs
- Includes last-updated timestamp from the grader
- Free — does not count toward API usage
What App Builders Do With Pop
Pop reports unlock three of the highest-leverage features in any trading card application — rarity, comp justification, and market analysis. All built on the same free endpoints.
Rarity & Scarcity Context
Surface defensible rarity claims on every card view. "Only 142 PSA 10s exist" is a far stronger signal than "rare" — and it's the kind of context that turns a casual app into a tool collectors trust. Pop counts let your application explain why a card matters at a given grade.
Pricing Context & Comp Justification
Pair population with sales data and your app can finally answer the question users actually ask: why does this card cost what it costs? A PSA 10 priced 10× the PSA 9 makes sense when the pop is 18 versus 4,200. Pop is the missing context that makes a comp defensible.
Investment & Market Analysis
Build investor-grade dashboards on a foundation of census data. Gem rates, grade distributions, and pop growth over time are the metrics analysts use to evaluate scarcity and supply. Pop reports are the raw material for any serious market analysis tool.
Source Transparency
Every count is sourced directly from the grading company's published census. We don't synthesize, estimate, or interpolate. The number you get is the number the grader published — and the API includes the timestamp so your users know exactly how fresh the data is.
Parallel-Aware
Population is tracked at the parallel level, mirroring what each grader publishes. A Topps Chrome base, a Refractor, and a Gold Refractor /50 return separate pop counts — keyed to CardSight's parallel IDs so you can join pop with the rest of the catalog without translation.
Free at Every Level
Both endpoints are free on every plan, including the free tier. No usage charge. Pop calls don't draw down your quota. Build a collection view that hits the pop endpoint on every render — your monthly allowance won't notice.
Pop Counts in a Single Call
Two endpoints, both free. Card-level for rarity context on individual cards; set-level for registry, completion, and inventory tooling. Pair them with the price data API to justify comps with the census behind them.
import { CardSightAI } from 'cardsightai';
const client = new CardSightAI({ apiKey: 'your_api_key' });
// Card-level population — free, no quota draw
const pop = await client.population.card("card_abc123");
for (const company of pop.data.graded) {
for (const grade of company.grades) {
console.log(`${company.company_name} ${grade.grade_value}: ${grade.count}`);
}
console.log(`Gem rate: ${(company.gem_rate * 100).toFixed(2)}%`);
}
// Set-level population — also free
const setPop = await client.population.set("set_xyz789");
console.log(`Total cards graded across set: ${setPop.data.total}`);
// Pair pop with sales data to justify a comp
const pricing = await client.pricing.get("card_abc123");
// A PSA 10 with pop 18 and recent sales over $5,000
// tells a very different story than pop 4,200.Coverage & Roadmap
PSA pop data is live for Baseball today. Same approach as our price data rollout — we get it right with one sport and one grader before we scale, so you can trust the numbers from day one.
Graders covered: PSA (Professional Sports Authenticator), TAG (Technical Authentication & Grading), Beckett Grading Services, Sportscard Guaranty Corporation (SGC), and Certified Guaranty Company (CGC).
Baseball
Basketball
Hockey
Football
Pokemon
A Note on Coverage
Baseball + PSA is live today. Other graders on Baseball come next — TAG, then Beckett, then SGC, then CGC — each added only when the data is ingested, validated, and matches the grader's published numbers. New sports follow the same playbook: we onboard the data, prove it out on Baseball, and roll out from there. We won't announce a date until coverage is actually live. Adding a grader or sport does not change the free-tier promise: pop endpoints stay free as coverage expands.
Free, Forever — and We Mean It
Both pop endpoints — card-level and set-level — are free on every plan, including the free tier. Pop calls don't draw down your monthly allowance. Build a collection view that pulls pop counts on every render — your quota won't notice.
Explore Our Platform
Pop is most powerful paired with slab identification and price data. Identify the slab, look up its pop, and pull the comps — the full rarity-and-value picture in three calls.
Slab Identification
Read the slab, then look up its pop. Grading company, grade, and qualifiers from any photo.
Price Data
Pair pop with completed sales and live listings to justify any comp.
Card Identification
Snap a photo, get instant card identification. 99.5%accuracy across 8,250+ sets.
Card Catalog
14M+ trading cards from 1933 to present. The most comprehensive card database available via API.
Collection Management
Let your users track, organize, and manage their card collections. Powered by the full catalog.
Frequently Asked Questions
Common questions about CardSight AI's population reports — what they are, where the data comes from, and why both endpoints are free.
A population report is a grading company's official census of every card it has graded — broken down by grade. If PSA has graded 142 copies of a card as PSA 10, the pop report shows 142. It's the closest thing the hobby has to ground truth on rarity. Pop reports are why the difference between a PSA 9 and a PSA 10 can be a 10× price gap on a low-pop card.
Population context shouldn't be a paywalled feature. Apps that build rarity, comp, and investment views need pop counts on every card view — meaning they'd burn through API quotas just answering basic questions. So we made the call: card-level and set-level pop endpoints are free and never count toward your monthly API allowance, on every plan including the free tier.
Population counts come directly from grading company census reports — not estimates or inferences. PSA (Professional Sports Authenticator) is supported at launch for Baseball. TAG, Beckett, SGC, and CGC will roll out on Baseball first as each grader's pipeline is onboarded. Basketball, Hockey, Football, and Pokemon follow once Baseball is solid across all graders. We don't synthesize, estimate, or interpolate pop counts — what each grader publishes is what the API returns.
PSA pop data is refreshed on a regular cadence to track new submissions. Pop reports are inherently historical — every card the grader has ever certified — so refreshes accumulate rather than replace. The API response includes a last-updated timestamp so your application can show users when the count was last reconciled with the grader's published numbers.
No. Both pop endpoints — card-level and set-level — are free and do not count toward your monthly API usage on any plan, including the free tier. Build collection views, registry tools, and rarity dashboards that pull pop counts freely without watching your quota.
Yes — to the extent the grading company publishes them. PSA tracks population separately for parallels and special editions, so a Topps Chrome base and a Topps Chrome Gold Refractor /50 return distinct pop counts. The API mirrors the grader's parallel granularity using CardSight's parallel IDs, so a base card and its refractor are tracked separately.
Each grading company has its own data pipeline, and each sport has its own catalog scope to validate. We're getting Baseball + PSA right first, then onboarding the other graders for Baseball in order — TAG, then Beckett, then SGC, then CGC. Once Baseball is solid across all graders, we'll roll out Basketball, Hockey, Football, and Pokemon following the same playbook. We won't announce a date until coverage is actually live. Adding a grader or sport does not change the free-tier promise.
Population and price data are the natural pair — pop tells you how rare a grade is, and price tells you what that rarity is worth. Pull the card-level pop counts, then pull recent sales and live listings from the Price Data API for the same card. Apps use this pairing to justify a low-pop PSA 10 premium, surface gem-rate context, or build investor-grade scarcity views.
Tap any question to expand
A population report is a grading company's official census of every card it has graded — broken down by grade. If PSA has graded 142 copies of a card as PSA 10, the pop report shows 142. It's the closest thing the hobby has to ground truth on rarity. Pop reports are why the difference between a PSA 9 and a PSA 10 can be a 10× price gap on a low-pop card.
Population context shouldn't be a paywalled feature. Apps that build rarity, comp, and investment views need pop counts on every card view — meaning they'd burn through API quotas just answering basic questions. So we made the call: card-level and set-level pop endpoints are free and never count toward your monthly API allowance, on every plan including the free tier.
Population counts come directly from grading company census reports — not estimates or inferences. PSA (Professional Sports Authenticator) is supported at launch for Baseball. TAG, Beckett, SGC, and CGC will roll out on Baseball first as each grader's pipeline is onboarded. Basketball, Hockey, Football, and Pokemon follow once Baseball is solid across all graders. We don't synthesize, estimate, or interpolate pop counts — what each grader publishes is what the API returns.
PSA pop data is refreshed on a regular cadence to track new submissions. Pop reports are inherently historical — every card the grader has ever certified — so refreshes accumulate rather than replace. The API response includes a last-updated timestamp so your application can show users when the count was last reconciled with the grader's published numbers.
No. Both pop endpoints — card-level and set-level — are free and do not count toward your monthly API usage on any plan, including the free tier. Build collection views, registry tools, and rarity dashboards that pull pop counts freely without watching your quota.
Yes — to the extent the grading company publishes them. PSA tracks population separately for parallels and special editions, so a Topps Chrome base and a Topps Chrome Gold Refractor /50 return distinct pop counts. The API mirrors the grader's parallel granularity using CardSight's parallel IDs, so a base card and its refractor are tracked separately.
Each grading company has its own data pipeline, and each sport has its own catalog scope to validate. We're getting Baseball + PSA right first, then onboarding the other graders for Baseball in order — TAG, then Beckett, then SGC, then CGC. Once Baseball is solid across all graders, we'll roll out Basketball, Hockey, Football, and Pokemon following the same playbook. We won't announce a date until coverage is actually live. Adding a grader or sport does not change the free-tier promise.
Population and price data are the natural pair — pop tells you how rare a grade is, and price tells you what that rarity is worth. Pull the card-level pop counts, then pull recent sales and live listings from the Price Data API for the same card. Apps use this pairing to justify a low-pop PSA 10 premium, surface gem-rate context, or build investor-grade scarcity views.