Sports Card Sales API
Query individual sports-card sale records as clean JSON, including auction, fixed-price, and accepted-offer data.
What is the Sports Card Sales API?
The Card API gives developers programmatic access to individual transaction records for trading card sales through a single HTTP request and a consistent JSON schema.
This is transaction-level data rather than a blended price estimate. Supported accepted-offer records include the confirmed sale price rather than the original asking price.
The API covers 38+ card categories — baseball, basketball, football, hockey, soccer, Pokemon, sports memorabilia, and more — across all eBay listing types (auction, fixed price, and Best Offer).
Daily
Sales data updates
7
Platforms unified
38+
Card categories
Platform coverage
All seven platforms are included on every tier, including the free tier.
| Platform | Type | Listing types | True Best Offer |
|---|---|---|---|
| eBay | General marketplace | Auction · Fixed Price · Best Offer | Yes — accepted price |
What you get
Every feature is available on every tier — the difference between plans is volume and lookback depth, not feature gating.
Individual sale records
Every row is one transaction. Not a daily average, not a 30-day median — the actual sale, with price, date, title, platform, and listing type. Build any aggregation you need on top of the raw data.
True Best Offer prices
eBay Best Offer sales are notoriously opaque. We capture the actual accepted offer price, not the asking price — critical for accurate comparable analysis. Every record is tagged with listing_type.
Full-text search
Query by any combination of player name, set name, year, grade, parallel, or variation. One endpoint covers all eBay listing types simultaneously.
Rich filter params
Filter by date range (date_from + date_to), price range (min_price + max_price), and listing type (Auction, FixedPrice, BestOffer).
Daily sales updates
Newly indexed sale records are added to the API each day across supported categories.
Unified JSON schema
Every platform returns the same JSON shape: id, title, platform, listing_type, sale_price, sale_date, listing_url, category. One integration covers all seven sources.
CSV export
Download any filtered query as a CSV file for spreadsheet analysis, bulk loading into a database, or feeding a machine learning model. Export limits vary by tier.
MCP server for AI agents
7 AI-native tools for use with Claude, Cursor, and any MCP-compatible client. Pull card sales data directly into your AI workflow using natural language queries.
Code examples
Search for recent eBay card sales in your language of choice.
Python
import requests
resp = requests.get(
"https://thecardapi.com/api/v1/market/sales",
params={"q": "Mike Trout PSA 10", "date_from": "2025-04-01", "limit": 50},
headers={"x-market-api-key": "YOUR_API_KEY"},
)
for sale in resp.json()["data"]:
print(f"{sale['sale_date']} ${sale['sale_price']:,.0f} [{sale['listing_type']}] {sale['platform']}")JavaScript / Node.js
const params = new URLSearchParams({ q: "Mike Trout PSA 10", date_from: "2025-04-01", limit: "50" });
const res = await fetch(`https://thecardapi.com/api/v1/market/sales?${params}`, {
headers: { "x-market-api-key": "YOUR_API_KEY" },
});
const { data } = await res.json();
data.forEach(s => console.log(`${s.sale_date} $${s.sale_price} [${s.listing_type}] ${s.platform}`));curl
curl "https://thecardapi.com/api/v1/market/sales?q=Mike+Trout+PSA+10&date_from=2025-04-01&limit=50" \
-H "x-market-api-key: YOUR_API_KEY"Response
{
"data": [
{
"id": "ebay_3941827461",
"title": "2011 Topps Update Mike Trout RC #US175 PSA 10",
"platform": "eBay",
"listing_type": "BestOffer",
"sale_price": 2450.00,
"sale_date": "2025-04-12",
"listing_url": "https://www.ebay.com/itm/...",
"category": "Baseball Cards"
},
{
"id": "ebay_28391047",
"title": "2011 Topps Update Mike Trout Rookie #US175 BGS 9.5",
"platform": "eBay",
"listing_type": "Auction",
"sale_price": 2900.00,
"sale_date": "2025-04-10",
"listing_url": "https://www.ebay.com/itm/...",
"category": "Baseball Cards"
}
],
"total": 184,
"page": 1,
"per_page": 50
}Common use cases
What developers are building with The Card API.
Comp lookup tools
Build a comparable sales tool that shows recent eBay transactions for any card. The q parameter handles natural search queries like '2020 Bowman Chrome Wander Franco auto PSA 10'.
Portfolio valuation
Pull 7–30 days of comps for each card in a collection, calculate market price, and track value changes over time. Combine with the /daily endpoint for aggregate market stats.
AI agent integrations
Use the MCP server to give Claude or GPT access to live card market data. Agents can answer 'what did a Luka rookie sell for this week?' in natural language.
Market analytics dashboards
Build analytics showing price trends, volume by platform, auction vs. fixed price price divergence, and category-level market health.
Auction platform integrations
Embed sold-price comps directly into your auction listing creation flow to help sellers price accurately relative to recent market activity.
Machine learning models
Download bulk CSV exports to train regression models predicting card values from grade, player stats, set year, or condition. Historical data available on Pro and Enterprise tiers.
Pricing
Start free — upgrade only when your usage demands it.
Free
$0
- ✓5,000 sales/day
- ✓3-day lookback
- ✓Cursor pagination
- ✓MCP server access
- ✓Email support
Starter
$9/mo
- ✓10,000 sales/day
- ✓14-day lookback
- ✓CSV export
- ✓Everything in Free
Builder
$49/mo
- ✓50,000 sales/day
- ✓30-day lookback
- ✓CSV export
- ✓Everything in Starter
Pro
$199/mo
- ✓200,000 sales/day
- ✓90-day lookback
- ✓Catalog API included
- ✓Everything in Builder
Paid plans include a 7-day free trial.
Frequently asked questions
- What is the Sports Card Sales API?
- The Card API is a REST API that provides programmatic access to individual trading card sale records from eBay. Each record is a single completed transaction — one card, one sale, one price — with the true sold price, listing type, and date. It is not a price guide or average estimate; it is raw market transaction data.
- How is this different from eBay's own API?
- eBay's Browse API lets you search active listings and completed items, but it does not expose the true accepted price on Best Offer sales — it shows the listing price. The Card API captures the actual negotiated price on Best Offer transactions, giving you the true market value that eBay's own API hides.
- How many card sales are available per day on the free tier?
- The free tier allows 5,000 sale records per day with a 3-day lookback window. No credit card is required. This is sufficient for most hobby projects, comp tools, and AI agent use cases.
- Which card categories are covered?
- The API covers 38+ card categories including Baseball Cards, Basketball Cards, Football Cards, Hockey Cards, Soccer Cards, Pokemon, Magic: The Gathering, non-sport cards, sports memorabilia, golf, tennis, boxing, UFC/MMA, racing, and wrestling. All categories are available on all tiers.
- Does the API include Best Offer prices from eBay?
- Yes. The Card API captures the true accepted offer price on eBay Best Offer sales. This is a critical differentiator — most price guides and data sources report the listing price for Best Offer transactions, which can overstate actual sold prices by 15–40%. The listing_type field on every record identifies whether the sale was Auction, FixedPrice, or BestOffer.
- Can I access historical card sales data?
- Yes. The free tier includes a 3-day lookback window. The Pro tier ($199/month) extends this to 90 days, which is useful for trend analysis and price modeling. The Enterprise tier provides access to the full historical database from the API's inception.
- Is there an MCP server for AI agents?
- Yes. The Card API includes an MCP (Model Context Protocol) server at https://thecardapi.com/api/mcp with 7 AI-native tools. Any MCP-compatible client — Claude Desktop, Cursor, Claude Code — can query card market data directly using natural language. Configure it with your API key as a Bearer token.
Related resources
Start pulling card sales data
Free tier: 5,000 sales/day, 3-day lookback, no credit card required.
Get Free API Key →