---
title: "Localized pricing — JustTCG API v2"
description: "How the per-variant markets array works in /v2/cards: one entry per region, with real observed prices instead of currency conversion."
url: https://justtcg.com/docs/api/cards-v2/regions
markdown_url: https://justtcg.com/docs/api/cards-v2/regions.md
---

# Localized pricing: the markets array

Beta

Trading card prices are genuinely local. v2 replaces v1's single price field with a markets array.

The EU price of a card is its own real, observed price, not a US price converted into euros. To reflect that, v2 replaces v1's single `price` field with a `markets` array on each variant. There is one entry for each region you request, so you can compare regions in a single response.

**Only NA is live today:** Right now **`NA` is the only region with data**. The `regions` parameter and `markets` array are already shaped for multi-region pricing, but EU, UK, JP, and other regions will switch on later as their data matures — this page describes the shape you can build against today.

## The `markets` object

| Property | Type | Description |
| --- | --- | --- |
| region | string | The region this pricing is for. It matches a code you asked for, either a market code like NA or EU, or an ISO country code like MX or CA. |
| currency | string | The ISO 4217 currency (for example USD or EUR) that price and every periods value is quoted in. Market codes use the market's main currency; country codes use that country's local currency. |
| price | number \| null | The real, observed price in this region, in the currency above. A value of **null** means we have no local data for this region, and it is up to you whether to read another region you requested instead. |
| updated\_at | number | When this price was last observed, as a Unix timestamp in seconds. |
| change\_24h\_pct | number \| null | Percent change in price over the last 24 hours for this region. In v1 this was called priceChange24hr. |
| periods | object | Price statistics grouped by time window (7d, 30d, 90d, 1y, and all\_time). Only the windows you request are included. |
| price\_history | array | A time series of observed prices for this region, as { t, p } points. This is the same price history v1 returned, now scoped to each region. |

**Regions and the NA default:** `regions` is optional. Leave it out and v2 defaults to North America (`NA`), which is the same US pricing v1 returned. Prices are never converted between currencies.

**Primary market rule:** `markets[0]`, the first region in your `regions` list, is the **primary market**. Filtering with `min_price` and sorting with `order_by` apply to this market **only**; the other markets are there for reference. There is no way to sort or filter on a blended figure across regions.

**Null prices & fallback:** A market's `price` is either the real price observed in that region or `null`. The server never fills in another region's price and never converts currencies for you. If you want a USD fallback, request `NA` as an extra region and read its entry, for example: `markets[0].price ?? markets.find(m => m.region === "NA").price`.

## Requesting regions

One query parameter on [/v2/cards](https://justtcg.com/docs/api/cards-v2) controls which regions come back, in priority order.

**`regions`** · string · Optional · Default: `NA` · Values: `NA`, `EU`, `UK`, `JP`, `OCE`, `LATAM`, `OTHER`, `…ISO country codes`

A comma-separated list of region codes, listed in priority order (not case sensitive). The first region is your primary market. Currently only NA returns data; the other codes are reserved for regions rolling out later. Each region beyond the first adds to the request cost.

**Request cost:** A single region costs the same as an equivalent v1 call. Each region beyond the first is a separate price lookup and adds a surcharge. See [Request cost](https://justtcg.com/docs/api/cards-v2#v2-cost) for the full breakdown.

## Example

One card's NA pricing, the only region live today.

```bash
curl "https://api.justtcg.com/v2/cards?card_id=pokemon-base-set-charizard-holo-rare&regions=na" \
  -H "x-api-key: tcg_your_api_key_here"
```

```json
{
  "markets": [
    {
      "region": "NA",
      "currency": "USD",
      "price": 155.00,
      "price_status": "current",
      "last_price": null,
      "updated_at": 1765635970,
      "change_24h_pct": -0.9,
      "periods": { "7d": { "change_pct": -2.4, "avg": 158.0, "min": 151.0, "max": 162.0 } },
      "price_history": [{ "t": 1765636400, "p": 155.0 }]
    }
  ]
}
```
