TCGplayer catalog Source
Cards, sets and daily prices for 19 games, which we read through TCGCSV. We keep a copy of every day’s file, so we never have to ask for the same day twice.
ATLS stands for Authenticated Trading-Card Linking Standard. It’s a way to link every slab, listing and grader record to the one card it actually is, and to keep a single, trustworthy record for that card.
Build the best search in the industry, and fix the biggest problem in the space: the data.
This overview covers the problem we’re solving, where our data comes from, how our team keeps it accurate, and how search finds the right card from the words collectors really use.
The trading card market doesn’t share a common language. Each part of it grew up on its own, and each keeps its data its own way:
Nothing ties these together, because there’s no shared ID for a card. The same Charizard is one product in the catalog, several rows in PSA’s report (split by edition and finish), and whatever a seller managed to fit into an eBay title.
That leaves collectors doing the matching themselves, and never quite sure that two rows describe the same card, printed the same way.
ATLS brings the market into one place. Every card gets a single record that joins what used to live apart:
Fixing the data starts with a goal that’s simple to say and hard to do: unify the market in one place, and build the highest-quality record of it in the industry.
In practice, any graded card should lead you to its record, whether you type its name, a set code or a cert number, or just take a photo of the slab. From here, we’re working on:
Collecting is a hobby we love. For it to keep growing, it has to be easier to find your way around, especially for people who are just getting started.
We’re not trying to replace the marketplaces or the graders. They built the foundations this hobby runs on: grading people trust, and places to buy and sell with confidence. ATLS builds on top of that work. It’s a neutral, cross-platform aggregator of listings, prices and data, built to grow this space and bring more people into it.
That works for everyone involved:
We don’t sell placement. Our job is to show the market as it is, and to make it easier for more people to take part in it.
It helps to think of ATLS in layers. Readers pull from each source on that source’s own schedule. What they collect lands in four ledgers: catalog, population, pairings and market. The record joins those ledgers for a single card, and search sits on top, learning from what people pick.
We read each source at its own pace and within its terms, link back to wherever a listing came from, and label affiliate links clearly.
Cards, sets and daily prices for 19 games, which we read through TCGCSV. We keep a copy of every day’s file, so we never have to ask for the same day twice.
Graded population counts from PSA and Beckett. We record every change as it appears.
Live graded listings, read through the eBay Developers Program. Listing links are eBay Partner Network links, and your price is the same either way.
Some links to TCGplayer are affiliate links, through their partner program run by impact.com.
Listings and completed sales for graded cards held in their vault.
What people search for and which cards they pick. It helps tune search, and it’s never tied to who you are.
A population report is really a ladder: for one card, how many copies exist at each grade. Every time any rung changes, we store the whole ladder again, low grades included. That gives us a full history instead of a snapshot.
From that history we measure Pop growth, or how quickly a grade’s count is rising. New releases always get graded in a rush, so we compare each card with others released around the same time. A new set’s early wave doesn’t look like a signal that way, but a ten-year-old card whose PSA 10 count suddenly jumps does.
This is the heart of ATLS. Graders often split what the catalog calls one card into anywhere from 2 to 12 rows, by finish, edition, language, stamp or error. Neither list can hold the other, so we keep a third list of our own, called printings.
Here’s how a pair gets made:
So far that adds up to about 28,000 confirmed pairs across 23,000 printings.
Every minute, the market reader does three things. It crawls for new and changed listings, starting with the cards people are looking at. It resolves each listing to a card, a grade and, when the listing says so, a printing. And it settles listings as they close, recording how each one ended.
When a match isn’t clear, the listing goes to a review queue instead of onto a record. We only show listings while they’re fresh, and we don’t treat an accepted Best Offer as a known sale price, because it isn’t one.
Automation gets us most of the way, but a record is only as good as the checks behind it. So ATLS is built around a simple rule: machines propose, and our staff decide.
On a normal day, our team:
Two principles guide all of it: nothing reaches a record on a guess, and the grader’s own words are kept exactly as written. Because an admin’s pick counts as the strongest vote in search, a fix made by our team helps everyone right away.
Collectors don’t type catalog names. They type aa for alternate art, moonbreon for one very specific Umbreon, and etb when they mean an elite trainer box. Search is built to understand that language, and it works in four steps.
Google’s early breakthrough, PageRank, rested on two ideas. Every page had a standing score before anyone searched, and links from other pages worked like votes, with a vote from a trusted page counting for more. Our search borrows both ideas and applies them to cards.
| Idea | PageRank | ATLS |
|---|---|---|
| Standing score | Importance from the links pointing at a page | A card’s market value |
| Votes | Links from other pages | Collectors picking a card for their words |
| Weighted votes | Links from important pages count more | Corrections and admin picks count more |
| Staying current | The web is crawled again | Older votes fade over time |
We don’t run PageRank itself, since cards don’t link to each other the way web pages do. The principle carries over, though: a result earns its place from evidence outside the query, not just from matching the words. The four steps below show where each idea comes in.
First, we break the query into its parts: the name words, a set code and number (op04-001, or just op04 1), a cert number, a grade, the game, and whether you’re after sealed product.
Then we widen the words using three vocabularies. None of them replace what you typed; your own words always still count.
We look for matches in several ways. The fast, exact methods always run, and the slower ones only step in when results are thin.
| Method | Catches | Runs when |
|---|---|---|
| Code | op04-001 → that card and its reprints | A code is typed |
| Words | Every word, or its alias, in the name | Always |
| Spelling | luffi → luffy | Under 3 results |
| Meaning | straw hat captain gear 5 → the card it describes | Under 3 results |
| Near words | Close misspellings | Under 5 results |
A few details matter here. A spelling fix only sticks if it finds cards the typo couldn’t, so a rare but real word never gets “corrected” into a popular one. The meaning search compares text embeddings using an IVF index; we tried HNSW, but it returned confidently wrong matches among the catalog’s many near-identical cards. And if any one method is slow or down, the others still answer.
Results are sorted by a list of rules, and each rule only breaks ties left by the one above it:
Putting market value ahead of the alphabet is deliberate, and it’s the standing score from PageRank’s playbook. Someone typing luffy almost always wants the chase Luffys, not whichever Luffy happens to come first. There are a few special cases, too: sealed searches prefer the single product over a case of ten, 1st place means the prize card itself, and a set code prefers its original set over later reprints.
Every time someone picks a result, we treat it as a vote that says “these words mean this card.” Like links in PageRank, not every vote tells us the same amount, so they’re weighted:
Search also picks up new vocabulary. Every 12 hours, Claude reviews searches that failed and suggests new aliases. Each suggestion is checked against the catalog, then a person approves or rejects it. Nothing is added automatically.
The number we care about most is simple: is the right card the top result on the first try?
To track it, we keep an expert-curated validation set: real collector searches across the games, each paired by our team with the card it should find. Every change to search has to pass the full set before it ships, so improving one game can’t quietly break another. Alongside that, we watch searches that return nothing, picks below the top result, and speed.
Anyone who collects graded cards knows the routine. You have a card in hand and three tabs open, trying to work out whether a listing on one site matches the population count on another, and whether either of them is the printing you actually own. We started ATLS because that work shouldn’t fall on collectors.
Our job is to keep one record per card that people can rely on: what the card is, how many exist at each grade, and what it sells for. Software does the reading and matching at scale. Our team checks the work, because a record is only useful if you can trust it.
We’re still early. Plenty of lines on the ecosystem map are dashed, and every one of them is on our list. If you’re a collector, a seller, a grader or a platform and you’d like to work with us, we’d love to hear from you.
Search already knows a lot of the names collectors actually use. Here are a few favorites. Tap one to see where it lands.
Every one of these goes straight to the right card, and the list keeps growing as collectors search and our team approves new words.
We’ve built something we love, and we’re excited for you to try it.
ATLS stands for Authenticated Trading-Card Linking Standard. It’s a way to link every slab, listing and grader record to the one card it actually is, and to keep a single, trustworthy record for that card.
Build the best search in the industry, and fix the biggest problem in the space: the data.
This overview covers the problem we’re solving, where our data comes from, how our team keeps it accurate, and how search finds the right card from the words collectors really use.
The trading card market doesn’t share a common language. Each part of it grew up on its own, and each keeps its data its own way:
Nothing ties these together, because there’s no shared ID for a card. The same Charizard is one product in the catalog, several rows in PSA’s report (split by edition and finish), and whatever a seller managed to fit into an eBay title.
That leaves collectors doing the matching themselves, and never quite sure that two rows describe the same card, printed the same way.
ATLS brings the market into one place. Every card gets a single record that joins what used to live apart:
Fixing the data starts with a goal that’s simple to say and hard to do: unify the market in one place, and build the highest-quality record of it in the industry.
In practice, any graded card should lead you to its record, whether you type its name, a set code or a cert number, or just take a photo of the slab. From here, we’re working on:
Collecting is a hobby we love. For it to keep growing, it has to be easier to find your way around, especially for people who are just getting started.
We’re not trying to replace the marketplaces or the graders. They built the foundations this hobby runs on: grading people trust, and places to buy and sell with confidence. ATLS builds on top of that work. It’s a neutral, cross-platform aggregator of listings, prices and data, built to grow this space and bring more people into it.
That works for everyone involved:
We don’t sell placement. Our job is to show the market as it is, and to make it easier for more people to take part in it.
It helps to think of ATLS in layers. Readers pull from each source on that source’s own schedule. What they collect lands in four ledgers: catalog, population, pairings and market. The record joins those ledgers for a single card, and search sits on top, learning from what people pick.
We read each source at its own pace and within its terms, link back to wherever a listing came from, and label affiliate links clearly.
Cards, sets and daily prices for 19 games, which we read through TCGCSV. We keep a copy of every day’s file, so we never have to ask for the same day twice.
Graded population counts from PSA and Beckett. We record every change as it appears.
Live graded listings, read through the eBay Developers Program. Listing links are eBay Partner Network links, and your price is the same either way.
Some links to TCGplayer are affiliate links, through their partner program run by impact.com.
Listings and completed sales for graded cards held in their vault.
What people search for and which cards they pick. It helps tune search, and it’s never tied to who you are.
A population report is really a ladder: for one card, how many copies exist at each grade. Every time any rung changes, we store the whole ladder again, low grades included. That gives us a full history instead of a snapshot.
From that history we measure Pop growth, or how quickly a grade’s count is rising. New releases always get graded in a rush, so we compare each card with others released around the same time. A new set’s early wave doesn’t look like a signal that way, but a ten-year-old card whose PSA 10 count suddenly jumps does.
This is the heart of ATLS. Graders often split what the catalog calls one card into anywhere from 2 to 12 rows, by finish, edition, language, stamp or error. Neither list can hold the other, so we keep a third list of our own, called printings.
Here’s how a pair gets made:
So far that adds up to about 28,000 confirmed pairs across 23,000 printings.
Every minute, the market reader does three things. It crawls for new and changed listings, starting with the cards people are looking at. It resolves each listing to a card, a grade and, when the listing says so, a printing. And it settles listings as they close, recording how each one ended.
When a match isn’t clear, the listing goes to a review queue instead of onto a record. We only show listings while they’re fresh, and we don’t treat an accepted Best Offer as a known sale price, because it isn’t one.
Automation gets us most of the way, but a record is only as good as the checks behind it. So ATLS is built around a simple rule: machines propose, and our staff decide.
On a normal day, our team:
Two principles guide all of it: nothing reaches a record on a guess, and the grader’s own words are kept exactly as written. Because an admin’s pick counts as the strongest vote in search, a fix made by our team helps everyone right away.
Collectors don’t type catalog names. They type aa for alternate art, moonbreon for one very specific Umbreon, and etb when they mean an elite trainer box. Search is built to understand that language, and it works in four steps.
Google’s early breakthrough, PageRank, rested on two ideas. Every page had a standing score before anyone searched, and links from other pages worked like votes, with a vote from a trusted page counting for more. Our search borrows both ideas and applies them to cards.
| Idea | PageRank | ATLS |
|---|---|---|
| Standing score | Importance from the links pointing at a page | A card’s market value |
| Votes | Links from other pages | Collectors picking a card for their words |
| Weighted votes | Links from important pages count more | Corrections and admin picks count more |
| Staying current | The web is crawled again | Older votes fade over time |
We don’t run PageRank itself, since cards don’t link to each other the way web pages do. The principle carries over, though: a result earns its place from evidence outside the query, not just from matching the words. The four steps below show where each idea comes in.
First, we break the query into its parts: the name words, a set code and number (op04-001, or just op04 1), a cert number, a grade, the game, and whether you’re after sealed product.
Then we widen the words using three vocabularies. None of them replace what you typed; your own words always still count.
We look for matches in several ways. The fast, exact methods always run, and the slower ones only step in when results are thin.
| Method | Catches | Runs when |
|---|---|---|
| Code | op04-001 → that card and its reprints | A code is typed |
| Words | Every word, or its alias, in the name | Always |
| Spelling | luffi → luffy | Under 3 results |
| Meaning | straw hat captain gear 5 → the card it describes | Under 3 results |
| Near words | Close misspellings | Under 5 results |
A few details matter here. A spelling fix only sticks if it finds cards the typo couldn’t, so a rare but real word never gets “corrected” into a popular one. The meaning search compares text embeddings using an IVF index; we tried HNSW, but it returned confidently wrong matches among the catalog’s many near-identical cards. And if any one method is slow or down, the others still answer.
Results are sorted by a list of rules, and each rule only breaks ties left by the one above it:
Putting market value ahead of the alphabet is deliberate, and it’s the standing score from PageRank’s playbook. Someone typing luffy almost always wants the chase Luffys, not whichever Luffy happens to come first. There are a few special cases, too: sealed searches prefer the single product over a case of ten, 1st place means the prize card itself, and a set code prefers its original set over later reprints.
Every time someone picks a result, we treat it as a vote that says “these words mean this card.” Like links in PageRank, not every vote tells us the same amount, so they’re weighted:
Search also picks up new vocabulary. Every 12 hours, Claude reviews searches that failed and suggests new aliases. Each suggestion is checked against the catalog, then a person approves or rejects it. Nothing is added automatically.
The number we care about most is simple: is the right card the top result on the first try?
To track it, we keep an expert-curated validation set: real collector searches across the games, each paired by our team with the card it should find. Every change to search has to pass the full set before it ships, so improving one game can’t quietly break another. Alongside that, we watch searches that return nothing, picks below the top result, and speed.
Anyone who collects graded cards knows the routine. You have a card in hand and three tabs open, trying to work out whether a listing on one site matches the population count on another, and whether either of them is the printing you actually own. We started ATLS because that work shouldn’t fall on collectors.
Our job is to keep one record per card that people can rely on: what the card is, how many exist at each grade, and what it sells for. Software does the reading and matching at scale. Our team checks the work, because a record is only useful if you can trust it.
We’re still early. Plenty of lines on the ecosystem map are dashed, and every one of them is on our list. If you’re a collector, a seller, a grader or a platform and you’d like to work with us, we’d love to hear from you.
Search already knows a lot of the names collectors actually use. Here are a few favorites. Tap one to see where it lands.
Every one of these goes straight to the right card, and the list keeps growing as collectors search and our team approves new words.
We’ve built something we love, and we’re excited for you to try it.