Properties
| Name | Type | Description |
|---|---|---|
| game | string | |
| kind | string | |
| language | object | |
| edition_id | object | |
| product_type | object | |
| complete | boolean | `true`: the ranking covers the whole selection. `false`: too many snapshots had a source above their recommended price; the items are the most valuable of the part read. |
| items | array | Cards (`kind=card`) or sealed products (`kind=sealed`) with a recommended price, most valuable first (ties by id); prices of `low` confidence are left out (an aberrant marketplace offer would top the |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/valotcg/json-schema/valotcg-top-priced-schema.json",
"title": "TopPriced",
"x-generated": "2026-11-03",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/valotcg-data-v1-openapi.json#/components/schemas/TopPriced",
"properties": {
"game": {
"type": "string",
"title": "Game"
},
"kind": {
"type": "string",
"enum": [
"card",
"sealed"
],
"title": "Kind"
},
"language": {
"anyOf": [
{
"type": "string",
"enum": [
"fr",
"en",
"ja",
"zh",
"de",
"es",
"it",
"pt"
]
},
{
"type": "null"
}
],
"title": "Language"
},
"edition_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Edition Id"
},
"product_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product Type"
},
"complete": {
"type": "boolean",
"title": "Complete",
"description": "`true`: the ranking covers the whole selection. `false`: too many snapshots had a source above their recommended price; the items are the most valuable of the part read."
},
"items": {
"items": {
"anyOf": [
{
"$ref": "#/$defs/PricedCard"
},
{
"$ref": "#/$defs/PricedSealed"
}
]
},
"type": "array",
"title": "Items",
"description": "Cards (`kind=card`) or sealed products (`kind=sealed`) with a recommended price, most valuable first (ties by id); prices of `low` confidence are left out (an aberrant marketplace offer would top the ranking); fewer than `limit` when fewer are priced."
}
},
"type": "object",
"required": [
"game",
"kind",
"complete",
"items"
],
"$defs": {
"CardSummary": {
"properties": {
"card_id": {
"type": "integer",
"title": "Card Id",
"description": "Stable Valo.Data card id."
},
"game": {
"type": "string",
"title": "Game",
"description": "Game slug, e.g. `pokemon`, `onepiece`, `star_wars_unlimited`."
},
"name": {
"type": "string",
"title": "Name",
"description": "Printed name in the card language."
},
"name_en": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Name En",
"description": "English name when known."
},
"number": {
"type": "string",
"title": "Number",
"description": "Collector number as printed, e.g. `001/102`, `OP01-012`."
},
"rarity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Rarity",
"description": "Rarity label as printed on the card or as given by the source, in the card language, e.g. `Illustration spéciale rare`, `SuperRare`."
},
"rarity_code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Rarity Code",
"description": "Canonical rarity code, shared by every language of one rarity system, e.g. `special_illustration_rare`. Japanese and Chinese Pokémon prints follow their own system (`sar`, `ur`). `null` when the rarity is unknown. Codes of a game: `GET /data/v1/games/{game}/rarities`."
},
"language": {
"type": "string",
"enum": [
"fr",
"en",
"ja",
"zh",
"de",
"es",
"it",
"pt"
],
"title": "Language",
"description": "Language of the printed card."
},
"edition": {
"$ref": "#/$defs/EditionRef"
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image Url"
},
"variants": {
"items": {
"type": "string",
"enum": [
"default",
"foil"
]
},
"type": "array",
"title": "Variants",
"description": "Price variants tracked for this card: `default` (main printing) and, for games pricing foils separately, `foil`."
},
"cardmarket_product_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Cardmarket Product Id",
"description": "Cardmarket idProduct; `null` on Sandbox and Starter."
},
"tcgplayer_product_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "US market product id",
"description": "US market product id; `null` on Sandbox and Starter."
}
},
"type": "object",
"required": [
"card_id",
"game",
"name",
"number",
"language",
"edition",
"variants"
],
"title": "CardSummary"
},
"EditionRef": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "Edition id, usable as `edition_id` filter."
},
"name": {
"type": "string",
"title": "Name"
},
"code": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Code",
"description": "Publisher set code, e.g. `SV06`, `OP-01`."
},
"release_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Release Date"
}
},
"type": "object",
"required": [
"id",
"name"
],
"title": "EditionRef"
},
"PricedCard": {
"properties": {
"card": {
"$ref": "#/$defs/CardSummary"
},
"recommended": {
"$ref": "#/$defs/RecommendedPrice"
}
},
"type": "object",
"required": [
"card",
"recommended"
],
"title": "PricedCard"
},
"PricedSealed": {
"properties": {
"sealed": {
"$ref": "#/$defs/SealedSummary"
},
"recommended": {
"$ref": "#/$defs/RecommendedPrice"
}
},
"type": "object",
"required": [
"sealed",
"recommended"
],
"title": "PricedSealed"
},
"RecommendedPrice": {
"properties": {
"amount": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Amount",
"description": "The price the ValoTCG app displays, in EUR; `null` when no source qualifies."
},
"currency": {
"type": "string",
"const": "EUR",
"title": "Currency",
"default": "EUR"
},
"source": {
"anyOf": [
{
"type": "string",
"enum": [
"ebay_30d",
"ebay_3m",
"cardmarket",
"us_market"
]
},
{
"type": "null"
}
],
"title": "Source",
"description": "`ebay_30d` / `ebay_3m`: median of eBay sales (4 sales at least; 2 for sealed products), `cardmarket`: French offer, then trend, then low, `us_market`: US market price converted to EUR."
},
"observed_at": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Observed At",
"description": "Date the retained source observed this price."
},
"window_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Window Days",
"description": "eBay only: sales window in days."
},
"sales_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Sales Count",
"description": "eBay only: sales in the window."
},
"confidence": {
"anyOf": [
{
"type": "string",
"enum": [
"high",
"medium",
"low"
]
},
{
"type": "null"
}
],
"title": "Confidence",
"description": "Reliability level of this price in the ValoTCG app: sample size, freshness and agreement between sources."
},
"fx_rate": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Fx Rate",
"description": "US market only: USD→EUR rate applied (ECB)."
},
"fx_rate_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Fx Rate Date",
"description": "US market only: day of that rate."
}
},
"type": "object",
"required": [
"amount",
"source",
"observed_at"
],
"title": "RecommendedPrice"
},
"RetailPrice": {
"properties": {
"amount": {
"type": "number",
"title": "Amount",
"description": "Launch retail price, in `currency`."
},
"currency": {
"type": "string",
"enum": [
"EUR",
"USD",
"JPY"
],
"title": "Currency",
"description": "Currency of the product's own market (EUR for French, USD for English, JPY for Japanese), never converted."
},
"source": {
"type": "string",
"enum": [
"estimated",
"verified"
],
"title": "Source",
"description": "`estimated` from the product type, name and release period; `verified` checked product by product."
}
},
"type": "object",
"required": [
"amount",
"currency",
"source"
],
"title": "RetailPrice"
},
"SealedSummary": {
"properties": {
"sealed_id": {
"type": "integer",
"title": "Sealed Id",
"description": "Stable Valo.Data sealed product id (`sealed:{id}` in batches)."
},
"game": {
"type": "string",
"title": "Game"
},
"name": {
"type": "string",
"title": "Name"
},
"product_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Product Type",
"description": "e.g. booster, display, etb, starter_deck."
},
"language": {
"type": "string",
"enum": [
"fr",
"en",
"ja",
"zh",
"de",
"es",
"it",
"pt"
],
"title": "Language"
},
"edition": {
"anyOf": [
{
"$ref": "#/$defs/EditionRef"
},
{
"type": "null"
}
]
},
"release_date": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"title": "Release Date"
},
"msrp": {
"anyOf": [
{
"$ref": "#/$defs/RetailPrice"
},
{
"type": "null"
}
],
"description": "Launch retail price (MSRP) on the product's market; `null` when unknown."
},
"image_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Image Url"
},
"slug": {
"type": "string",
"title": "Slug",
"description": "Slug of the product's page on valotcg.com."
},
"cardmarket_product_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Cardmarket Product Id",
"description": "Cardmarket idProduct; `null` on Sandbox and Starter."
},
"tcgplayer_product_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "US market product id",
"description": "US market product id; `null` on Sandbox and Starter."
}
},
"type": "object",
"required": [
"sealed_id",
"game",
"name",
"language",
"slug"
],
"title": "SealedSummary"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/valotcg-top-priced"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.