Discover/Cardhedger API
live

Cardhedger APIai.cardhedger.com

Access data from ai.cardhedger.com.

Endpoint health
monitored
get_card_prices
get_price_history
search_cards
Checks pendingself-healing
Endpoints
3
Updated
52m ago
This call costs1 credit / call— charged only on success
Try it
1-based page number over the result set.
Rows per page; values above 100 are clamped to 100.
Free-text search term matched against player/character name, set and card description (one shape: a character name such as Charizard).
api.parse.bot/scraper/b4aadeb8-b3ae-463a-906f-670a9fb58337/<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/b4aadeb8-b3ae-463a-906f-670a9fb58337/search_cards?query=Charizard' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 3 totalmissing one? ·

Searches the card database by free text (player/character name, set, or card description) and returns one row per card with its card_id, current guide prices for the card's headline grades, 7-day and 30-day sales counts, and 7-day / 30-day price change ratios (0.05 = +5%). Results are paginated: page selects the page (default 1) and limit caps rows per page (default 24, max 100); total_pages, total_count and has_more come from the site. Empty cards with total_count 0 is a valid result for a term the site does not know. One request per call.

Input
ParamTypeDescription
pageinteger1-based page number over the result set.
limitintegerRows per page; values above 100 are clamped to 100.
queryrequiredstringFree-text search term matched against player/character name, set and card description (one shape: a character name such as Charizard).
Response
{
  "type": "object",
  "fields": {
    "page": "page returned",
    "cards": "array of card summaries: card_id, description, player, set, number, variant, category, category_group, rookie, image, sales_7d, sales_30d, change_7d_pct and change_30d_pct (ratios, 0.05 = +5%), prices (array of {grade, price}; price null when the site has none for that grade)",
    "limit": "effective page size after clamping",
    "query": "echoed search term",
    "has_more": "true when page < total_pages",
    "total_count": "total matching cards reported by the site",
    "total_pages": "total number of pages reported by the site"
  },
  "sample": {
    "data": {
      "page": 1,
      "cards": [
        {
          "set": "1999 Pokemon Base Set",
          "image": "https://942284f33c575895b4be9de571ca6e40.cdn.bubble.io/d112/f1756064630628x689750735303082960/crop_image",
          "number": "4",
          "player": "Charizard",
          "prices": [
            {
              "grade": "PSA 10",
              "price": 37966
            },
            {
              "grade": "PSA 9",
              "price": 3300
            },
            {
              "grade": "Raw",
              "price": 355
            }
          ],
          "rookie": false,
          "card_id": "1646615786118x244697357144328930",
          "variant": "Base",
          "category": "Pokemon",
          "sales_7d": 96,
          "sales_30d": 436,
          "description": "Charizard Holo 1999 Pokemon Base Set",
          "change_7d_pct": 0,
          "category_group": "Trading Cards",
          "change_30d_pct": 0.4219325843
        }
      ],
      "limit": 5,
      "query": "Charizard",
      "has_more": true,
      "total_count": 359,
      "total_pages": 72
    },
    "status": "success"
  }
}

About the Cardhedger API

The Cardhedger API on Parse exposes 3 endpoints for the publicly available data on ai.cardhedger.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.