# BIGWEB API — Japanese trading-card shop BIGWEB / BIG MAGIC (bigweb.co.jp): selling prices per condition with stock and the shop's buy-back prices (買取価格) with how many it takes, for 29 games including Magic: The Gathering, Pokémon, Yu-Gi-Oh!, One Piece, Duel Masters and Weiß Schwarz. JPY, no login, no key.

> Search BIGWEB's products for one game by card name or card number, set, rarity, colour, condition, language, the game's own extra filters, curated lists and reduced prices; sort by price, newest or syllabary. One row per card and condition, with the yen price and stock.
> ReefAPI engine `bigweb` · 8 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/bigweb/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free.
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Clients that add connectors by URL, such as ChatGPT and the Claude app, connect with OAuth 2.1 (the user pastes their key once on a ReefAPI page; discovery at `/.well-known/oauth-protected-resource/mcp`). Config files send the key as `Authorization: Bearer <key>`. `?key=<key>` in the URL also works as a last-resort fallback.

## Endpoints

### POST https://api.reefapi.com/bigweb/v1/search — 3 credits
Search BIGWEB's products for one game by card name or card number, set, rarity, colour, condition, language, the game's own extra filters, curated lists and reduced prices; sort by price, newest or syllabary. One row per card and condition, with the yen price and stock.

**Parameters:**
- `game` (enum, required) — Which game: the shop's slug (mtg, pokemon, yugioh, onepiece, dm, ws, lorcana, …). The numeric id from `games` also works. Common names such as duel_masters or one_piece are accepted. [one of: mtg, yugioh, pokemon, dm, union, onepiece, dbscg, bs, digimon, fftcg, gundamgcg, ultraman, vg, fe, supply, hololive, ws, wix, zx, character-supply, lorcana, eiketsu, sangokushi, lycee, rebirth, evolve, sc, godzilla, ganba]
- `keyword` (string, optional) — Card name (Japanese; English for MTG / Lorcana) or printed card number such as 288/SM-P, QCCU-JP170 or OP10-033 — the shop's own search matches both.
- `set_id` (string, optional) — One set id, or several comma-separated (the `sets` action lists them).
- `rarity_id` (string, optional) — Rarity id(s), comma-separated. The `filters` action lists this game's ids and names.
- `color_id` (string, optional) — Colour / element / attribute id(s), whatever this game's colour filter is (`filters`).
- `condition_id` (string, optional) — Physical condition id(s) from `filters`, in the games that sell by condition (Pokémon, MTG, Yu-Gi-Oh!, Duel Masters, Weiß Schwarz, Lorcana …).
- `language_id` (string, optional) — Printed language id(s) from `filters`; only MTG and Lorcana have them.
- `attribute_id` (string, optional) — The game's first extra filter id(s), e.g. One Piece card type (LEADER / CHARACTER …), Yu-Gi-Oh! theme, Duel Masters team, Weiß Schwarz card type. `filters` names it per game.
- `attribute2_id` (string, optional) — The game's second extra filter id(s), e.g. One Piece attribute (打 / 斬 / 射 …). `filters` names it.
- `feature_id` (integer, optional) — Only the cards of one curated list (`features` gives the ids). With buyback_search it returns what the shop pays for that list's cards, e.g. the 【強化買取中!!】 list on the sale side.
- `boxes_only` (boolean, optional, default false) — Only sealed boxes and sets.
- `singles_only` (boolean, optional, default false) — Drop sealed boxes and sets from the rows of this page. Applied after the page is read; meta.removed_box_rows says how many were dropped.
- `sort` (enum, optional, default "default") — Order of the rows. Price sorts include sold-out products whose price the shop hides; combine with in_stock when you only want prices you can buy at. [one of: default, price_asc, price_desc, newest, oldest, name, shelf]
- `page` (integer, optional, default 1) — Page number; each page holds 100 products (the shop's fixed size). meta.last_page says how many.
- `in_stock` (boolean, optional, default false) — Drop sold-out products from the rows of this page, as the shop's own 在庫あり switch does. A page keeps its position in the full list, so it can return fewer than 100 rows; meta.removed_sold_out_rows says how many were dropped.
- `on_sale` (boolean, optional, default false) — Only products at a reduced price (the shop's セール品 list); list_price_jpy holds the old price.

**Returns:** rows[]: id (product id: one per card AND condition; give it to `card`), game, game_name, name (as the shop writes it; English for MTG / Lorcana), name_ja (MTG / Lorcana), name_kana (Sangokushi), card_number (the printed number, read from where this game keeps it), set{id, name, code, preorder}, rarity{id, name, code}, regulation_mark (Pokémon), condition (physical condition as the shop writes it — プレイ用, 特価[傷含む], ニアミント, FOILプレイド …; null for games sold in one condition), condition_id, condition_code (NM/PLD/HP/SIGNED, MTG), is_foil (MTG), language + language_code (the printed language, MTG / Lorcana), attributes{…} (this game's other filters by their meaning: card_type, attribute, theme, team, clan …), graded + grader + grade (slabs such as 【PSA10鑑定品】), variant (the shop's edition / promo tag), note (the shop's remark, HTML removed), displayed_at_store[]{store, quantity}, is_box, is_supply, image, price_jpy (null when the shop prints none: sold out and price hidden), list_price_jpy (before reduction), on_sale, points (loyalty points), stock, in_stock, is_preorder, url, buyback_url, currency. meta: total (the shop's own count), page, per_page, last_page, has_more, sort, filters_applied, removed_sold_out_rows, removed_box_rows, warnings.

**Example request body:**
```json
{
  "game": "pokemon",
  "keyword": "ピカチュウ"
}
```

### POST https://api.reefapi.com/bigweb/v1/buyback_search — 3 credits
BIGWEB's web buy-back list (買取) for one game: what the shop PAYS per card and condition and how many copies it takes; the same name, number, set, rarity and condition filters as search, sorted by buy price if you want. BIG MAGIC's walk-in stores may pay differently.

**Parameters:**
- `game` (enum, required) — Which game: the shop's slug (mtg, pokemon, yugioh, onepiece, dm, ws, lorcana, …). The numeric id from `games` also works. Common names such as duel_masters or one_piece are accepted. [one of: mtg, yugioh, pokemon, dm, union, onepiece, dbscg, bs, digimon, fftcg, gundamgcg, ultraman, vg, fe, supply, hololive, ws, wix, zx, character-supply, lorcana, eiketsu, sangokushi, lycee, rebirth, evolve, sc, godzilla, ganba]
- `keyword` (string, optional) — Card name (Japanese; English for MTG / Lorcana) or printed card number such as 288/SM-P, QCCU-JP170 or OP10-033 — the shop's own search matches both.
- `set_id` (string, optional) — One set id, or several comma-separated (the `sets` action lists them).
- `rarity_id` (string, optional) — Rarity id(s), comma-separated. The `filters` action lists this game's ids and names.
- `color_id` (string, optional) — Colour / element / attribute id(s), whatever this game's colour filter is (`filters`).
- `condition_id` (string, optional) — Physical condition id(s) from `filters`, in the games that sell by condition (Pokémon, MTG, Yu-Gi-Oh!, Duel Masters, Weiß Schwarz, Lorcana …).
- `language_id` (string, optional) — Printed language id(s) from `filters`; only MTG and Lorcana have them.
- `attribute_id` (string, optional) — The game's first extra filter id(s), e.g. One Piece card type (LEADER / CHARACTER …), Yu-Gi-Oh! theme, Duel Masters team, Weiß Schwarz card type. `filters` names it per game.
- `attribute2_id` (string, optional) — The game's second extra filter id(s), e.g. One Piece attribute (打 / 斬 / 射 …). `filters` names it.
- `feature_id` (integer, optional) — Only the cards of one curated list (`features` gives the ids). With buyback_search it returns what the shop pays for that list's cards, e.g. the 【強化買取中!!】 list on the sale side.
- `boxes_only` (boolean, optional, default false) — Only sealed boxes and sets.
- `singles_only` (boolean, optional, default false) — Drop sealed boxes and sets from the rows of this page. Applied after the page is read; meta.removed_box_rows says how many were dropped.
- `sort` (enum, optional, default "default") — Order of the rows. Price sorts include sold-out products whose price the shop hides; combine with in_stock when you only want prices you can buy at. [one of: default, price_asc, price_desc, newest, oldest, name, shelf]
- `page` (integer, optional, default 1) — Page number; each page holds 100 products (the shop's fixed size). meta.last_page says how many.

**Returns:** rows[]: id (product id: one per card AND condition; give it to `card`), game, game_name, name (as the shop writes it; English for MTG / Lorcana), name_ja (MTG / Lorcana), name_kana (Sangokushi), card_number (the printed number, read from where this game keeps it), set{id, name, code, preorder}, rarity{id, name, code}, regulation_mark (Pokémon), condition (physical condition as the shop writes it — プレイ用, 特価[傷含む], ニアミント, FOILプレイド …; null for games sold in one condition), condition_id, condition_code (NM/PLD/HP/SIGNED, MTG), is_foil (MTG), language + language_code (the printed language, MTG / Lorcana), attributes{…} (this game's other filters by their meaning: card_type, attribute, theme, team, clan …), graded + grader + grade (slabs such as 【PSA10鑑定品】), variant (the shop's edition / promo tag), note (the shop's remark, HTML removed), displayed_at_store[]{store, quantity}, is_box, is_supply, image, buyback_price_jpy (what the shop PAYS), buy_limit (the most copies it takes), buying, url, sale_url, currency. meta: total, page, per_page, last_page, has_more, sort, filters_applied, removed_box_rows, warnings.

**Example request body:**
```json
{
  "game": "mtg",
  "keyword": "Lightning Bolt"
}
```

### POST https://api.reefapi.com/bigweb/v1/card — 2 credits
One BIGWEB product in full: sale price and stock, what the shop pays for it and how many it takes, description — plus the same card in its other conditions on both sides.

**Parameters:**
- `product_id` (string, required) — A BIGWEB product id (a row's `id`) or a bigweb.co.jp card URL (/products/<game>/cardViewer/<id>).
- `include_other_conditions` (boolean, optional, default true) — Also return the same card (same name, number and set) in its other conditions, on both the sale and the buy-back side. Each condition is a separate product at BIGWEB.

**Returns:** card{id (product id: one per card AND condition; give it to `card`), game, game_name, name (as the shop writes it; English for MTG / Lorcana), name_ja (MTG / Lorcana), name_kana (Sangokushi), card_number (the printed number, read from where this game keeps it), set{id, name, code, preorder}, rarity{id, name, code}, regulation_mark (Pokémon), condition (physical condition as the shop writes it — プレイ用, 特価[傷含む], ニアミント, FOILプレイド …; null for games sold in one condition), condition_id, condition_code (NM/PLD/HP/SIGNED, MTG), is_foil (MTG), language + language_code (the printed language, MTG / Lorcana), attributes{…} (this game's other filters by their meaning: card_type, attribute, theme, team, clan …), graded + grader + grade (slabs such as 【PSA10鑑定品】), variant (the shop's edition / promo tag), note (the shop's remark, HTML removed), displayed_at_store[]{store, quantity}, is_box, is_supply, image, price_jpy (null when the shop prints none: sold out and price hidden), list_price_jpy (before reduction), on_sale, points (loyalty points), stock, in_stock, is_preorder, url, buyback_url, currency, buyback_price_jpy, buy_limit, buying, buyback_status (buying / not_buying), description}, other_conditions[] (same fields, one row per other condition). meta: other_conditions_total.

**Example request body:**
```json
{
  "product_id": "726157"
}
```

### POST https://api.reefapi.com/bigweb/v1/sets — 1 credit
Every set / expansion BIGWEB lists for one game, in the shop's order, with its code — the ids `search` takes as set_id.

**Parameters:**
- `game` (enum, required) — Which game: the shop's slug (mtg, pokemon, yugioh, onepiece, dm, ws, lorcana, …). The numeric id from `games` also works. Common names such as duel_masters or one_piece are accepted. [one of: mtg, yugioh, pokemon, dm, union, onepiece, dbscg, bs, digimon, fftcg, gundamgcg, ultraman, vg, fe, supply, hololive, ws, wix, zx, character-supply, lorcana, eiketsu, sangokushi, lycee, rebirth, evolve, sc, godzilla, ganba]

**Returns:** sets[]{id, name, code, preorder, box_set, game}.

**Example request body:**
```json
{
  "game": "yugioh"
}
```

### POST https://api.reefapi.com/bigweb/v1/filters — 1 credit
This game's filter vocabulary: rarities, colours, physical conditions, languages and the game's extra filters (card type, attribute, theme, team …), with the ids search takes.

**Parameters:**
- `game` (enum, required) — Which game: the shop's slug (mtg, pokemon, yugioh, onepiece, dm, ws, lorcana, …). The numeric id from `games` also works. Common names such as duel_masters or one_piece are accepted. [one of: mtg, yugioh, pokemon, dm, union, onepiece, dbscg, bs, digimon, fftcg, gundamgcg, ultraman, vg, fe, supply, hololive, ws, wix, zx, character-supply, lorcana, eiketsu, sangokushi, lycee, rebirth, evolve, sc, godzilla, ganba]

**Returns:** game, rarities[]{id, name}, colors[]{id, name}, color_label, conditions[]{id, name}, languages[]{id, name}, attributes[]{key, label, param, options[]{id, name}}.

**Example request body:**
```json
{
  "game": "pokemon"
}
```

### POST https://api.reefapi.com/bigweb/v1/features — 2 credits
The shop's curated lists for one game, with their first products: pick-ups, recommended cards, the 【強化買取中!!】 list of cards it wants to buy, and on the buy-back side the sets it is buying now.

**Parameters:**
- `game` (enum, required) — Which game: the shop's slug (mtg, pokemon, yugioh, onepiece, dm, ws, lorcana, …). The numeric id from `games` also works. Common names such as duel_masters or one_piece are accepted. [one of: mtg, yugioh, pokemon, dm, union, onepiece, dbscg, bs, digimon, fftcg, gundamgcg, ultraman, vg, fe, supply, hololive, ws, wix, zx, character-supply, lorcana, eiketsu, sangokushi, lycee, rebirth, evolve, sc, godzilla, ganba]
- `side` (enum, optional, default "sale") — Which curated lists to return. [one of: sale, buyback]

**Returns:** rows[]{feature_id (give to search or buyback_search as feature_id), title, side, products[] (as search rows, or buy-back rows), products_shown}.

**Example request body:**
```json
{
  "game": "pokemon"
}
```

### POST https://api.reefapi.com/bigweb/v1/suggest — 1 credit
Product names matching part of a name, grouped by product type, as in the shop's search box.

**Parameters:**
- `keyword` (string, required) — Part of a name; returns the matching product names, grouped by product type.
- `game` (enum, optional) — Optional: limit to one game. [one of: mtg, yugioh, pokemon, dm, union, onepiece, dbscg, bs, digimon, fftcg, gundamgcg, ultraman, vg, fe, supply, hololive, ws, wix, zx, character-supply, lorcana, eiketsu, sangokushi, lycee, rebirth, evolve, sc, godzilla, ganba]

**Returns:** rows[]{shape, names[]}.

**Example request body:**
```json
{
  "keyword": "ピカチュウ"
}
```

### POST https://api.reefapi.com/bigweb/v1/games — 1 credit
The games BIGWEB lists, with their slugs and which filters each game has.

**Parameters:** none

**Returns:** rows[]{game, game_id, name, name_en, sells_by_condition, has_language, extra_filters[], sale_url, buyback_url}.

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=bigweb
- Human docs page: https://reefapi.com/docs/bigweb
- Overview page: https://reefapi.com/bigweb-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
