TCGiant Pricing API

Access trading card market prices, eBay sold listings, and historical price data. Build price guides, collection trackers, and pricing tools with our REST API.

Overview

  • ✅ Requests are made over HTTPS
  • ✅ Responses are returned in JSON format
  • CORS headers included for cross-site requests
  • ✅ Prices are integers in cents (e.g., $17.32 = 1732)
  • ✅ Dates are encoded as YYYY-MM-DD strings

Authentication

Every API call requires an API key. Pass it as a query parameter or header:

# Query parameter
curl "https://pricing.tcgiant.com/api/v1/card?key=YOUR_API_KEY&id=123"
# Header
curl -H "X-Api-Key: YOUR_API_KEY" "https://pricing.tcgiant.com/api/v1/card?id=123"

Rate Limits

TierRequests/MinRequests/DayPrice
Free10100$0
Pro6010,000TBD

Error Handling

Every response includes a status field set to success or error.

{ "status": "error", "error-message": "API key is required." }

API Endpoints

GET

/api/v1/card

Get a single card with prices across all 15 conditions.

Parameters

NameTypeRequiredDescription
idintegerNoCard ID
slugstringNoCard slug
qstringNoSearch query (card name, set, number)

Example

curl "https://pricing.tcgiant.com/api/v1/card?key=YOUR_KEY&id=123" { "status": "success", "id": "123", "name": "Charizard", "card_number": "4/102", "set_name": "Base Set", "game": "Pokemon", "image_url": "https://...", "prices": { "ungraded": 32500, "grade_1": 8500, "grade_9": 95000, "grade_9_5": 150000, "psa_10": 420000, "cgc_10": 280000, "bgs_10": 350000, "tag_10": 180000 }, "sale_count": 847, "last_updated": "2026-07-07" }
GET

/api/v1/cards

Search and list cards with pagination.

Parameters

NameTypeRequiredDescription
qstringNoSearch query
setstringNoFilter by set slug
gamestringNoFilter by game slug (default: pokemon)
pageintegerNoPage number (default: 1)
limitintegerNoResults per page (default: 20, max: 100)

Example

curl "https://pricing.tcgiant.com/api/v1/cards?key=YOUR_KEY&q=charizard&game=pokemon"
GET

/api/v1/sets

List all card sets, optionally filtered by game.

Parameters

NameTypeRequiredDescription
gamestringNoFilter by game slug
pageintegerNoPage number
limitintegerNoResults per page (default: 50)

Example

curl "https://pricing.tcgiant.com/api/v1/sets?key=YOUR_KEY&game=pokemon"
GET

/api/v1/sales

Get recent eBay sold listings for a card with filtering.

Parameters

NameTypeRequiredDescription
card_idintegerYesCard ID
conditionstringNoFilter: UNGRADED, GRADE_9, PSA_10, etc.
grading_companystringNoFilter: PSA, CGC, BGS, TAG
fromdateNoStart date (YYYY-MM-DD)
todateNoEnd date (YYYY-MM-DD)
include_outliersbooleanNoInclude outlier sales (default: true)
pageintegerNoPage number
limitintegerNoResults per page (default: 25)

Example

curl "https://pricing.tcgiant.com/api/v1/sales?key=YOUR_KEY&card_id=123&condition=PSA_10"
GET

/api/v1/price-history

Get historical price data for charting. Returns time-series snapshots.

Parameters

NameTypeRequiredDescription
card_idintegerYesCard ID
conditionstringNoCondition (default: UNGRADED)
periodstringNodaily or weekly (default: daily)
fromdateNoStart date (default: 90 days ago)
todateNoEnd date (default: today)

Example

curl "https://pricing.tcgiant.com/api/v1/price-history?key=YOUR_KEY&card_id=123&condition=PSA_10&period=daily"
GET

/api/v1/games

List all supported TCG brands/games.

Example

curl "https://pricing.tcgiant.com/api/v1/games?key=YOUR_KEY"

Condition IDs

We track 15 conditions for each card, covering ungraded and graded across all major grading companies.

API KeyLabelDescription
ungradedUngradedNo grading service has given the card a grade
grade_1Grade 1Graded by PSA, BGS, or CGC as 1
grade_2Grade 2Graded by PSA, BGS, or CGC as 2
grade_3Grade 3Graded by PSA, BGS, or CGC as 3
grade_4Grade 4Graded by PSA, BGS, or CGC as 4
grade_5Grade 5Graded by PSA, BGS, or CGC as 5
grade_6Grade 6Graded by PSA, BGS, or CGC as 6
grade_7Grade 7Graded by PSA, BGS, or CGC as 7
grade_8Grade 8Graded by PSA, BGS, or CGC as 8
grade_9Grade 9Graded by PSA, BGS, or CGC as 9
grade_9_5Grade 9.5Graded by BGS as 9.5
psa_10PSA 10Graded by PSA as a 10 (Gem Mint)
cgc_10CGC 10Graded by CGC as a 10 (Pristine/Perfect)
bgs_10BGS 10Graded by BGS (Beckett) as a 10 (Pristine)
tag_10TAG 10Graded by TAG as a 10 (Gem Mint)

How We Determine Prices

We combine all eBay sold listing data to determine the current market price. Our algorithm considers:

  • 📊 EWMA — Exponentially Weighted Moving Average gives more weight to recent sales (40% of final price)
  • 📈 Median Price — Most robust against manipulation (35% of final price)
  • 🔄 Recent Average — Average of last 5 sales for responsiveness (25% of final price)
  • 🚫 Outlier Detection — IQR method flags suspiciously low/high sales
  • Age Weighting — Recent sales (7 days) weighted at 100%, older sales decay

Minimum 3 non-outlier sales required to calculate a price. Outlier sales are preserved in the database and visible in sales history but excluded from price calculations.