What Japanese trading cards actually sell for, card by card
The magi API returns magi.camp - Japan's card-only flea market for Pokémon, One Piece, Yu-Gi-Oh!, Duel Masters, MTG, Weiß Schwarz and 140+ other games - as clean JSON in yen, with the Japanese text kept as sellers wrote it.
This page covers what the magi API returns, who uses it, a real response and pricing. Every parameter and response field is in magi API parameters and responses →
- endpoints
- 9
- credits per call
- 1–2
2 credits per call≈ $2/1,000 calls1,000 free credits, no card
- @ @ モンキー・D・ルフィ(パラレル) P-R OP16-034 1枚569
- favorites
- 2
- sold
- true
- 【状態A】モンキー・D・ルフィ SR パラレル (OP02-062) 1枚2472
- favorites
- 0
- sold
- true
- 【PSA10】モンキー・D・ルフィ(パラレル) P-SEC EB02-061 1枚9043
- favorites
- 1
- sold
- true
9 active endpoints, on 1 and 2 credit tiers.
- POST/magi/v1/search2 credits
- POST/magi/v1/sold2 credits
- POST/magi/v1/item2 credits
- POST/magi/v1/products2 credits
- POST/magi/v1/product2 credits
- POST/magi/v1/price_history2 credits
- POST/magi/v1/catalog1 credit
- POST/magi/v1/categories1 credit
Run the call yourself, on the real endpoint
Change a parameter and press Try it. The response on the right is what your code will receive.
magi API
3 of 9 endpoints, ready to run
Only listings that sold, with the price they sold at, newest first: filter by game, keyword, card, seller, grade, price band and condition; the page's min, median, mean and max come back too.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
What magi endpoints does ReefAPI ship?
9 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Every parameter, every allowed value →
Missing a magi endpoint, or need a source we don't have yet?Contact us real people · same-day reply.How the magi API works
magi is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 632 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and nothing is cached: every call reads the source live.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Is this card cheap? Three calls
Compare the cheapest copy for sale on magi with what the card has actually sold for.
{"query": "リザードンex SAR 134/108"}Card ids with rarity, card number and set; graded versions (【PSA10】…) are separate ids.
{"product_id": "422598", "days": 90}Daily series and median, min, max and change over 90 days.
{"product_id": "422598", "status": "on_sale", "sort": "price_asc"}Copies for sale now, cheapest first.
The 90-day sold median next to the cheapest live copy of the same card.
curl -X POST https://api.reefapi.com/magi/v1/sold \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"ルフィ","game":"one_piece"}'{
"ok": true,
"data": { … },
"meta": {
"api": "magi",
"endpoint": "sold",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}What a PSA 10 card really sells for in Japan - one call
product for 【PSA10】リザードンex SAR 134/108 on 2026-11-08 returned 314 completed sales and a dated chart from 2024-02-11 to 2026-11-02. The cheapest copy for sale was ¥75,705; the raw card's cheapest copy was ¥25,750, so the grading premium is visible in the same response.
| Field | Value (live, 2026-11-08) | Meaning |
|---|---|---|
| last_trade_date / last_trade_price_jpy | 2026-11-02 / 74,984 | The most recent sale on the chart |
| range_12m_min_jpy - range_12m_max_jpy | 46,350 - 121,540 | magi's own 12-month range |
| average_all_time_jpy | 50,497 | magi's all-time average sale |
| price_history days=90: change_percent | -20.7 % | 94,554 on 2026-08-11 to 74,984 on 2026-11-02 |
| min_price_jpy | 75,705 | Cheapest copy for sale right now |
Prices are what a buyer pays, buyer fee included - magi adds about 3 % on top of the seller's price, and item shows both (22,660 = 22,000 + 660 fee on a live listing). magi's chart keeps one point per day for up to 200 days; trades lists every sale, and gets an exact date per sale when the two line up one-to-one.
What magi publishes, and what it does not
magi.camp only — Japan, prices in JPY, Japanese text. Measured 2026-11-08: 38 of 38 live cases across nine actions and nine games, 54 of 54 fields equal to the site in an independent check, 72 offline checks on real responses. Some of these lines go against us.
1,686 of 1,686 rows had a price and an image.
Read from the title, because magi has no grade field. Found on 461 of 1,686 rows.
Search reaches 100 pages of 96 rows. The price chart has one point a day, up to 200 days.
It uses magi's indexed price, which can lag; the response warns when that applies.
The sale time of a single listing.
What people build with magi
The jobs this data is most often used for.
endpoints
credits per call
Japan-to-abroad arbitrage: realised yen sale prices for a card next to its cheapest live copy
Graded card valuation: PSA 10 versus raw prices for the same card, with the full sale history
Price alerts and portfolio tracking for Japanese Pokémon and One Piece cards
Market research: what sells, how fast and at what price, per game and sub-category
What magi data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
- 1,000 free credits on signup, no card
- One key, all 632 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/magi/v1/sold \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"ルフィ","game":"one_piece"}'import os
import requests
REEF_KEY = os.environ["REEF_KEY"]
r = requests.post(
"https://api.reefapi.com/magi/v1/sold",
headers={"x-api-key": REEF_KEY},
json={
"query": "ルフィ",
"game": "one_piece"
},
timeout=90,
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up magi.
Can I get sold prices, not just asking prices?▾
Yes. sold returns only listings that sold, with the price they sold at, and works with every search filter: game, keyword, card, seller, grade, price band and condition. For one card, product returns every completed sale. In the live run a sold search for ルフィ in One Piece returned 96 sales on the first page (median ¥17,459) out of 2,666.
Does it work for graded cards (PSA, BGS, ARS)?▾
Yes. Pass grade=PSA10 (or PSA9, BGS9.5, ARS10+, CGC10) and every row has a parsed grade. magi lists each grade of a card as its own product, so product also returns other_grades - the same card as PSA10, PSA9, ARS10 or raw, each with its cheapest price.
Which games are covered?▾
Everything magi lists: 143 games on 2026-11-08, from Pokémon, One Piece, Yu-Gi-Oh!, Duel Masters, MTG, Weiß Schwarz, Union Arena, Digimon and Lorcana to sports cards and retired games. categories returns every game id and each game's sub-categories, such as Pokémon singles, unopened boxes, unopened packs, old-back cards and overseas versions.
Do I get the exact date of each sale?▾
magi shows each sale with a relative time (6 days ago, about a month ago) and a dated chart with one point per day. trades always has the price and the relative time, days_ago when magi states whole days, and an exact date when the sales and the chart line up one-to-one. daily_chart always has dates. A single listing's sale time is not public on magi.
Are seller details included?▾
Each listing returns the seller's public magi name and id, identity check, rank, and the good / normal / bad rating counts magi prints on the listing, plus whether the seller is a registered shop with a real store. Phone numbers and e-mail addresses inside descriptions are removed by default.
What is the magi API?▾
magi API is a ReefAPI endpoint group for japan's trading-card marketplace: live and sold listings, every card's sale history and seller ratings, in jpy. It returns live JSON through POST requests under /magi/v1.
Is the magi API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. magi calls use the same shared credit balance as every other ReefAPI engine.
Do I need a magi login or account?▾
No login to magi 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 magi 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 magi API use?▾
magi actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call magi from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call magi actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the magi API a magi scraper?▾
It is the managed alternative to a DIY magi 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 japan's trading-card marketplace: live and sold listings, every card's sale history and seller ratings, in jpy back as clean JSON.
Why does my magi scraper keep getting blocked?▾
Most magi scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.
350 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling magi, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 631 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-11-08.