API & Data Access
Read-only, JSON GET endpoints over the same market data that powers the terminal. Requests need a key, issued to an account whose API access application has been approved.
API access
API access is by application, reviewed by hand — not open self-serve signup. Keys are personal to the account they are issued to, revocable, and metered per plan.
Authentication
- Send
Authorization: Bearer <key>on every request.X-API-Keyis accepted too. - A missing, malformed or revoked key is a
401with the shared error envelope. Revocation takes effect on the next request. - A key is personal to the account it was issued to. Do not share, resell or pool keys — see the Terms of Use.
- Rate limits are published in /llms.txt. Over a limit is a
429withRetry-After, never a ban.
Response envelope
asOf— an ISO 8601 timestamp of when the payload was computed. A cached response still reports the moment it was built, not the moment it was served.dataMode—LIVEfor real provider data.- Money fields are always integer minor-unit amounts (cents) paired with a
currencyfield — never a floating-point dollar amount. - A
nullfield is a genuine coverage gap (unknown, insufficient data, illiquid) — never an interpolated or fabricated value. - Errors share one envelope:
{ error: { code, message, details? } }.
Endpoints
| Endpoint | Params | Description |
|---|---|---|
| GET /api/wall | filter, era, set, ptype, ctype, rarity, q, limit, sort, cursor (keyset), fields=tile | The filterable market wall grid of card/product tiles.sort: volume_desc (default — 30-day traded dollars, high to low), volume_asc, price_desc, price_asc, newest, oldest (set release date), change_24h_desc, change_24h_asc, change_7d_desc, change_30d_desc. Rows with no value for the chosen column sort last in both directions; ties break on the default order. A cursor belongs to the sort that produced it — replaying it under another, or asking for an unknown sort, is a 400. |
| GET /api/wall/tile/{instrument} | instrument (path, URL-encoded) | One wall tile’s detail half: rarity, era, market type, 7d change, 30d dollar volume, confidence, sparkline and score drivers. |
| GET /api/terminal/{instrument} | instrument (path, URL-encoded) | Full terminal snapshot for one instrument: price series, indicators, order-book depth, fair value, recommendation, population, provenance. |
| GET /api/screener | preset (UNDERVALUED | ACCUMULATION | TIGHT_SUPPLY | HIGH_LIQUIDITY), limit | Cross-sectional screener rows for one preset. |
| GET /api/indices | — | The hosted POKE3 / POKE5 index snapshots. |
| GET /api/quotes | instruments (comma-separated, max 200) | Compact watchlist quote rows for a set of instruments, plus the hosted indices. |
| GET /api/search | q | Card/set/era/card-store/card-show matches for the omni-search palette. |
| GET /api/market-events | kind=RECORD_SALE (required), since (ISO 8601), limit (1-50, default 20) | Notable PSA graded-card sales (a new record, a first sale past a milestone, or a multiple of the card’s own median), newest first. |
| GET /api/card-stores | country (required, ISO 3166-1 alpha-2), region, locality, game, page | Paged card stores/vendors in one geography, worldwide (US seeded first). |
| GET /api/card-stores/{slug} | slug (path) | One store or vendor’s public profile — hours, programs, location. |
| GET /api/card-stores/{slug}/reviews | slug (path), page | A store’s published reviews, paged, with the rating aggregate. |
| GET /api/card-shows | country (required, ISO 3166-1 alpha-2), region, locality, game, window (upcoming | this-weekend), page | Paged card show editions in one geography and time window, worldwide. |
| GET /api/card-shows/{series} | series (path) | One show series’ public detail plus its full edition history. |
| GET /api/card-shows/{series}/{edition} | series (path), edition (path) | One dated show edition: venue, admission, vendor list and booth numbers. |
| GET /api/card-shows/booth-finder | edition (required), q | "Your card is at booth 12" — vendors at one edition matching a card or vendor name. |
Machine-readable references
- /api/openapi.json — the full OpenAPI 3.1 document for these endpoints.
- /llms.txt — a plain-language orientation for LLM crawlers and agents.