Card Data API

One API for Pokémon, One Piece and Azuki, across every printing we can get our hands on: card and expansion metadata, sealed products, and market prices for raw and graded copies. Every game shares routes, query grammar and response shapes, so learning one is learning the rest — the games differ in what data exists for them, not in how you ask.

Four more surfaces are documented ahead of their build and are not live yet: the sold listings behind our prices, card price history, graded population reports, and Vision, which identifies a card from a photo. They are written up so you can design against them, but calling one today returns 404 and costs no credits. The coverage table below marks which is which.

Your first call

curl 'https://api.getcardos.com/api/v1/pokemon/cards?q=name:charizard&include=prices' \
  -H 'X-API-Key: rip_…'

Every endpoint lives under /api/v1 and takes an X-API-Key header. Collection responses are wrapped in { success, data, page, page_size, total_count, language }; single objects put the object in data. Lists return one language — English unless you ask otherwise, since every card is printed once per language (see Search & filtering). Nothing is gated by plan: every key reaches every game and every feature, and calls draw down credits.

Base URLs

EnvironmentOriginNotes
Sandbox (staging)https://staging-service.rip.funWhat the "Try it" runners in these docs call by default
Productionhttps://api.getcardos.comLive catalog and pricing

Guides

API by game

Each game has its own reference section, reached at /api/v1/{game}/…. They share routes, grammar and response shapes; what differs is which resource families exist for each game, which the table below spells out:

GameCardsExpansionsSealed productsListingsPrice historyPopulation reports
Pokémon✓✓✓◦◦◦
One Piece✓✓✓◦◦◦
Azuki✓✓✓———

✓ live today. ◦ covered by the product and documented, but not live yet — listings, price history, population reports answer 404 until their routes ship, so nothing in this column is callable now. — the game has no such data, which is a coverage fact rather than a rollout: nobody grades or resells Azuki yet.

Languages

Printings are indexed separately per language. A Japanese card is its own object with its own id, artwork and pricing, not a translation field on the English one. Filter with language_code, e.g. q=language_code:ja.

GameLanguagelanguage_codeNotes
PokémonEnglishen—
JapanesejaIncluding promos and sets that never got an English print
ChinesezhSimplified (`zh-Hans`) and Traditional (`zh-Hant`) tracked separately
One PieceEnglishen—
JapanesejaTypically months ahead of the English release
AzukiEnglishenThe only printing there is — AZK-01 has no Japanese or Chinese release, so `language=all` returns exactly the rows the default does

Non-English expansions carry their English name under translation.en.name, so you can render a Japanese set with an English label without a second lookup.

Vision not live yet

Vision is game-agnostic: post an image URL or the bytes themselves and get ranked candidate cards back with confidence scores. It reads the game, language and grading slab off the photo before matching, so a user can point a phone at a card and you can skip the search UI entirely.

It is not deployed yet and has no endpoint pages in the sidebar. This is what it will be rather than something you can call today — worth designing around if it shapes your product, but don't ship a photo-capture screen waiting on it.

Living documentation

Every endpoint page embeds a live runner: tweak the inputs, press Run, and see the real response with status and latency, plus a curl snippet that tracks your inputs. Paste your own key in the sidebar to test your real key and scopes. It stays in this browser tab and is only ever sent to this demo's own server proxy.

Prefer to click around? The catalog explorer is a real app built on nothing but these endpoints.

Selling packs too?

The Gacha API is a separate product on the same key: sell mystery packs backed by real graded inventory, reveal the pull, and let players cash out instantly or redeem the physical card.