Sports Card Database APIsportscarddatabase.com ↗
Search baseball, basketball, football, and hockey cards. Retrieve card details, browse sets by sport and year, and pull full set checklists via the sportscarddatabase.com API.
What is the Sports Card Database API?
The Sports Card Database API provides 4 endpoints covering card search, individual card detail, set listings, and full set checklists across baseball, basketball, football, and hockey. The search_cards endpoint returns up to 50 cards per page including card_id, player_name, year, set_name, card_number, is_rookie, print_run, and image URLs, with filters for player, year, sport, and set name.
curl -X GET 'https://api.parse.bot/scraper/9871aafb-01c8-48b4-991b-752833d2c5e8/search_cards?sport=baseball&player=Jeter' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for sports cards by player name, year, and/or set name. Returns paginated results with card IDs, descriptions, attributes, and image URLs. Results are ordered chronologically. Each page returns up to 50 cards.
| Param | Type | Description |
|---|---|---|
| set | string | Card set name to search for (e.g. 'Topps', 'Bowman'). |
| page | integer | Page number for pagination (1-based). |
| year | string | Card year to filter by (e.g. '1993', '2020'). |
| sport | string | Sport to search within. Defaults to baseball when omitted. |
| player | string | Player name to search for (e.g. 'Jeter', 'Michael Jordan'). At least one of player, year, or set must be provided. |
{
"type": "object",
"fields": {
"page": "integer current page number",
"cards": "array of card objects with card_id, description, player_name, year, set_name, card_number, attributes, is_rookie, print_run, image_url",
"sport": "string sport searched",
"total": "integer total number of matching cards across all pages"
},
"sample": {
"data": {
"page": 1,
"cards": [
{
"year": "1970",
"card_id": "14756",
"set_name": "Topps",
"image_url": "http://www.sportscarddatabase.com/images/14756.jpg",
"is_rookie": false,
"print_run": null,
"attributes": null,
"card_number": "141",
"description": "1970 Topps #141 Pirates Rookie Stars - Dave Cash / Johnny Jeter",
"player_name": "Pirates Rookie Stars - Dave Cash / Johnny Jeter"
}
],
"sport": "baseball",
"total": 6332
},
"status": "success"
}
}About the Sports Card Database API
Card Search and Detail
The search_cards endpoint accepts any combination of player, year, set, and sport parameters (at least one must be provided) and returns paginated results ordered chronologically. Each card object in the response includes card_id, description, player_name, year, set_name, card_number, attributes, is_rookie, print_run, and image_url. The sport parameter defaults to baseball when omitted. For deeper detail on any individual card, pass its card_id to get_card, which returns the full players array (supporting multi-player cards), the set_id for further set lookups, and a boolean is_rookie flag alongside any attributes like short prints.
Set Browsing and Checklists
The list_sets endpoint returns sets for a given sport filtered by an optional year parameter. Response objects include set_id, set_name, year, sport, and card_count. Be aware that omitting the year filter for baseball can return 20,000+ sets, so filtering by year is advisable for most use cases. Once you have a set_id, pass it to get_set to retrieve the full checklist: every card in the set with its card_id, card_number, player_name, description, attributes, and print_run. The card_count field in the response confirms total checklist size.
Coverage and Data Fields
All four sports — baseball, basketball, football, and hockey — are accessible across endpoints by passing the appropriate sport parameter. The attributes field in both search and set results surfaces special designations (for example, Rookie, Short Print) as an array of strings, and print_run is included where known. Card front images are returned as direct URLs via image_url, which may be null if no image is on file.
The Sports Card Database API is a managed, monitored endpoint for sportscarddatabase.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when sportscarddatabase.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 sportscarddatabase.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.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a card collection tracker using
card_id,set_name,card_number, andis_rookieflags fromsearch_cards. - Generate year-by-year set catalogs for a specific sport using
list_setsfiltered byyearandsport. - Populate a card database with full checklists by iterating
get_setfor eachset_idfromlist_sets. - Identify all rookie cards for a player by filtering
search_cardsresults onis_rookie: true. - Display card images and metadata in a collector app using
image_urlanddescriptionfromget_card. - Find cards with limited print runs by extracting the
print_runfield across set checklists. - Support autofill or autocomplete for set names by querying
list_setsand readingset_namevalues.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does sportscarddatabase.com have an official developer API?+
What does `get_set` return, and how is it different from `search_cards`?+
get_set returns the complete checklist for a single set identified by set_id, including every card's card_id, card_number, player_name, description, attributes, and print_run. search_cards is better for cross-set lookups by player or year; get_set is for exhaustive enumeration of one specific set.What happens if I omit the `year` filter when calling `list_sets` for baseball?+
year value keeps responses manageable.