Card Intel API reference
Inspect the endpoint contracts, publication limits and source permissions. This reference describes the local implementation, not an available public subscription.
Developer access is planned within Dealer. No free developer API, separate API tier or unlimited allowance is offered.
Public API purchase and self-service developer enrollment are not open. Existing development credentials do not grant access to a new commercial offer.
Local development
With an existing development key and a local API running at its default origin, set CARDINTEL_KEY and send X-Card-Intel-Api-Key. The local origin below is not a public production endpoint.
curl -H "X-Card-Intel-Api-Key: $CARDINTEL_KEY" \
"http://127.0.0.1:18100/v2/cards?game=pokemon&q=charizard&limit=20"Missing and invalid keys return 401. A recognized key must also satisfy the endpoint entitlement. Health is the only open /v2 route.
{
"data": [
{
"id": "<card_id>",
"game": "pokemon",
"name": "<card_name>",
"prices": null,
"trend_30d_pct": null
}
],
"total": 1,
"limit": 20,
"offset": 0
}Endpoint reference
| GET route | Current contract |
|---|---|
| /v2/games | Supported games and database row counts. Catalog counts do not establish current valuation coverage. |
| /v2/cards | Search identities by q, game, set_code, rarity, limit and offset. Search rows carry prices: null. |
| /v2/cards/{card_id} | Card identity and publication-gated persisted fair value where available. Raw venue summaries and request-time trends are withheld. |
| /v2/cards/{card_id}/prices | Currently returns 422 price_history_unavailable until an exact scoped and cited derivative exists. |
| /v2/cards/{card_id}/cross-market-spreads | Dealer authorization required. Returns only qualifying persisted spreads; an empty result is not an absence of market differences. |
| /v2/games/{game}/sets | Set codes and card counts for one game. |
| /v2/market/movers | Currently returns 422 until a persisted, validated momentum derivative is available. |
| /v2/me | Resolved key tier, subscription state and runtime throttle settings. |
| /v2/health | Open health and lane rollup. Operational liveness is distinct from publishable evidence. |
A running API serves its generated schema at /openapi.json and reference at /docs. Use that runtime schema when integrating; local changes may precede the deployed version.
Evidence and availability
Fair value is served only from a qualifying persisted artifact. Where available, its payload carries publication status, confidence evidence, as-of dates, model and backtest identity, and source citations. A large observation count alone is not evidence that a value can be published.
{
"tcgplayer": null,
"cardmarket": null,
"cardintel_fair_value": null,
"observation_count": 0,
"last_updated": null,
"truncated": false,
"publication_status": "withheld",
"unavailable_reason": "unscoped_raw_observations_not_publishable"
}{
"detail": {
"error": "price_history_unavailable",
"reason": "exact_card_parallel_grade_cited_derivative_unavailable"
}
}Exact language, version, parallel and grade must match before prices are compared. Country and condition valuation scope remain incomplete. FX conversion changes currency; it does not create a sale observed in another country.
Authorization and limits
Throttles and durable monthly usage counters apply to recognized keys. GET /v2/me reports the current throttle settings; it does not report the durable monthly allowance. An exhausted throttle or quota returns 429. These development settings are not a promise of a public plan’s usage budget.
A valid key with insufficient entitlement returns 403 on protected endpoints. The planned Dealer API will have published metered allowances and permitted fields before purchase becomes available. No unlimited allowance is offered here.
Export permissions
Customer collection export is distinct from a raw market-data export. Raw source payloads and bulk provider datasets are not part of this offer.
Permission to fetch a source is distinct from permission to display, export or redistribute it commercially. API availability will depend on the source permissions attached to the delivered fields.