NewThe Catalog API is live — 15M+ cards with permanent UCIDs. Included with Pro.Explore →
The Card API
Sales records updated daily

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.

PlatformTypeListing typesTrue Best Offer
eBayGeneral marketplaceAuction · Fixed Price · Best OfferYes — 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
Most popular

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.

Start pulling card sales data

Free tier: 5,000 sales/day, 3-day lookback, no credit card required.

Get Free API Key →