Card Rush API & Scraper
The Card Rush API turns the Card Rush shops (カードラッシュ, cardrush-pokemon.jp and its nine sister shops) into JSON in three actions.
🤖 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 finds products by name, card number or set on one game's shop, or lists a set / feature page (group) or a category, with an in-stock filter and price or recommended order, 10 to 100 rows a page. Every row is one product, which at Card Rush means one card in one condition or one graded slab: the price in yen including tax, the web-shop stock, and the parts of the shop's title split into fields: condition (状態 S, A-, B, C; NM / EX+ / EX on Magic), PSA grade, rarity, card number, the set code on Pokémon, and the language on Magic. card returns one product with the most one order can take, its category and the large image. buying_prices returns the shop's buying-price list (買取表): what Card Rush pays for a card in yen, with the card number, rarity, set, the date it was updated and the id of the shop product it refers to. Ten games: Pokémon, One Piece, Yu-Gi-Oh!, Magic: The Gathering, Duel Masters, Battle Spirits, Digimon, Vanguard, Dragon Ball Fusion World and Shadowverse: Evolve (no buying list for Shadowverse). One ReefAPI key, the standard { ok, data, meta, error } envelope, no Card Rush account.
How Card Rush writes condition and grade — and the fields they become
Card Rush lists every condition of a card as its own product and writes the condition into the product title. The API splits it out; the full title stays in name.
| in the shop title | field | value |
|---|---|---|
| 〔状態A-〕ピカチュウ【C】{033/087} | condition | A- |
| 〔状態B〕 / 〔状態C〕 | condition | B / C |
| 〔PSA10鑑定済〕ミュウ【-】{016/036} | graded, grader, grade | true, PSA, 10 |
| 【SAR】 / 【SEC】 / 【ウルトラ】 | rarity | SAR / SEC / ウルトラ |
| {025/165} / {OP13-118} | card_number | 025/165 / OP13-118 |
| [EX+]稲妻/Lightning Bolt《日本語》【A25】 (Magic) | condition, language, set_code | EX+, 日本語, A25 |
| ☆SALE☆ | on_sale | true (one per customer: max_order_qty 1) |
When the shop writes no condition bracket, condition is null rather than guessed. Prices are yen including consumption tax (税込), written by the shop with a thousands comma (32,800円 = 32800).
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/cardrush/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "ピカチュウ",
"per_page": 20
}
}{
"ok": true,
"meta": {
"api": "cardrush",
"endpoint": "search",
"mode": "live",
"latency_ms": 1529.6,
"record_count": 20,
"bytes": 158903,
"cache_hit": false,
"game": "pokemon",
"shop": "www.cardrush-pokemon.jp",
"listing": "keyword",
"total": 3708,
"page": 1,
"per_page": 20,
"last_page": 186,
"has_more": true,
"past_last_page": false,
"sort": "relevance",
"filters_applied": {
"query": "ピカチュウ"
},
"facets": {
"categories": [
{
"id": "20",
"name": "キズ有特価",
"count": 1537
},
{
"id": "23",
"name": "未開封BOX",
"count": 48
},
{
"id": "25",
"name": "オリパ",
"count": 2
}
],
"groups": [
{
"id": "594",
"name": "拡張パック「30th CELEBRATION」",
"count": 130
},
{
"id": "522",
"name": "スタートデッキ100 バトルコレクション",
"count": 23
},
{
"id": "523",
"name": "スタートデッキ100 バトルコレクション コロちゃおVer.",
"count": 4
}
]
},
"currency": "JPY",
"upstream_requests": 1,
"warnings": [],
"charged_credits": 3,
"version": "1.0.0",
"request_id": "e3643db0b5d7447a",
"queue_ms": 1.3,
"fetched_at": "2026-10-15T17:02:51.939Z"
},
"data": {
"rows": [
{
"id": "1123",
"product_id": "1123",
"game": "pokemon",
"url": "https://www.cardrush-pokemon.jp/product/1123",
"name": "ピカチュウ【-】{004/004}",
"condition": null,
"graded": false,
"grader": null,
"grade": null,
"on_sale": false,
"sealed": false,
"rarity": null,
"card_number": "004/004",
"attribute": null,
"language": null,
"set_code": null,
"card_name": "ピカチュウ",
"model_number": "その他",
"price_jpy": 18800,
"price_includes_tax": true,
"in_stock": true,
"stock_qty": 11,
"stock_unit": "枚",
"image": "https://www.cardrush-pokemon.jp/data/cardrushpokemon/_/70726f647563742f70696b61747975753031342e6a7067003136300000660023666666666666.jpg"
},
{
"id": "1130",
"product_id": "1130",
"game": "pokemon",
"url": "https://www.cardrush-pokemon.jp/product/1130",
"name": "ピカチュウ【C】{033/087}",
"condition": null,
"graded": false,
"grader": null,
"grade": null,
"on_sale": false,
"sealed": false,
"rarity": "C",
"card_number": "033/087",
"attribute": null,
"language": null,
"set_code": "CP6",
"card_name": "ピカチュウ",
"model_number": "CP6",
"price_jpy": 32800,
"price_includes_tax": true,
"in_stock": true,
"stock_qty": 52,
"stock_unit": "枚",
"image": "https://www.cardrush-pokemon.jp/data/cardrushpokemon/_/70726f647563742f70696b61747975753033332e6a7067003136300000660023666666666666.jpg"
},
{
"id": "1121",
"product_id": "1121",
"game": "pokemon",
"url": "https://www.cardrush-pokemon.jp/product/1121",
"name": "ピカチュウ【-】{001/010}",
"condition": null,
"graded": false,
"grader": null,
"grade": null,
"on_sale": false,
"sealed": false,
"rarity": null,
"card_number": "001/010",
"attribute": null,
"language": null,
"set_code": null,
"card_name": "ピカチュウ",
"model_number": "その他",
"price_jpy": 14800,
"price_includes_tax": true,
"in_stock": true,
"stock_qty": 12,
"stock_unit": "枚",
"image": "https://www.cardrush-pokemon.jp/data/cardrushpokemon/_/70726f647563742f70696b61747975756b61776169692e6a7067003136300000660023666666666666.jpg"
}
]
}
}What the Card Rush API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search one Card Rush shop. Each row is one product (one card in one condition / grade) with its price, stock and the parts of its title (condition, PSA grade, rarity, card number). Give `query`, or `group` (a set / feature listing), or `category`. With a query, group and category narrow it. | Pricing teams call search to search one Card Rush shop. | game, query, group, category, in_stock_only, ... |
| card | One Card Rush product in full: price, stock, the most one order can take, category, the shop's note and the large image. | Marketplace operators call card to get one Card Rush product in full. | product_id, game |
| buying_prices | Card Rush's buying-price list (買取表): what the shop pays for a card, in JPY. This is a BUY price — never the sale price. Each row links to the shop product it refers to. | Catalog enrichment teams call buying_prices to get card Rush's buying-price list (買取表). | game, query, card_number, rarity, pack_code, ... |
Call search from your stack
curl -X POST https://api.reefapi.com/cardrush/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"ピカチュウ","per_page":20}'import requests
r = requests.post(
"https://api.reefapi.com/cardrush/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "ピカチュウ",
"per_page": 20
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/cardrush/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "ピカチュウ",
"per_page": 20
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.cardrush.search with {"query":"ピカチュウ","per_page":20}.Who uses this API and why
- Price a Japanese card collection: search each card and read the sale price per condition and PSA grade.
- Spread between buy and sell: buying_prices for a set's chase cards, then card on each shop_product_id for Card Rush's own sale price.
- Watch a new set: search with the set's group id and sort=price_desc every day.
- Find graded slabs: search PSA10 on any of the ten shops.
- Cross-market comparison: Card Rush yen prices next to Cardmarket euro and TCGplayer dollar prices for the same card number.
Questions developers ask before integrating
Which games does it cover?
Pokémon (default), One Piece, Yu-Gi-Oh!, Magic: The Gathering, Duel Masters, Battle Spirits Saga, Digimon, Cardfight!! Vanguard, Dragon Ball Super Fusion World and Shadowverse: Evolve, each Card Rush shop of its own, chosen with game. All ten answered search on 2026-10-15. The buying-price list exists for nine of them; Card Rush publishes none for Shadowverse: Evolve.
Is the buying price the price I pay?
No. buying_prices returns buy_price_jpy, what Card Rush pays when you sell a card to the shop (買取価格). It is never returned as price. The sale price is price_jpy on search and card. Each buying-price row carries shop_product_id, so card gives you the shop's sale price and stock for the same card.
How do conditions and graded cards work?
Card Rush sells each condition as a separate product with its own price and stock, so a search for one card returns the copy without a condition bracket and, for example, 〔状態A-〕, 〔状態B〕 and 〔状態C〕 copies as separate rows. condition carries the grade the shop wrote; graded, grader and grade are filled for PSA slabs (search PSA10 to list them).
How do I list one set?
Every search answer carries meta.facets.groups and meta.facets.categories: the shop's own set / feature listings and categories with their ids and counts for that result. Pass a group id (for example 594, 拡張パック「30th CELEBRATION」 on the Pokémon shop) to list the set, or combine it with query to narrow a name search. Without a query, give one group or one category per call.
How far can I page?
10, 20, 30, 50 or 100 rows a page (100 by default); meta.total is the shop's own count (3,708 products for ピカチュウ on the Pokémon shop) and meta.last_page is computed from it. A page past the end returns no rows with past_last_page true. With a keyword, the default relevance order can swap tied rows between requests; sort by price_asc, price_desc or featured to page through a large result.
Is the stock number real?
stock_qty is the web shop's stock as the product page prints it (在庫数). Card Rush notes that its physical stores keep separate stock. A sold-out product keeps its price and comes back with in_stock false and stock_qty 0.
How current is the buying list?
Every call reads the live list. meta.list_updated is the list's own 'as of' label in Japan time, and every row has updated_at. Rows flagged is_hot are the ones the shop marks 只今の買取額UP; hot_only=true lists only those.
What is the Card Rush API?
Card Rush API is a ReefAPI endpoint group for card rush (カードラッシュ) trading-card prices as json: what one of japan's largest card shops sells a pokémon, one piece, yu-gi-oh! or mtg card for, in which condition and how many it has, and what it pays for one (買取). It returns live JSON through POST requests under /cardrush/v1.
Is the Card Rush API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Card Rush calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Card Rush login or account?
No login to Card Rush 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 Card Rush 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 Card Rush API use?
Card Rush actions currently cost 2-3 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Card Rush from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call cardrush actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Card Rush API a Card Rush scraper?
It is the managed alternative to a DIY Card Rush 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 card rush (カードラッシュ) trading-card prices as json: what one of japan's largest card shops sells a pokémon, one piece, yu-gi-oh! or mtg card for, in which condition and how many it has, and what it pays for one (買取) back as clean JSON.