Trading Card API
The REST API for trading card sales data. Individual transaction records from eBay, Goldin, Heritage, and 4 more platforms — sports cards, Pokemon, MTG, and 38+ other categories. Free tier, no credit card.
200K+
Daily transactions
7
Platforms covered
38+
Card categories
$0
To start
What is The Card API?
The Card API is a REST API (and MCP server) that provides individual trading card sale records from every major marketplace. Instead of aggregated price estimates, you get the actual transactions — with price, date, listing type, platform, and listing URL.
One GET /sales endpoint handles everything: recent sales, historical date ranges, platform filters, listing type filters, and full-text search across titles. Your application or AI agent gets consistent, normalized data regardless of which platform the sale came from.
For developers
- ✓Clean REST API — one endpoint
- ✓JSON responses with consistent schema
- ✓API key auth (x-market-api-key header)
- ✓Pagination via offset/limit
- ✓CSV export endpoint
- ✓Webhook notifications (Pro+)
For AI agents
- ✓MCP server with 7 tools
- ✓Works with Claude, Cursor, Claude Code
- ✓llms.txt and llms-full.txt available
- ✓Structured JSON responses
- ✓search_sales, get_market_analysis tools
- ✓No code required — just config + key
Quick start
Three lines to query the trading card API:
curl "https://thecardapi.com/api/v1/market/sales?q=Mike+Trout+Rookie+PSA+10&limit=10" \
-H "x-market-api-key: tca_your_key_here"import requests
sales = requests.get(
"https://thecardapi.com/api/v1/market/sales",
params={"q": "Mike Trout Rookie PSA 10", "limit": 10},
headers={"x-market-api-key": "tca_your_key_here"},
).json()["data"]
for s in sales:
print(f"{s['platform']:12} {s['listing_type']:12} ${s['sale_price']:>8,.0f} {s['sale_date']}")const BASE = "https://thecardapi.com/api/v1/market";
const { data: sales } = await fetch(
`${BASE}/sales?q=Mike+Trout+Rookie+PSA+10&limit=10`,
{ headers: { "x-market-api-key": "tca_your_key_here" } }
).then((r) => r.json());
sales.forEach((s) =>
console.log(s.platform, s.listing_type, s.sale_price, s.sale_date)
);API reference — key parameters
| Parameter | Type | Description |
|---|---|---|
| q | string | Full-text search across listing titles |
| platform | string | eBay | Goldin | Heritage | REA | Fanatics-Vault | Alt | Pristine |
| listing_type | string | Auction | FixedPrice | BestOffer |
| date_from | YYYY-MM-DD | Start of date window (inclusive) |
| date_to | YYYY-MM-DD | End of date window (inclusive). Defaults to today |
| price_min | number | Minimum sale price in USD |
| price_max | number | Maximum sale price in USD |
| limit | integer | Records per page (max 500) |
| offset | integer | Pagination offset |
Base URL: https://thecardapi.com/api/v1/market/sales · Auth header: x-market-api-key: tca_...
Pricing
Free
$0
- ✓10,000 sales/day
- ✓7-day lookback
- ✓CSV export (10K rows)
- ✓MCP server access
Starter
$9/mo
- ✓50,000 sales/day
- ✓7-day lookback
- ✓CSV export (50K rows)
- ✓Priority support
Pro
$49/mo
- ✓500,000 sales/day
- ✓30-day lookback
- ✓Unlimited CSV export
- ✓Webhook notifications
Enterprise
Custom
- ✓Unlimited sales/day
- ✓Full history
- ✓S3 bulk delivery
- ✓Dedicated support + SLA
Frequently asked questions
What is the trading card API?
A REST API providing individual sale records for trading cards from eBay, Goldin, Heritage, REA, Fanatics Vault, Alt, and Pristine. Sports cards, Pokemon, MTG, and 38+ other categories.
How do I get an API key?
Sign up at thecardapi.com. The free tier is instant — no credit card required. Your key is passed in the x-market-api-key header on every request.
What card categories are supported?
38+ categories: Baseball, Basketball, Football, Hockey, Soccer, Pokemon TCG, Magic: The Gathering, and others. Search across all categories or filter to a specific one.
Does the API include historical price data?
Yes, with date_from and date_to parameters. Free: 7-day lookback. Pro: 30 days. Enterprise: full history.
Can I use the trading card API with AI tools?
Yes. The MCP server works with Claude Desktop, Cursor, Claude Code, and any MCP-compatible client — 7 AI-native tools, no integration code required.
How does the API handle eBay Best Offer prices?
Every eBay Best Offer transaction records the actual accepted price, not the listing price. The listing_type field is set to 'BestOffer' so you can filter or analyze these separately.
Explore by use case
Sports Card Sales API
Recent sales from all major platforms
eBay Sold Card Prices API
eBay Best Offer and auction data
Baseball Card Price Data
MLB card search and comp analysis
Pokemon Card Prices API
Pokemon TCG sales including PSA graded
PSA Graded Card Prices
Graded card comps — all sports and TCGs
Card Price History API
Historical price trends by date range
Start querying card sales data
Free tier: 10,000 sales/day, 7-day lookback, MCP server access — no credit card required.