---
title: "Batch prices across games"
method: POST
path: "/v1/prices/batch"
tags: ["Prices"]
---

# Batch prices across games

`POST /v1/prices/batch`

## Request

- Base URL: `https://tcgdata-api.ottenniels1999.workers.dev`
- URL: `https://tcgdata-api.ottenniels1999.workers.dev/v1/prices/batch`
- Auth: HTTP bearer

Price up to 100 variants on Starter/Growth or 200 on Scale from any supported game in one HTTP request. The whole batch costs one request. Results use the same fields as single-price lookups.

1 admitted HTTP request. Unknown query/body parameters are rejected. Examples contain illustrative data and placeholder IDs; they are not live catalogue records.

## Request body

- object
  - `card_ids` string[], required: Starter/Growth allow at most 100 supplied IDs; Scale allows 200. The limit applies before deduplication. The entire admitted batch is one request.
  - `view` 'full' | 'compact'
  - `select` string: Comma-separated top-level fields; overrides view. id is always returned. Unknown or nested fields return 400. Allowed top-level fields: id, slug, catalogue_language, name, game, set_id, set_name, number, printed_number, finish, metadata, metadata_status, metadata_quality, metadata_text, finish_details, images, language, condition, currency, observed_at, avg, low, trend, avg1, avg7, avg30, changes, quote_scope, language_scope, edition_scope, condition_scope.

## Response `200`

Success. 1 admitted HTTP request.

- BatchResponse
  - `data` Price[], required
    - `id` string, required
    - `slug` string, nullable: Readable catalogue address, such as sv10-231, from a verified route identity. Null when unavailable. Not a permanent variant ID.
    - `catalogue_language` string, nullable: Catalogue/artwork language of the readable address, such as en or ja; not a price-market language filter.
    - `name` string
    - `game` 'pokemon' | 'pokemon_jp' | 'magic' | 'lorcana' | 'onepiece' | 'yugioh'
    - `set_id` string, nullable
    - `set_name` string, nullable
    - `number` string, nullable
    - `printed_number` string, nullable: Source-verified printed Pokémon collector notation, such as 231/182 or 002/081. Null when unknown, unnumbered or unsupported for the game. Never inferred from a catalogue ordinal or set row count.
    - `finish` string, nullable
    - `language` string
    - `condition` string
    - `images` Images: Available small/large images are root-relative API paths, fetched server-side with Bearer authentication against the API origin; null means unavailable. Follow the complete path, including catalogue_card_id for catv_ variants or face for Magic metadata.faces images. base is null. No public CDN URL or token is returned. Every admitted image response consumes one request from the shared daily and monthly limits; image and byte counters are diagnostic.
      - `base` unknown, required
      - `small` string, nullable, required
      - `large` string, nullable, required
    - `metadata` union
      - MetadataPokemon
        - `category` string, nullable, required: Source card category. Its values depend on the game and card type.
        - `subtypes` string[], required: Source classifications below the main category; an empty list may be unverified.
        - `hp` integer, nullable, required: Hit points. Supporter and Energy cards do not have Pokémon HP; other nulls can be unknown.
        - `types` string[], required: Pokémon energy-type labels, such as Fire. These are separate from attack energy costs.
        - `level` string, nullable, required: Printed level label when available. It stays text and is not derived from HP or evolution.
        - `printed_number` string, nullable, required: Verified printed collector notation, including prefixes and denominators. Never inferred from set size.
        - `evolves_from` string, nullable, required: Source name of the preceding evolution. Null does not establish that the card is a Basic Pokémon.
        - `rarity` string, nullable, required: Source rarity label for this printing; labels are not normalized across games.
        - `illustrator` string, nullable, required: Source illustrator credit, preserved as text.
        - `flavor_text` string, nullable, required: Available flavor text, preserved in its source language; no translation is performed.
        - `pokedex_numbers` integer[], required: Supplied National Pokédex numbers; no species identity is inferred from a card name.
        - `abilities` object[], required: Available abilities or Pokémon Powers. An empty array alone does not prove that no ability is printed.
          - `name` string, nullable, required: Source ability name.
          - `type` string, nullable, required: Source classification such as Ability or Pokémon Power; not a closed enum.
          - `text` string, nullable, required: Source ability effect text. Text language can differ from the card locale.
        - `attacks` object[], required: Available attacks. Supporter-only exclusions do not apply to every Trainer: Technical Machine and Fossil cards may have attacks.
          - `name` string, nullable, required: Source attack name.
          - `cost` string[], required: Ordered energy symbols. Repeated symbols are retained; do not deduplicate them.
          - `energy_cost` integer, nullable, required: Supplied total attack energy cost. Null is unknown; zero is a known zero cost.
          - `damage` string, nullable, required: Printed damage expression, such as 40+, 20× or 100. Preserve it as text; null may be a non-damaging attack or missing data.
          - `text` string, nullable, required: Available attack effect text, without automatic translation.
        - `weaknesses` object[], required: Available weakness modifiers. Empty does not establish verified absence.
          - `type` string, nullable, required: Energy-type label of the weakness.
          - `value` string, nullable, required: Printed modifier, such as ×2 or +20; keep it as text.
        - `resistances` object[], required: Available resistance modifiers. Empty does not establish verified absence.
          - `type` string, nullable, required: Energy-type label of the resistance.
          - `value` string, nullable, required: Printed modifier, such as -30; keep it as text.
        - `retreat_cost` string[], required: Supplied retreat energy symbols. A missing list is different from a known retreat value of zero.
        - `retreat` integer, nullable, required: Supplied total retreat cost. Zero is meaningful; null may be unknown or not applicable.
        - `rules` string[], required: Available rule-box text, including special card rules. Empty remains unverified unless diagnostics establish otherwise.
        - `regulation_mark` string, nullable, required: Source regulation mark when available; not a guarantee of current format legality.
        - `legalities` object, required: Catalogue legality labels with no separate freshness guarantee; do not infer current tournament eligibility.
          - `standard` string, nullable, required: Source legality label for standard. Null means no supplied status.
          - `expanded` string, nullable, required: Source legality label for expanded. Null means no supplied status.
          - `unlimited` string, nullable, required: Source legality label for unlimited. Null means no supplied status.
          - `gym_leader_challenge` string, nullable, required: Source legality label for gym leader challenge. Null means no supplied status.
      - MetadataPokemonJp
        - `category` string, nullable, required: Source card category. Its values depend on the game and card type.
        - `subtypes` string[], required: Source classifications below the main category; an empty list may be unverified.
        - `hp` integer, nullable, required: Hit points. Supporter and Energy cards do not have Pokémon HP; other nulls can be unknown.
        - `types` string[], required: Pokémon energy-type labels, such as Fire. These are separate from attack energy costs.
        - `level` string, nullable, required: Printed level label when available. It stays text and is not derived from HP or evolution.
        - `printed_number` string, nullable, required: Verified printed collector notation, including prefixes and denominators. Never inferred from set size.
        - `evolves_from` string, nullable, required: Source name of the preceding evolution. Null does not establish that the card is a Basic Pokémon.
        - `rarity` string, nullable, required: Source rarity label for this printing; labels are not normalized across games.
        - `illustrator` string, nullable, required: Source illustrator credit, preserved as text.
        - `flavor_text` string, nullable, required: Available flavor text, preserved in its source language; no translation is performed.
        - `pokedex_numbers` integer[], required: Supplied National Pokédex numbers; no species identity is inferred from a card name.
        - `abilities` object[], required: Available abilities or Pokémon Powers. An empty array alone does not prove that no ability is printed.
          - `name` string, nullable, required: Source ability name.
          - `type` string, nullable, required: Source classification such as Ability or Pokémon Power; not a closed enum.
          - `text` string, nullable, required: Source ability effect text. Text language can differ from the card locale.
        - `attacks` object[], required: Available attacks. Supporter-only exclusions do not apply to every Trainer: Technical Machine and Fossil cards may have attacks.
          - `name` string, nullable, required: Source attack name.
          - `cost` string[], required: Ordered energy symbols. Repeated symbols are retained; do not deduplicate them.
          - `energy_cost` integer, nullable, required: Supplied total attack energy cost. Null is unknown; zero is a known zero cost.
          - `damage` string, nullable, required: Printed damage expression, such as 40+, 20× or 100. Preserve it as text; null may be a non-damaging attack or missing data.
          - `text` string, nullable, required: Available attack effect text, without automatic translation.
        - `weaknesses` object[], required: Available weakness modifiers. Empty does not establish verified absence.
          - `type` string, nullable, required: Energy-type label of the weakness.
          - `value` string, nullable, required: Printed modifier, such as ×2 or +20; keep it as text.
        - `resistances` object[], required: Available resistance modifiers. Empty does not establish verified absence.
          - `type` string, nullable, required: Energy-type label of the resistance.
          - `value` string, nullable, required: Printed modifier, such as -30; keep it as text.
        - `retreat_cost` string[], required: Supplied retreat energy symbols. A missing list is different from a known retreat value of zero.
        - `retreat` integer, nullable, required: Supplied total retreat cost. Zero is meaningful; null may be unknown or not applicable.
        - `rules` string[], required: Available rule-box text, including special card rules. Empty remains unverified unless diagnostics establish otherwise.
        - `regulation_mark` string, nullable, required: Source regulation mark when available; not a guarantee of current format legality.
        - `legalities` object, required: Catalogue legality labels with no separate freshness guarantee; do not infer current tournament eligibility.
          - `standard` string, nullable, required: Source legality label for standard. Null means no supplied status.
          - `expanded` string, nullable, required: Source legality label for expanded. Null means no supplied status.
          - `unlimited` string, nullable, required: Source legality label for unlimited. Null means no supplied status.
          - `gym_leader_challenge` string, nullable, required: Source legality label for gym leader challenge. Null means no supplied status.
      - MetadataMagic
        - `printing` object, required: Explicit printing facts. Physical finishes are independent of the price-guide bucket.
          - `finishes` string[], required: Supplied possible physical finishes. Several values do not identify which finish a guide quote measures.
        - `category` string, nullable, required: Source card category. Its values depend on the game and card type.
        - `subtypes` string[], required: Source classifications below the main category; an empty list may be unverified.
        - `rarity` string, nullable, required: Source rarity label for this printing; labels are not normalized across games.
        - `flavor_text` string, nullable, required: Available flavor text, preserved in its source language; no translation is performed.
        - `illustrator` string, nullable, required: Source illustrator credit for the card.
        - `layout` string, nullable, required: Source card layout, such as normal or transform. Use faces for supplied multi-face details.
        - `mana_cost` string, nullable, required: Mana-symbol expression, such as {1}{R}. Null does not establish a zero mana cost.
        - `mana_value` number, nullable, required: Supplied numerical mana value; it can be fractional. It is distinct from the mana-symbol expression.
        - `colors` string[], required: Source colors of the card. An unverified empty array is not proof of colorlessness.
        - `color_identity` string[], required: Source color identity, which is distinct from colors and can include symbols in rules text.
        - `type_line` string, nullable, required: Available card types and subtypes as source text.
        - `rules_text` string, nullable, required: Available rules text. This API does not certify current rulings or translate the text.
        - `power` string, nullable, required: Printed power expression, including values such as *. Null can be unknown or not applicable.
        - `toughness` string, nullable, required: Printed toughness expression. Preserve it as text rather than coercing it to a number.
        - `loyalty` string, nullable, required: Available starting loyalty for applicable cards. Ordinary non-Planeswalker cards can be marked not applicable.
        - `defense` string, nullable, required: Available Battle defense. Do not confuse this with toughness or Yu-Gi-Oh! DEF.
        - `keywords` string[], required: Source keyword labels; an empty list can be unverified.
        - `legalities` object, required: Supplied statuses for standard, future, historic, timeless, gladiator, pioneer, explorer, modern, legacy, pauper, vintage, penny, commander, oathbreaker, standardbrawl, brawl, alchemy, paupercommander, duel, oldschool, premodern and predh. No separate legality freshness guarantee.
          - `standard` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `future` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `historic` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `timeless` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `gladiator` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `pioneer` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `explorer` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `modern` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `legacy` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `pauper` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `vintage` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `penny` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `commander` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `oathbreaker` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `standardbrawl` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `brawl` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `alchemy` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `paupercommander` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `duel` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `oldschool` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `premodern` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
          - `predh` string, nullable, required: Source legality status for each supported format key, such as commander or modern. Null means unknown; treat supplied labels as source text.
        - `faces` object[], required: Supplied card faces in source order. A normal layout can establish a known empty list; an empty multi-face list can still be unknown.
          - `name` string, nullable, required: Name of this face, when supplied.
          - `mana_cost` string, nullable, required: Mana-symbol expression for this face.
          - `type_line` string, nullable, required: Source type line for this face.
          - `rules_text` string, nullable, required: Available rules text for this face; its language is assessed separately.
          - `colors` string[], required: Source colors for this face, separate from the card's color identity.
          - `power` string, nullable, required: Supplied power expression for this face. Null is unknown or not applicable; preserve nonnumeric expressions.
          - `toughness` string, nullable, required: Supplied toughness expression for this face. Null is unknown or not applicable; preserve nonnumeric expressions.
          - `loyalty` string, nullable, required: Supplied loyalty expression for this face. Null is unknown or not applicable; preserve nonnumeric expressions.
          - `defense` string, nullable, required: Supplied defense expression for this face. Null is unknown or not applicable; preserve nonnumeric expressions.
          - `illustrator` string, nullable, required: Illustrator credit for this face.
          - `flavor_text` string, nullable, required: Available flavor text for this face.
          - `images` object, required: Root-relative authenticated image API paths, or null. The face query parameter is this face's zero-based position (0–9). Fetch server-side with Bearer authentication; the shared daily and monthly HTTP-request limits apply.
            - `small` string, nullable, required: Root-relative API path for the small rendition, or null if unavailable. Fetch server-side with Bearer authentication.
            - `large` string, nullable, required: Root-relative API path for the large rendition, or null if unavailable. No fixed pixel dimensions are promised.
      - MetadataLorcana
        - `category` string, nullable, required: Source card category. Its values depend on the game and card type.
        - `subtypes` string[], required: Source classifications below the main category; an empty list may be unverified.
        - `rarity` string, nullable, required: Source rarity label for this printing; labels are not normalized across games.
        - `flavor_text` string, nullable, required: Available flavor text, preserved in its source language; no translation is performed.
        - `version` string, nullable, required: Source version or subtitle, separate from the printing finish.
        - `cost` integer, nullable, required: Supplied ink cost. Zero is a value, not missing data.
        - `ink` string, nullable, required: Source primary ink label. Prefer inks when handling a card with several supplied ink colors.
        - `inks` string[], required: All supplied ink colors. Empty does not prove that the physical card has no ink color.
        - `inkwell` boolean, nullable, required: Whether the source says this card can be placed in the inkwell. False is a known value; null is unknown.
        - `illustrator` string, nullable, required: Available source artist credit.
        - `strength` integer, nullable, required: Supplied character strength. Locations, Actions and Items can mark an absent value not applicable.
        - `willpower` integer, nullable, required: Supplied willpower for applicable Characters or Locations. Absent Action/Item values can be not applicable.
        - `lore` integer, nullable, required: Supplied lore value. Zero is meaningful; absent Action/Item values can be not applicable.
        - `abilities` object[], required: Supplied named abilities and their effect text.
          - `name` string, nullable, required: Ability or keyword name when supplied. Null does not mean the effect is absent.
          - `text` string, nullable, required: Source effect text. Check metadata_text for inferred language observations.
        - `keywords` object[], required: Supplied keyword abilities and their text. These are objects, unlike Magic's keyword strings.
          - `name` string, nullable, required: Ability or keyword name when supplied. Null does not mean the effect is absent.
          - `text` string, nullable, required: Source effect text. Check metadata_text for inferred language observations.
        - `rules` string[], required: Available rule text, preserved in source order. It can overlap ability text; it is not automatically deduplicated.
        - `legalities` object, nullable, required: Source Core and Infinity format information, without an independent freshness guarantee.
          - `core` object, nullable, required: Supplied core legality information. Null means the format information is unavailable.
            - `legal` boolean, nullable, required: Source allowed status: false is a supplied restriction, null is unknown.
            - `valid_until` string, nullable, required: Source allowed-until date in YYYY-MM-DD format, or null. Null does not guarantee indefinite legality.
            - `rotation_group` integer, nullable, required: Source rotation group identifier, or null when unknown. It is not a date or a derived rotation prediction.
          - `infinity` object, nullable, required: Supplied infinity legality information. Null means the format information is unavailable.
            - `legal` boolean, nullable, required: Source allowed status: false is a supplied restriction, null is unknown.
            - `valid_until` string, nullable, required: Source allowed-until date in YYYY-MM-DD format, or null. Null does not guarantee indefinite legality.
            - `rotation_group` integer, nullable, required: Source rotation group identifier, or null when unknown. It is not a date or a derived rotation prediction.
      - MetadataOnepiece
        - `category` string, nullable, required: Source card category. Its values depend on the game and card type.
        - `subtypes` string[], required: Source classifications below the main category; an empty list may be unverified.
        - `rarity` string, nullable, required: Source rarity label for this printing; labels are not normalized across games.
        - `flavor_text` string, nullable, required: Available flavor text, preserved in its source language; no translation is performed.
        - `printing` object, nullable: Explicit facts for the exactly linked physical printing. Can be omitted or null when no supported printing facts exist.
          - `variant` string, required: Supplied printing variant key, such as normal. This is separate from the permanent tcg_ price-variant ID.
          - `label` string, required: Display label for the physical printing variant.
          - `finish` 'nonfoil' | 'foil', nullable, required: Explicit physical finish, not a price filter. A nonfoil printing may use guide_finish normal while legacy finish is null.
        - `version` string, nullable, required: Source version label, when supplied; no edition or artwork variant is inferred.
        - `colors` string[], required: Supplied card colors; an empty list can be unverified.
        - `cost` integer, nullable, required: Supplied play cost. Zero is meaningful; Leaders can mark an absent cost not applicable.
        - `power` integer, nullable, required: Supplied power for applicable cards. Event and Stage cards can mark an absent value not applicable.
        - `life` string, nullable, required: Source life label, preserved as text. Character/Event/Stage exclusions do not turn unknown Leader data into a value.
        - `counter` string, nullable, required: Printed counter label, such as +1000. Keep the sign and text; null can be unknown or not applicable.
        - `attribute` string, nullable, required: Supplied attribute, such as Strike, for applicable cards.
        - `tags` string[], required: Additional source classification tags. Do not infer tags from the card name.
        - `rules` string[], required: Available rules and trigger text in source order, without translation.
        - `abilities` object[], required: Available effect entries. A named effect is not required: name may be null while text is supplied.
          - `name` string, nullable, required: Ability or keyword name when supplied. Null does not mean the effect is absent.
          - `text` string, nullable, required: Source effect text. Check metadata_text for inferred language observations.
      - MetadataYugioh
        - `category` string, nullable, required: Source card type, such as Normal Monster, Link Monster, Spell Card or Trap Card.
        - `frame_type` string, nullable, required: Source frame classification, separate from the printed rarity.
        - `effect_text` string, nullable, required: Source description; it can contain descriptive text for a Normal Monster, not only an effect.
        - `flavor_text` string, nullable, required: Available separate flavor text, when supplied.
        - `skill_activation` string, nullable, required: Supplied activation text for an applicable Skill card; otherwise null can be unknown or not applicable.
        - `skill_type` string, nullable, required: Supplied Skill classification. It is not inferred from effect text.
        - `pendulum_effect` string, nullable, required: Available Pendulum-zone effect text, separate from monster_effect.
        - `monster_effect` string, nullable, required: Available monster effect text, including the monster side of a Pendulum card.
        - `attack` integer, nullable, required: Source ATK. The schema permits -1; preserve this source value without inventing a printed combat statistic. Null remains unknown or not applicable.
        - `defense` integer, nullable, required: Source DEF; the schema also permits -1. Link Monsters have no DEF; Spell/Trap values can be not applicable.
        - `level` integer, nullable, required: Supplied level-like source value. No separate rank field is returned; do not derive a printed Level or Rank from this field alone. Link/Spell/Trap values can be not applicable.
        - `race` string, nullable, required: Source monster type or Spell/Trap classification, such as Dragon or Continuous.
        - `attribute` string, nullable, required: Supplied monster attribute, such as LIGHT. Spell and Trap exclusions do not establish an attribute.
        - `archetype` string, nullable, required: Source archetype label, when supplied; a card name does not establish it.
        - `pendulum_scale` integer, nullable, required: Supplied Pendulum Scale, or null when unavailable or not applicable.
        - `link_rating` integer, nullable, required: Supplied Link rating, separate from Level and ATK.
        - `link_markers` string[], required: Supplied Link arrow directions. Empty does not establish verified absence.
        - `formats` string[], required: Source format labels associated with this card. Presence is not a current legality guarantee.
        - `banlist` object, required: Supplied restriction labels with no separate banlist freshness guarantee.
          - `tcg` string, nullable, required: Source restriction label for TCG. Null does not mean unrestricted or legal.
          - `ocg` string, nullable, required: Source restriction label for OCG. Null does not mean unrestricted or legal.
          - `goat` string, nullable, required: Source restriction label for GOAT. Null does not mean unrestricted or legal.
        - `rarity` string, nullable, required: Source rarity label for this physical printing; it does not prove a foil finish.
        - `version` string, nullable, required: Source printing/version label, when supplied. It is not a price-market edition filter.
    - `metadata_status` MetadataStatus
      - `state` 'available' | 'unavailable', required
      - `unknown_fields` string[], required
      - `unverified_empty_fields` string[], required
    - `metadata_quality` MetadataQuality
      - `state` 'complete' | 'partial' | 'unavailable', required
      - `scope` 'emitted_fields', required
      - `unknown_fields` string[], required
      - `not_applicable_fields` string[], required
      - `known_empty_fields` string[], required
      - `unverified_empty_fields` string[], required
    - `metadata_text` MetadataText: Best-effort language observations per nonempty rule/name text. Inferred languages are unverified, not printed-locale or translation provenance. Short/ambiguous text may remain unknown; card locale is never used to fill missing evidence.
      - `state` 'mixed' | 'single_language' | 'unknown' | 'unavailable', required
      - `languages` string[], required
      - `fields` object[], required
        - `path` string, required: JSON Pointer relative to the metadata object.
        - `languages` string[], required
        - `evidence` 'inferred' | 'unknown', required
    - `finish_details` FinishDetails: Use guide_finish as the finish query parameter on readable price/history routes. Guide buckets and physical printing facts are independent: One Piece physical_finish nonfoil can use guide_finish normal while legacy finish is null. A sole explicit finish is exposed as physical_finish; multiple possible finishes never select a physical variant by guessing.
      - `guide_finish` string, nullable, required
      - `physical_finish` string, nullable, required
      - `possible_physical_finishes` string[], required
    - `currency` 'EUR'
    - `observed_at` string, date-time
    - `avg` number, nullable: Source measurement in EUR. Null means missing, not zero.
    - `low` number, nullable: Source measurement in EUR. Null means missing, not zero.
    - `trend` number, nullable: Source measurement in EUR. Null means missing, not zero.
    - `avg1` number, nullable: Source measurement in EUR. Null means missing, not zero.
    - `avg7` number, nullable: Source measurement in EUR. Null means missing, not zero.
    - `avg30` number, nullable: Source measurement in EUR. Null means missing, not zero.
    - `changes` Changes
      - `1d` object, nullable, required
        - `absolute` number, required
        - `percent` number, nullable, required
      - `7d` object, nullable, required
        - `absolute` number, required
        - `percent` number, nullable, required
      - `30d` object, nullable, required
        - `absolute` number, required
        - `percent` number, nullable, required
    - `quote_scope` 'product_guide'
    - `language_scope` 'unfiltered'
    - `edition_scope` 'unfiltered'
    - `condition_scope` 'unfiltered'
  - `unavailable_ids` string[], required

## Other responses

- `400`: Invalid request or batch_size_exceeded (more IDs than the account plan allows)
- `401`: Invalid or missing key
- `403`: Inactive account, expired free test or resource_limits_unconfigured
- `404`: Not found or unavailable
- `405`: Wrong method
- `409`: Ambiguous printing or variant
- `413`: Oversized request body or response_too_large (response exceeds 1 MiB)
- `415`: Wrong content type
- `429`: Monthly, UTC-daily or minute request limit; authenticated account limits include a paid-plan or custom-access upgrade suggestion. Defensive resource-limit errors retain the ordinary error envelope.
- `503`: Disabled, unconfigured or temporarily unavailable

---

[API](https://skmtc.dev/tcgdata/apis/tcgdata-dev-multi-game-prices-and-daily-history.md) · [All operations](https://skmtc.dev/tcgdata/apis/tcgdata-dev-multi-game-prices-and-daily-history/llms.txt) · [OpenAPI document](https://skmtc.dev/tcgdata/apis/tcgdata-dev-multi-game-prices-and-daily-history/revisions/1db91fd8a408?raw)
