Discover/Card Ladder API
live

Card Ladder APIcardladder.com

Access Card Ladder pricing data, CL values, confidence scores, and aggregated sales history for trading cards via 4 endpoints. Search by name, set, or cert number.

This API takes change requests — .
Endpoint health
verified 1d ago
get_card_sales
search_cards
get_card_value
search_by_cert
4/4 passing latest checkself-healing
Endpoints
4
Updated
1d ago

What is the Card Ladder API?

The Card Ladder API exposes 4 endpoints covering sports card search, valuation, and transaction history from cardladder.com. Use search_cards to query by player name, set, year, or category and get back current values and market data. From there, get_card_value returns the CL computed value alongside a 1–5 confidence score, price movement, and period summaries, while get_card_sales delivers day-by-day aggregated sales records sorted newest first.

Try it
Zero-based page index for pagination.
Sort order for results.
Maximum number of results per page.
Search query for card name, player, set, year, or any combination (e.g. 'Michael Jordan', '1986 Fleer', 'Pikachu PSA 10').
Filter results by card category. Omitted returns all categories.
api.parse.bot/scraper/97d5f4bc-6c65-4546-8f71-76149a5533cb/<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/97d5f4bc-6c65-4546-8f71-76149a5533cb/search_cards?page=0&sort=score&limit=5&query=Michael+Jordan&category=Basketball' \
  -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 cardladder-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.

"""Walkthrough: Card Ladder SDK — bounded, re-runnable; every call capped."""
from parse_apis.Card_Ladder_API import CardLadder, Category, GradingCompany, CardNotFound

client = CardLadder()

# Search for trading cards by player name, capped at 3 results.
for card in client.cards.search(query="Michael Jordan", category=Category.BASKETBALL, limit=3):
    print(card.label, card.current_value, card.condition)

# Look up a card by its PSA cert number.
cert_result = client.cert_cards.search(grading_company=GradingCompany.PSA, cert_number="122040380", limit=1).first()
if cert_result:
    print(cert_result.label, cert_result.cl_value, cert_result.confidence)

# Fetch detailed value and sales history for a card found via search.
card = client.cards.search(query="LeBron James", limit=1).first()
if card:
    value = client.card_values.get(card_id=card.id)
    print(value.label, value.cl_value, value.confidence, value.cert_number)

    history = client.sales_histories.get(card_id=card.id)
    print(history.label, history.total_sales, "total sales")
    for sale in history.sales[:3]:
        print(sale.date, sale.price, sale.count)

# Typed error handling: catch when a card ID doesn't exist.
try:
    client.card_values.get(card_id="nonexistent_id")
except CardNotFound as e:
    print("not found:", e.card_id)

print("exercised: cards.search / cert_cards.search / card_values.get / sales_histories.get")
All endpoints · 4 totalmissing one? ·

Full-text search across Card Ladder's trading card database. Returns cards matching the query with current values, market data, and price trends. Results are ranked by relevance score by default. Each card includes its unique ID for use with get_card_value and get_card_sales.

Input
ParamTypeDescription
pageintegerZero-based page index for pagination.
sortstringSort order for results.
limitintegerMaximum number of results per page.
queryrequiredstringSearch query for card name, player, set, year, or any combination (e.g. 'Michael Jordan', '1986 Fleer', 'Pikachu PSA 10').
categorystringFilter results by card category. Omitted returns all categories.
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page index",
    "cards": "array of card objects with id, label, slug, player, year, set, number, variation, condition, category, current_value, market_value, num_sales, pop, last_sold_date, and percent change metrics",
    "limit": "integer page size",
    "total_hits": "integer total number of matching cards"
  },
  "sample": {
    "data": {
      "page": 0,
      "cards": [
        {
          "id": "JvbEFar2vAm92D23yFXU",
          "pop": 131,
          "set": "Star",
          "slug": "1984-star-michael-jordan-base-101-psa-6",
          "year": "1984",
          "label": "1984 Star Michael Jordan Base #101 PSA 6",
          "number": "101",
          "player": "Michael Jordan",
          "category": "Basketball",
          "condition": "PSA 6",
          "num_sales": 95,
          "variation": "Base",
          "market_value": 102023,
          "current_value": 102023,
          "last_sold_date": "2026-07-19T10:00:00.000Z",
          "annual_percent_change": 2.52,
          "monthly_percent_change": 0.045,
          "quarterly_percent_change": 0.64
        }
      ],
      "limit": 5,
      "total_hits": 1847
    },
    "status": "success"
  }
}

About the Card Ladder API

Search and Identify Cards

The search_cards endpoint accepts a free-text query parameter — player name, card set, year, or any combination like '1986 Fleer Michael Jordan' — and returns an array of card objects each containing id, label, player, year, set, number, variation, condition, category, current_value, and market_value. Results support zero-based pagination via page and limit, a sort parameter, and an optional category filter. The total_hits field tells you how many cards matched across all pages. The id returned here is the card_id required by the other two detail endpoints.

Card Valuation Details

get_card_value takes a card_id and returns Card Ladder's computed cl_value in dollars alongside a confidence integer on a 1–5 scale, indicating how much sales data underlies the estimate. The response also includes market_value, the gap between CL and market values, price_movement, and a newest_sale object with the price and date of the most recent recorded transaction. Where applicable, grading_company (e.g. psa, bgs) and cert_number are included.

Sales History

get_card_sales returns aggregated daily sales for a card. Each entry in the sales array carries a date (MM/DD/YYYY format), a price in dollars representing that day's total, and a count of individual transactions. Results are sorted newest first, and the total_sales integer gives the full count of recorded transactions for that card across all dates.

Certificate Lookup

search_by_cert lets you find a graded card directly by its cert_number and grading_company — the values printed on the physical slab label — bypassing free-text search entirely. The response mirrors the search_cards card shape, including identification fields and current pricing.

Reliability & maintenanceVerified

The Card Ladder API is a managed, monitored endpoint for cardladder.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cardladder.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 cardladder.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
1d ago
Latest check
4/4 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
  • Track real-time market value changes for a specific graded PSA or BGS card using get_card_value
  • Build a portfolio tracker that monitors cl_value and confidence scores across multiple card IDs
  • Identify undervalued cards by comparing cl_value against market_value via the gap field
  • Analyze daily price volatility for a card by charting aggregated price and count data from get_card_sales
  • Look up a card's identity and current value directly from a slab's cert number using search_by_cert
  • Filter search results by category to scope queries to a specific sport or card type
  • Populate a card database with structured metadata — year, set, variation, condition — from search_cards
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 Card Ladder offer an official developer API?+
Card Ladder does not publicly document or offer an official developer API. This Parse API provides structured programmatic access to the data available on cardladder.com.
What does the `confidence` score in `get_card_value` represent?+
It is an integer from 1 to 5 that reflects how much recent sales data underlies the CL value estimate. A score of 5 means there is substantial transaction history supporting the valuation; a score of 1 means the estimate is based on limited data. The response also includes a gap field showing the dollar difference between the computed CL value and the current market value.
Does the sales history endpoint return individual transaction records?+
get_card_sales returns aggregated daily records, not individual transactions. Each entry in the sales array represents one calendar day, with a combined price total and a count of how many sales occurred on that date. Individual sale-level records (buyer, seller, platform) are not exposed. You can fork this API on Parse and revise it to add an individual-transaction endpoint if that granularity is needed.
Can I filter `search_cards` results by grading company or card condition?+
The search_cards endpoint supports filtering by category and sorting via sort, but grading company and condition are not available as standalone filter parameters — though condition does appear as a field on each returned card object. You can fork this API on Parse and revise it to add those filter parameters to the endpoint.
How fresh is the pricing data returned by these endpoints?+
The newest_sale field in get_card_value includes the date of the most recent recorded transaction, which gives a direct indicator of data freshness for any individual card. Cards with low trading volume may have older newest_sale dates and correspondingly lower confidence scores.
Page content last updated . Spec covers 4 endpoints from cardladder.com.
Related APIs in MarketplaceSee 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.
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.
130point.com API
Search for sold trading cards across eBay, Goldin, Heritage Auctions, Pristine Auction, MySlabs, and Fanatics Collect to find historical prices, sale dates, and marketplace information all in one place. Get comprehensive sales data to research card values and track market trends across multiple platforms instantly.
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.
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.
snkrdunk.com API
Access data from snkrdunk.com.
tcdb.com API
Browse and retrieve detailed trading card information from the Trading Card Database (TCDB), including set listings, checklists, parallel variants, and special notations such as rookie cards, short prints, and variations. Search across sports and years to access comprehensive card and set metadata.
cardkingdom.com API
Search and browse Magic: The Gathering cards with real-time pricing and availability from Card Kingdom, including buylist prices and current deals. Find card details across all editions and filter by format to discover the best prices across the full catalog.