Get card pricing

GET /api/v1/onepiece/cards/{id}/prices read:catalog 1 credit

The dedicated pricing endpoint: the full raw condition ladder plus every graded tier we can value, with sold counts, confidence bands and a last-sold timestamp per tier. Prefer this over `include=prices` when pricing is the point of the call, since it returns strictly more detail for the same credit. Returns `{ card_id, pricing }` — the same `pricing` object `include=prices` embeds, with `band` and `last_sold_at` added to each graded entry.

Try it GET /api/v1/onepiece/cards/swshp_ja-104vh/prices

These inputs are shared across all docs pages, so an id entered here carries over.

response
200 69ms preloaded server-side with the default context
object · 2 keys
{
  "success": true,
  "data": {
    "card_id": "OP01-001",
    "pricing": {
      "currency": "USD",
      "market": 2.03,
      "is_stale": false,
      "conditions": [
        {
          "condition": "NM",
          "price": 2.03
        },
        {
          "condition": "MP",
          "price": 1.67
        }
      ],
      "graded": [
        {
          "company": "BGS",
          "grade": "10",
          "value": 889.5,
          "low": 698.75,
          "high": 1003.25,
          "confidence": "low",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "CGC",
          "grade": "10",
          "value": 58.72,
          "low": 48.76,
          "high": 59.09,
          "confidence": "med",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "GENERIC",
          "grade": "8",
          "value": 22.5,
          "low": 19.13,
          "high": 25.87,
          "confidence": "med",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "GENERIC",
          "grade": "9",
          "value": 27,
          "low": 22.95,
          "high": 31.05,
          "confidence": "med",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "GENERIC",
          "grade": "9.5",
          "value": 44.19,
          "low": 37.56,
          "high": 50.82,
          "confidence": "med",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "PSA",
          "grade": "10",
          "value": 274.07,
          "low": 258.44,
          "high": 450.72,
          "confidence": "med",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "PSA",
          "grade": "8",
          "value": 22.5,
          "low": 19.13,
          "high": 25.87,
          "confidence": "low",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "PSA",
          "grade": "9",
          "value": 31.65,
          "low": 31.08,
          "high": 32.41,
          "confidence": "low",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "PSA",
          "grade": "9.5",
          "value": 148.5,
          "low": 142.47,
          "high": 244.25,
          "confidence": "med",
          "value_kind": "feed",
          "sold_count": 0
        },
        {
          "company": "SGC",
          "grade": "10",
          "value": 164.5,
          "low": 154.5,
          "high": 270.25,
          "confidence": "med",
          "value_kind": "feed",
          "sold_count": 0
        }
      ],
      "market_updated_at": "2026-09-21T03:37:55.911Z",
      "trend_7d": {
        "direction": "down",
        "percent": -7.31
      }
    }
  }
}
tracks the inputs above
curl -X GET 'https://service.rip.fun/api/v1/onepiece/cards/swshp_ja-104vh/prices' \
  -H 'X-API-Key: rip_…'

Response fields (data)

FieldDescription
card_idThe card the payload belongs to, in its stored spelling
pricing.currencyISO currency of every amount in the payload (always `USD` today)
pricing.marketHeadline market value for the default (Near Mint, raw) condition, or `null` where we hold none. Every amount in this payload is a **number**, not a decimal string — the one place in the CardOS API where money is not a string
pricing.market_updated_atWhen the market value was last recomputed (ISO 8601). Omitted when we have never priced the card
pricing.is_stale`true` when the underlying sales window is thin enough that the value should be treated as indicative
pricing.trend_7d`{ direction: up | down | flat, percent }` — the trailing week, and the only window a card carries. There is no `trend_30d` or `trend_90d`. Omitted when there is no move to report
pricing.conditions[]`{ condition, price }` raw ladder for the card’s own variant: NM, LP, MP, HP, DMG. Two fields only — the band and the comp count live on the graded entries, not here. Empty when we hold no per-condition data for the card
pricing.graded[]`{ company, grade, value, low, high, confidence, value_kind, sold_count, trend?, last_sold_at?, band? }` per grading company and grade. `low`/`high` are nullable; `last_sold_at` and `band` come from this endpoint only, not from `include=prices`

Errors

StatusCodeWhen
404not_foundno such object for this game (a Pokémon id on `/onepiece` is "not found")

See Errors for the response envelope and the full code list.