Discover/TCDB API
live

TCDB APItcdb.com

Access TCDB trading card set listings, base checklists, and insert/parallel data by sport and year. 3 endpoints covering Football, Baseball, Basketball, and Hockey.

Endpoint health
verified 13h ago
list_sets
get_set_details
get_checklist
3/3 passing latest checkself-healing
Endpoints
3
Updated
4d ago

What is the TCDB API?

The TCDB API gives developers access to trading card set data across major sports through 3 endpoints. Use list_sets to browse sets by year and sport, get_set_details to retrieve base checklists alongside insert and parallel breakdowns, and get_checklist to pull every card in a set with number, player name, team, and special notations like rookie cards and short prints.

Try it
Year to list sets for (e.g. '2025', '2024', '2023').
Optional search query to filter sets by name (case-insensitive substring match). When omitted, all sets for the year/sport are returned.
Sport name to filter sets.
api.parse.bot/scraper/123aeda8-4611-4871-a592-2109a3f6434f/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/123aeda8-4611-4871-a592-2109a3f6434f/list_sets?year=2025&query=Donruss&sport=Football' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace tcdb-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.tcdb_trading_card_database_api import TCDB, CardSetSummary, CardSet, Card, Sport

tcdb = TCDB()

# Search for 2025 Baseball card sets
for card_set_summary in tcdb.cardsets.search(year="2025", sport=Sport.BASEBALL):
    print(card_set_summary.name, card_set_summary.sid)

# Get full details for a specific set
details = tcdb.cardsets.get(sid="538963")
print(details.metadata.info)
print(details.total_inserts_parallels)

for insert in details.inserts_and_parallels:
    print(insert.name, insert.sid)

# Navigate from a summary to its detail with limited inserts
for summary in tcdb.cardsets.search(year="2024", sport=Sport.FOOTBALL, limit=3):
    full = summary.details(limit_inserts=2)
    print(full.sid, full.total_inserts_parallels)

# Access cards sub-resource from a fetched set
card_set = tcdb.cardsets.get(sid="506623")
for card in card_set.cards.list(limit=10):
    print(card.number, card.name, card.team)
All endpoints · 3 totalmissing one? ·

List all trading card sets for a specific year and sport, optionally filtered by name. Returns an array of set summaries including set IDs usable with get_set_details and get_checklist. Results are not paginated; the full list for the given year/sport is returned in one response. When query is provided, only sets whose name contains the query (case-insensitive) are returned.

Input
ParamTypeDescription
yearstringYear to list sets for (e.g. '2025', '2024', '2023').
querystringOptional search query to filter sets by name (case-insensitive substring match). When omitted, all sets for the year/sport are returned.
sportstringSport name to filter sets.
Response
{
  "type": "object",
  "fields": {
    "sets": "array of set summary objects with sid, name, url, sport, and year"
  },
  "sample": {
    "data": {
      "sets": [
        {
          "sid": "506623",
          "url": "https://www.tcdb.com/ViewSet.cfm/sid/506623/2025-Bowman",
          "name": "2025 Bowman",
          "year": "2025",
          "sport": "Baseball"
        }
      ]
    },
    "status": "success"
  }
}

About the TCDB API

Set Discovery

The list_sets endpoint accepts optional year and sport parameters — valid sport values are Football, Baseball, Basketball, and Hockey — and returns an array of set objects. Each object includes a sid (set ID), name, url, sport, and year. That sid flows directly into the other two endpoints, so discovery is the natural starting point for any workflow.

Set Details and Insert/Parallel Checklists

get_set_details accepts a required sid and an optional limit_inserts integer. The response bundles three data structures: a metadata object with a freeform info string describing the set, a base_checklist array of card objects (each with number, name, team, and notations), and an inserts_and_parallels array where each entry carries its own sid, name, and nested cards array. The total_inserts_parallels integer tells you how many insert/parallel sets exist for the set, which matters when limit_inserts is lower than that total.

Full Checklist Retrieval

get_checklist takes a single required sid and returns the complete cards array for that set, with pagination handled automatically. Each card object exposes number, name, team, and notations. Notations capture designations such as rookie cards, short prints, and variations — structured details that are otherwise tedious to collect manually from set checklists.

Reliability & maintenanceVerified

The TCDB API is a managed, monitored endpoint for tcdb.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tcdb.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official tcdb.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
13h ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a personal card collection tracker that syncs set checklists by sport and year using list_sets and get_checklist.
  • Identify all rookie card notations in a given set's base checklist for targeted collecting or valuation research.
  • Enumerate insert and parallel sets for a specific release to map out the full product breakdown with get_set_details.
  • Populate a card database application with structured player, team, and card-number data across multiple sports seasons.
  • Compare insert and parallel counts across sets in the same year to analyze product complexity trends.
  • Build a checklist completion app that shows which cards a user still needs from a given sid.
  • Aggregate short print and variation notations across multiple Football or Baseball sets to flag scarcity for collectors.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does TCDB offer an official developer API?+
TCDB does not publish a documented public developer API. The site is primarily a community-driven database accessible through its web interface at tcdb.com.
What does the `notations` field on a card object contain?+
The notations field carries designations associated with that specific card, such as rookie card markers, short print indicators, and variation labels. Not every card will have notations — the field reflects only the designations TCDB associates with that entry in its checklist.
Can I retrieve card market prices or sale history through this API?+
Not currently. The API covers set metadata, base checklists, insert/parallel checklists, and card notations — no pricing or transaction data is exposed. You can fork this API on Parse and revise it to add an endpoint targeting marketplace or sale history data.
How does `limit_inserts` affect the `get_set_details` response?+
Setting limit_inserts caps how many insert/parallel checklists are fetched and included in the inserts_and_parallels array. The total_inserts_parallels field in the response always reflects the true total available for that set, so you can detect when the limit cut the list short and decide whether to raise it.
Is player search or card-level search by player name supported?+
Not currently. The API retrieves sets and their checklists by sid, year, and sport — there is no endpoint that accepts a player name and returns matching cards across sets. You can fork this API on Parse and revise it to add a player-search endpoint if cross-set lookup is needed.
Page content last updated . Spec covers 3 endpoints from tcdb.com.
Related APIs in SportsSee all →
tcgplayer.com API
Search for trading cards across all games and sets on TCGPlayer, and instantly access detailed pricing information by condition plus current seller listings with prices, shipping costs, and seller ratings. Compare card values and find the best deals from multiple sellers all in one place.
pokemontcg.com API
Search and browse detailed information about Pokémon Trading Card Game cards and sets, including card types, rarities, and supertypes. Filter cards by set, rarity, and attributes to find exactly what you're looking for in the TCG database.
beckett.com API
Search and retrieve trading card news articles from Beckett.com across non-sport and vintage card categories, including checklists and set information. Browse posts by category or look up specific articles to stay updated on the latest card market trends and releases.
pkmncards.com API
Search and browse Pokémon trading card game cards with detailed metadata, high-quality images, and advanced filtering by set, Pokémon name, or card type. Filter across thousands of cards from different sets to find exactly what you're looking for.
psacard.com API
Look up PSA certification details for graded collectible cards and search comprehensive population reports and price guides across all card categories. Browse collectible categories by set to discover grading data, pricing information, and population statistics.
pokemontcg.io API
Search and retrieve detailed information about Pokémon Trading Card Game cards, including card stats, types, attacks, abilities, rarity, set information, images, and pricing data.
cardmarket.com API
Search and browse trading cards across Europe's largest marketplace, accessing detailed card information, listings, seller profiles, and finding the best bargains all in one place. Explore games and expansions to discover available singles and compare prices from multiple sellers.
pricecharting.com API
Access collectible pricing data from PriceCharting.com. Search for Pokémon cards, US coins, and other collectibles to retrieve current prices across multiple grades (ungraded, PSA 9, PSA 10, MS62, MS66, and more), browse full set listings, view historical price trends, and explore recent sold listings.