Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Yuyu-tei API page →
E-commerce & Marketplaces

Yuyu-tei API & Scraper

The Yuyu-tei API turns 遊々亭 (yuyu-tei.jp), a Japanese card shop that sells and buys singles for 24 games, into JSON in five actions.

5 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

search lists what the shop sells: by card name, by set (one or several set codes), by rarity or by card type, with in-stock, on-sale and damaged-copy filters, 600 products a page. Every row is one product with its price in yen, the exact web-shop stock, the struck-through regular price when it is on sale, the rarity, the set code and the card number printed on the card. card returns one product in full: the set name, the card's attribute table as the shop prints it (type, HP, level, attack, effect text …), the kana reading of the name and the large image. buy_prices and buy_card return the other side of the counter: what Yuyu-tei pays for a card (買取), with the earlier buying price when the shop has just raised it. The sell and buy rows share one card_id, so the spread for a card is two lookups. sets lists a game's sets with the codes the other actions take. Games include Pokémon, Yu-Gi-Oh! (OCG and Rush Duel), One Piece, Duel Masters, Weiß Schwarz, Vanguard, Digimon, Union Arena, Gundam, hololive OCG and Shadowverse EVOLVE. One ReefAPI key, the standard { ok, data, meta, error } envelope, no Yuyu-tei account.

Reference

What the shop prints, and the field it becomes

Yuyu-tei prints stock as a count only up to 10 and a circle above that. The API returns the exact count and keeps what the page shows next to it.

on the pagefieldvalue
在庫 : 3 点stock_qty, stock_display, in_stock3, "3 点", true
在庫 : ◯stock_qty, stock_displaythe exact count (11 or more), "◯"
在庫 : × (sold out, price still shown)stock_qty, in_stock, price_jpy0, false, the last price
500 円 with ~~680 円~~ (sale)price_jpy, regular_price_jpy, on_sale500, 680, true
買取 6,000 円, PRICE UP, ~~3,000 円~~buy_price_jpy, price_up, previous_buy_price_jpy6000, true, 3000
傷 (damaged copy)damaged, product_idtrue, "sv08a/10481/damage"
236/187 · UR · [SV8a]card_number, rarity, set_code"236/187", "UR", "sv08a"

Prices are yen as the shop prints them, with a thousands comma (5,980 円 = 5980). A buying price is never returned as price_jpy. Rarity '-' (no rarity) comes back as rarity null with rarity_raw '-'.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/yuyu-tei/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "ピカチュウ",
    "rarity": "SAR"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "yuyu-tei",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 2038.3,
    "record_count": 4,
    "bytes": 337572,
    "cache_hit": false,
    "game": "pokemon",
    "game_code": "poc",
    "side": "sell",
    "page": 1,
    "page_size": 600,
    "last_page": 1,
    "has_more": false,
    "past_last_page": false,
    "total": 4,
    "total_is_exact": true,
    "filters_applied": {
      "query": "ピカチュウ",
      "rarity": "SAR"
    },
    "rarities_on_page": [
      "SAR"
    ],
    "currency": "JPY",
    "upstream_requests": 1,
    "warnings": [],
    "charged_credits": 3,
    "version": "1.0.0",
    "request_id": "2a4774691e654e84",
    "queue_ms": 1.6,
    "fetched_at": "2026-10-15T17:03:02.778Z"
  },
  "data": {
    "rows": [
      {
        "product_id": "m06a/10126",
        "card_id": "m06a/10126",
        "game": "pokemon",
        "set_code": "m06a",
        "card_number": "126/103",
        "rarity": "SAR",
        "rarity_raw": "SAR",
        "name": "ピカチュウex",
        "url": "https://yuyu-tei.jp/sell/poc/card/m06a/10126",
        "image": "https://card.yuyu-tei.jp/poc/100_140/m06a/10126.jpg",
        "price_jpy": 7980,
        "on_sale": false,
        "regular_price_jpy": null,
        "damaged": false,
        "in_stock": true,
        "stock_qty": 14,
        "stock_display": "◯"
      },
      {
        "product_id": "m06a/10127",
        "card_id": "m06a/10127",
        "game": "pokemon",
        "set_code": "m06a",
        "card_number": "127/103",
        "rarity": "SAR",
        "rarity_raw": "SAR",
        "name": "ピカチュウex",
        "url": "https://yuyu-tei.jp/sell/poc/card/m06a/10127",
        "image": "https://card.yuyu-tei.jp/poc/100_140/m06a/10127.jpg",
        "price_jpy": 9980,
        "on_sale": false,
        "regular_price_jpy": null,
        "damaged": false,
        "in_stock": true,
        "stock_qty": 13,
        "stock_display": "◯"
      },
      {
        "product_id": "m02a/10470",
        "card_id": "m02a/10470",
        "game": "pokemon",
        "set_code": "m02a",
        "card_number": "234/193",
        "rarity": "SAR",
        "rarity_raw": "SAR",
        "name": "ピカチュウex",
        "url": "https://yuyu-tei.jp/sell/poc/card/m02a/10470",
        "image": "https://card.yuyu-tei.jp/poc/100_140/m02a/10470.jpg",
        "price_jpy": 24800,
        "on_sale": false,
        "regular_price_jpy": null,
        "damaged": false,
        "in_stock": true,
        "stock_qty": 5,
        "stock_display": "5 点"
      }
    ]
  }
}
Actions

What the Yuyu-tei API does

ActionDescriptionConcrete use caseKey params
searchSearch what yuyu-tei SELLS in one game. Each row is one product (one card printing; damaged copies are their own products) with its price, stock, rarity, set and card number. Give query, set, rarity or card_type. Up to 600 rows a page.Pricing teams call search to search what yuyu-tei SELLS in one game.game, query, set, rarity, card_type, ...
cardOne product yuyu-tei sells, in full: price, stock, set name, the card's attribute table (type, HP, colour, effect text … as the shop prints it) and the large image.Marketplace operators call card to get one product yuyu-tei sells, in full.product_id, game
buy_pricesyuyu-tei's buying-price list (買取): what the shop PAYS for a card, in JPY — never the sale price. Same filters and ids as `search`; the row's card_id is the same card on the sell side.Catalog enrichment teams call buy_prices to get yuyu-tei's buying-price list (買取).game, query, set, rarity, card_type, ...
buy_cardOne card's buying price (買取) in full: buy price, PRICE UP flag with the earlier price, set name and the card's attribute table.Retail analysts call buy_card to get one card's buying price (買取) in full.product_id, game
setsThe set list (収録弾) for one game, in the shop's own order, with the codes `search` and `buy_prices` take as `set`.Pricing teams call sets to get the set list (収録弾) for one game, in the shop's own order, with the codes `search` and `buy_pr….game
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/yuyu-tei/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"ピカチュウ","rarity":"SAR"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.yuyu-tei.search with {"query":"ピカチュウ","rarity":"SAR"}.
Use cases

Who uses this API and why

  • Price a Japanese collection across games: search each card and read price and exact stock.
  • Buy/sell spread: buy_prices for a set, then card on each card_id for the shop's sale price.
  • Watch buying-price jumps: buy_prices rows flagged price_up carry the earlier buying price.
  • Track a new set: search with its set code every day and follow stock_qty.
  • Find cheaper copies: damaged=true for the shop's scratched copies of the same card.
FAQ

Questions developers ask before integrating

Which games does it cover?

24: Pokémon (default), Yu-Gi-Oh! OCG, Yu-Gi-Oh! Rush Duel, One Piece, Duel Masters, Weiß Schwarz, Weiß Schwarz Rose, Vanguard, Digimon, Union Arena, Battle Spirits, Gundam Card Game, hololive OCG, Shadowverse EVOLVE, WIXOSS, Z/X, Precious Memories, ChaosTCG, Rebirth for you, Lycee Overture, Fire Emblem Cipher, Xross Stars, Gundam Arsenal Base and Eiketsu Taisen. Magic: The Gathering is not sold by Yuyu-tei. The shop's own path codes (poc, ygo, opc, ws …) are accepted as game too; pm is Precious Memories, not Pokémon.

Is the buying price the price I pay?

No. buy_prices and buy_card return buy_price_jpy, what Yuyu-tei pays when you sell a card to the shop (買取). The sale price is price_jpy on search and card. Both sides carry the same card_id (for example sv08a/10481), so card and buy_card on one id give the spread.

How exact is the stock?

The page prints a count only up to 10 and a circle (◯) above that. stock_qty is the exact count the shop's cart works with; it matched the printed count on every product where a count is printed (83 of 83 in one measured list). stock_display keeps what the page shows. A sold-out product keeps its last price with stock_qty 0.

What are damaged copies?

Yuyu-tei sells scratched or worn copies (傷有り) as separate products at a lower price. damaged=true lists them; their product_id ends in /damage and card reads them. For example a UR Pikachu ex listed at 9,980 yen clean was 6,980 yen as a damaged copy on 2026-10-15. Damaged copies can be filtered by set, rarity and stock; the shop has no sale or card-type filter on that list.

How do I list one set?

sets returns every set of a game with its code (294 Pokémon sets, 463 Yu-Gi-Oh! sets on 2026-10-15). Pass the code as set to search or buy_prices, alone or with a name; several codes separated by commas work in one call. An unknown code, rarity or card type returns INVALID_PARAM with the valid values, not an empty list.

How far can I page?

The shop pages lists by 600 products. meta.last_page says how many pages the result has and has_more whether another follows; meta.total is exact on the last page (1,558 products for 'ex' on Pokémon on 2026-10-15, three pages). A page past the end returns no rows with past_last_page true.

Does the price depend on where I call from?

No. The same card, buying price and list were identical from four different countries in the same minute on 2026-10-15. Prices are yen.

What is the Yuyu-tei API?

Yuyu-tei API is a ReefAPI endpoint group for 遊々亭 (yuyu-tei.jp) trading-card prices as json: what one of japan's big multi-game card shops sells a card for and how many it has, what it pays for the same card (買取), and every set, for 24 games. It returns live JSON through POST requests under /yuyu-tei/v1.

Is the Yuyu-tei API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Yuyu-tei calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Yuyu-tei login or account?

No login to Yuyu-tei is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Yuyu-tei data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Yuyu-tei API use?

Yuyu-tei actions currently cost 3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Yuyu-tei from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call yuyu-tei actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Yuyu-tei API a Yuyu-tei scraper?

It is the managed alternative to a DIY Yuyu-tei scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same 遊々亭 (yuyu-tei.jp) trading-card prices as json: what one of japan's big multi-game card shops sells a card for and how many it has, what it pays for the same card (買取), and every set, for 24 games back as clean JSON.

docs / yuyu-tei

Yuyu-tei

遊々亭 (yuyu-tei.jp) trading-card prices as JSON: what one of Japan's big multi-game card shops sells a card for and how many it has, what it pays for the same card (買取), and every set, for 24 games.

base /yuyu-tei/v15 endpoints
post/yuyu-tei/v1/card3 credits

One product yuyu-tei sells, in full: price, stock, set name, the card's attribute table (type, HP, colour, effect text … as the shop prints it) and the large image.

ParameterAllowed / rangeDescription
product_idrequired—A list row's `product_id` (<set code>/<card id>, ending in /damage for a damaged copy), or a yuyu-tei card URL such as https://yuyu-tei.jp/sell/poc/card/sv08a/10481.
game = pokemonoptionalpokemon · yugioh · yugioh_rush_duel · onepiece · duel_masters · weiss_schwarz · weiss_schwarz_rose · vanguard · digimon · union_arena · battle_spirits · gundam · hololive · shadowverse_evolve · wixoss · zx · precious_memories · chaos · rebirth · lycee · fire_emblem_cipher · xross_stars · gundam_arsenal_base · eiketsu_taisenWhich game: pokemon (default), yugioh, yugioh_rush_duel, onepiece, duel_masters, weiss_schwarz, weiss_schwarz_rose, vanguard, digimon, union_arena, battle_spirits, gundam, hololive, shadowverse_evolve, wixoss, zx, precious_memories, chaos, rebirth, lycee, fire_emblem_cipher, xross_stars, gundam_arsenal_base, eiketsu_taisen. The site's own path code (poc, ygo, opc, ws, …) is accepted too; note `pm` is Precious Memories, not Pokémon.
Try in playground →
post/yuyu-tei/v1/buy_prices3 credits

yuyu-tei's buying-price list (買取): what the shop PAYS for a card, in JPY — never the sale price. Same filters and ids as `search`; the row's card_id is the same card on the sell side.

ParameterAllowed / rangeDescription
game = pokemonoptionalpokemon · yugioh · yugioh_rush_duel · onepiece · duel_masters · weiss_schwarz · weiss_schwarz_rose · vanguard · digimon · union_arena · battle_spirits · gundam · hololive · shadowverse_evolve · wixoss · zx · precious_memories · chaos · rebirth · lycee · fire_emblem_cipher · xross_stars · gundam_arsenal_base · eiketsu_taisenWhich game: pokemon (default), yugioh, yugioh_rush_duel, onepiece, duel_masters, weiss_schwarz, weiss_schwarz_rose, vanguard, digimon, union_arena, battle_spirits, gundam, hololive, shadowverse_evolve, wixoss, zx, precious_memories, chaos, rebirth, lycee, fire_emblem_cipher, xross_stars, gundam_arsenal_base, eiketsu_taisen. The site's own path code (poc, ygo, opc, ws, …) is accepted too; note `pm` is Precious Memories, not Pokémon.
queryoptional—Card name, partial match, as the shop writes it (Japanese; e.g. 'ピカチュウ', 'ルフィ', 'ex'). Give query, set, rarity or card_type (any combination).
setoptional—One set code, or several separated by commas (up to 20), as the `sets` action and every row's `set_code` give them (e.g. sv08a = [SV8a] テラスタルフェスex). An unknown code answers INVALID_PARAM.
rarityoptional—One rarity exactly as the shop lists it for that game (Pokémon: UR, SAR, SR, AR, RR, R, U, C, PROMO …; Yu-Gi-Oh!: SE, UR, QCSE …). An unknown value answers INVALID_PARAM with the game's list.
card_typeoptional—The shop's card-type / colour filter for that game (Pokémon: ポケモン, エネルギー, トレーナーズ; One Piece: colours 赤, 緑 …). An unknown value answers INVALID_PARAM with the game's list. Not available together with damaged=true.
page = 1optional1–500Page number. The shop pages lists by 600 products; meta.last_page says how many pages there are. A page past the last one answers no rows and past_last_page=true.
Try in playground →
post/yuyu-tei/v1/buy_card3 credits

One card's buying price (買取) in full: buy price, PRICE UP flag with the earlier price, set name and the card's attribute table.

ParameterAllowed / rangeDescription
product_idrequired—A row's `card_id` / `product_id` (<set code>/<card id>), or a yuyu-tei buy URL such as https://yuyu-tei.jp/buy/poc/card/sv08a/10481. The sell and buy sides share the id.
game = pokemonoptionalpokemon · yugioh · yugioh_rush_duel · onepiece · duel_masters · weiss_schwarz · weiss_schwarz_rose · vanguard · digimon · union_arena · battle_spirits · gundam · hololive · shadowverse_evolve · wixoss · zx · precious_memories · chaos · rebirth · lycee · fire_emblem_cipher · xross_stars · gundam_arsenal_base · eiketsu_taisenWhich game: pokemon (default), yugioh, yugioh_rush_duel, onepiece, duel_masters, weiss_schwarz, weiss_schwarz_rose, vanguard, digimon, union_arena, battle_spirits, gundam, hololive, shadowverse_evolve, wixoss, zx, precious_memories, chaos, rebirth, lycee, fire_emblem_cipher, xross_stars, gundam_arsenal_base, eiketsu_taisen. The site's own path code (poc, ygo, opc, ws, …) is accepted too; note `pm` is Precious Memories, not Pokémon.
Try in playground →
post/yuyu-tei/v1/sets3 credits

The set list (収録弾) for one game, in the shop's own order, with the codes `search` and `buy_prices` take as `set`.

ParameterAllowed / rangeDescription
game = pokemonoptionalpokemon · yugioh · yugioh_rush_duel · onepiece · duel_masters · weiss_schwarz · weiss_schwarz_rose · vanguard · digimon · union_arena · battle_spirits · gundam · hololive · shadowverse_evolve · wixoss · zx · precious_memories · chaos · rebirth · lycee · fire_emblem_cipher · xross_stars · gundam_arsenal_base · eiketsu_taisenWhich game: pokemon (default), yugioh, yugioh_rush_duel, onepiece, duel_masters, weiss_schwarz, weiss_schwarz_rose, vanguard, digimon, union_arena, battle_spirits, gundam, hololive, shadowverse_evolve, wixoss, zx, precious_memories, chaos, rebirth, lycee, fire_emblem_cipher, xross_stars, gundam_arsenal_base, eiketsu_taisen. The site's own path code (poc, ygo, opc, ws, …) is accepted too; note `pm` is Precious Memories, not Pokémon.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.