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/me2pt5-271/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/me2pt5-271/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"4. Multi-card batch (Pro / Elite only)
Load up to 50 cards (Pro) or 100 (Elite) in one request for portfolios and bots. Free keys get HTTP 403. Each unique id costs one daily quota unit.
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ids":["base1-4","sv3-197","swsh12pt5-159"],"game":"pokemon","profile":"core"}' \
"https://silphcoanalytics.xyz/api/v3/cards/batch"Quick start
- Create an account and generate an API key at the dashboard.
- Send the key as a Bearer token on every request.
- 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.
Playground plus Free / Pro / Elite apply at https://silphcoanalytics.xyz:
| Tier | Auth | Limits |
|---|---|---|
| Playground | No API key | 1 req/s, 50-row cap · 3 days of history |
| Free | Bearer API key | 100 requests/day · 3 days of history |
| Pro | Bearer API key | 2,000 requests/day · Apps access · 7 days of history |
| Elite | Bearer API key | 10,000 requests/day · Apps access · Card Signals API · Full unrestricted history |
History windows are enforced: the public edge clamps since / date_from to your tier (see X-Silph-History-Days response headers).
Playground routes work without a key on the same URLs:
/api/v3/cards/{id}/api/v3/cards/{id}/market-history/api/v3/cards/{id}/marketplace-sales/api/v3/cards/{id}/sales/api/v3/cards/{id}/tcgplayer-history/api/v3/trending
Add a Bearer token on any route to use your account tier. Per-card sales return up to 200 rows per request and include next_cursor for paging within your history window. Responses include X-LOR-Tier (playground vs authenticated).
Check daily usage with GET /keys/usage using the same Bearer token (includes history_days).
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
| Method | Path | Description |
|---|---|---|
| GET | /api/v3/cards | List and filter cards |
| GET | /api/v3/cards/{id} | Card detail |
| GET | /api/v3/cards/{id}/analytics | Card analytics |
| GET | /api/v3/cards/{id}/market-history | Daily market history |
| GET | /api/v3/cards/{id}/marketplace-sales | /api/v3/cards/{id}/marketplace-sales |
| GET | /api/v3/cards/{id}/price-history | Price history |
| GET | /api/v3/cards/{id}/sales | Verified sales across marketplaces for one card |
| GET | /api/v3/cards/{id}/tcgplayer-history | TCGplayer daily price and sales history |
| GET | /api/v3/cards/{id}/vwap | Volume-weighted average price |
| POST | /api/v3/cards/batch | Batch card-gold core lookup (Pro+/Elite paid only; cost = unique ids; pro max 50, elite max 100) |
Market
| Method | Path | Description |
|---|---|---|
| GET | /api/v3/market/volume | Market-wide volume by set |
| GET | /api/v3/shop/listings | Shop listings across marketplaces (beta) |
Meta
| Method | Path | Description |
|---|---|---|
| POST | /api/v3/me/imports/confirm | /api/v3/me/imports/confirm |
| POST | /api/v3/me/imports/preview | /api/v3/me/imports/preview |
Search
| Method | Path | Description |
|---|---|---|
| GET | /api/v3/lookup | Resolve a card or set identifier |
| GET | /api/v3/search | Full-text card search |
| GET | /api/v3/trending | Trending cards leaderboard |
Sets
| Method | Path | Description |
|---|---|---|
| GET | /api/v3/sets | List sets |
| GET | /api/v3/sets/{id} | Set detail |
| GET | /api/v3/sets/{id}/breakdown | Set sales breakdown |
| GET | /api/v3/sets/{id}/price-distribution | Set price distribution |
| GET | /api/v3/sets/{id}/trending-cards | Trending cards in a set |
| GET | /api/v3/sets/{id}/volume-history | Set volume over time |
SQL
| Method | Path | Description |
|---|---|---|
| POST | /api/v3/sql | Read-only SQL against gold datasets |
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/me2pt5-271/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
- Interactive API reference — parameters, schemas, and try-it-out
- OpenAPI JSON (public) — curated data routes for Postman or typed client generation