Skip to content

API Getting Started

Live Pokémon TCG market data — try the playground free, then unlock the full API

Last updated:

Try it now

No signup required. Paste either command in your terminal:

Trending leaderboard

curl "https://silphcoanalytics.xyz/api/v3/trending?limit=5"

Card sales (playground)

Example: Pikachu ex SIR from Ascended Heroes — same URL as on each card page. 1 req/s, up to 50 rows, no API key.

curl "https://silphcoanalytics.xyz/api/v3/cards/ex4-32/sales?limit=50"

Playground responses include X-LOR-Tier: playground. Want more? Sign in for a free API key (100 requests/day).

Recipes

Three common starting points. Replace YOUR_API_KEY with a key from the dashboard.

1. Deal finder

Search listings and compare against TV-WAP.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/search?q=charizard&limit=5"

2. Price history chart

One card with graded price history — great for bots and dashboards.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/cards/ex4-32/market-history"

3. Market pulse

30-day volume across sets and marketplaces.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/market/volume?days=30&language=en"

Quick start

  1. Create an account and generate an API key at the dashboard.
  2. Send the key as a Bearer token on every request.
  3. Browse the interactive reference for parameters and response shapes.
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/cards?limit=1"

Authentication

Most /api/v3 data routes require Authorization: Bearer YOUR_API_KEY. Requests without a valid key return HTTP 401.

Three tiers apply at https://silphcoanalytics.xyz:

TierAuthLimits
PlaygroundNo API key1 req/s, 50-row cap, no pagination
FreeBearer API key100 requests/day
ProBearer API key2,000 requests/day · Apps access · 1 week history
EliteBearer API key10,000 requests/day · Card Signals API · full history

Playground routes work without a key on the same URLs:

  • GET /api/v3/trending
  • GET /api/v3/cards{id} — card detail
  • GET /api/v3/cards{id}/sales and /sales/history
  • GET /api/v3/cards{id}/price-history
  • GET /api/v3/cards{id}/market-history
  • GET /api/v3/search/suggest

Add a Bearer token on any route to upgrade to the free tier. Per-card sales return up to 200 rows per request and include next_cursor for full history. Responses include X-LOR-Tier (playground vs authenticated).

Check daily usage with GET /keys/usage using the same Bearer token.

Beta: GET /api/v3/shop/listings is available but not suitable for production integrations. Deal scores and platform freshness are experimental — verify listings before acting on them.

Endpoints

Base URL: https://silphcoanalytics.xyz/api/v3

Cards

MethodPathDescription
GET/api/v3/cardsList and filter cards
GET/api/v3/cards/{id}Card detail
GET/api/v3/cards/{id}/analyticsCard analytics
GET/api/v3/cards/{id}/market-historyDaily market history
GET/api/v3/cards/{id}/marketplace-sales/api/v3/cards/{id}/marketplace-sales
GET/api/v3/cards/{id}/price-historyPrice history
GET/api/v3/cards/{id}/salesVerified sales across marketplaces for one card
GET/api/v3/cards/{id}/tcgplayer-historyTCGplayer daily price and sales history
GET/api/v3/cards/{id}/vwapVolume-weighted average price

Market

MethodPathDescription
GET/api/v3/market/volumeMarket-wide volume by set
GET/api/v3/shop/listingsShop listings across marketplaces (beta)

Search

MethodPathDescription
GET/api/v3/lookupResolve a card or set identifier
GET/api/v3/searchFull-text card search
GET/api/v3/trendingTrending cards leaderboard

Sets

MethodPathDescription
GET/api/v3/setsList sets
GET/api/v3/sets/{id}Set detail
GET/api/v3/sets/{id}/breakdownSet sales breakdown
GET/api/v3/sets/{id}/price-distributionSet price distribution
GET/api/v3/sets/{id}/trending-cardsTrending cards in a set
GET/api/v3/sets/{id}/volume-historySet volume over time

SQL

MethodPathDescription
POST/api/v3/sqlRead-only SQL against gold datasets

Unavailable routes

These routes appear in contract metadata or older docs but are not callable on the public API. Use the replacement where listed.

RouteStatusUse instead
GET /api/v3/analytics/grade-premiumNot availableNot exposed on the public API.
GET /api/v3/analytics/kfactorNot availableNot exposed on the public API.
GET /api/v3/cards/summaryNot available`GET /api/v3/cards/{id}` or `GET /api/v3/cards?limit=N`.
GET /api/v3/cards/timeseriesNot available`GET /api/v3/cards/{id}/market-history`.
GET /api/v3/marketplacesNot availableNot exposed on the public API.
GET /api/v3/salesNot available`GET /api/v3/cards/{id}/sales`.
POST /api/v3/cards/analytics/batchNot available`GET /api/v3/cards/{id}/analytics per card`.
POST /api/v3/cards/batchNot availableGET /api/v3/cards/{id} per card (batch endpoint planned).
POST /api/v3/events/shareNot availableNot exposed on the public API.
POST /api/v3/feedbackNot available

Response envelope

Every v3 response uses silphco-envelope.v1. The payload lives in data; the contract field names its schema version.

Pagination

Lists accept offset and limit (max 200). Per-card sales use an opaque next_cursor to page through history (API key required; playground returns at most 50 rows and next_cursor: null).

Errors

Errors return contract: "error.v1" with error.code and error.message. HTTP 401 indicates a missing or invalid key. For removed routes, 404 with error.code: "removed" includes error.details.replacement pointing at the supported path.

Finding cards

You do not need a Pokémon TCG card ID to start. Use the same filters as Explore on GET /api/v3/search (with q) or GET /api/v3/cards (browse without q). Resolve fuzzy names with GET /api/v3/lookup, then call GET /api/v3/cards{id} or /sales once you have an ID.

Shared filters include language, grader, rarity, variant, min_price / max_price, sort, window, slab_only, and raw_only.

Examples

# Search
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/search?q=charizard&limit=5"

# Card market history
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/cards/ex4-32/market-history"

# Market volume (30 days)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/market/volume?days=30&language=en"

# Trending (no API key)
curl "https://silphcoanalytics.xyz/api/v3/trending?limit=5"

# Shop listings (beta — experimental deal scores)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://silphcoanalytics.xyz/api/v3/shop/listings?limit=5"

# SQL (body field is sql, not query)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sql":"SELECT tcg_card_id FROM pkmn_card_rollup LIMIT 1"}' \
  "https://silphcoanalytics.xyz/api/v3/sql"

Reference