LigaYugioh API & Scraper: parameters and responses
This is the reference for the 6 LigaYugioh endpoints under /ligayugioh/v1 (search, card, buylist, editions, movers and store) and their 22 parameters. Each endpoint lists its parameters, required or optional, with allowed values and defaults, and comes with a cURL, Python and JavaScript call; every response uses the same { ok, data, meta, error } envelope.
The LigaYugioh API returns Brazil's Yu-Gi-Oh! marketplace as clean JSON in BRL.
🤖 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.
A single card name brings back every printing of that card with its minimum, average and maximum price, followed by each store's offer with stock, condition and language. It also covers store buylists, all 1,250 editions and the cards moving most in price.
One name, 88 printings: why a single Dark Magician price means little
Dark Magician appears in 88 printings on LigaYugioh, and they do not trade close to each other. In the same call a Damaged copy was offered at R$ 1.99, a Common from the Yami Yugi Speed Duel deck averaged R$ 27.92, and the best store buylist across printings was R$ 2,499.50. Always read a price together with its printing and condition.
| Dark Magician | edition | BRL |
|---|---|---|
| Cheapest offer (EN, Damaged) | across all printings | 1.99 |
| Guide average, Common | SBC2A (SBC2-ENA12) | 27.92 |
| Guide average, Prismatic Secret Rare | SBC2V (SBC2-ENA12) | 52.45 |
| Best store buylist | across all printings | 2,499.50 |
Asking and buy prices at the moment of the call on 2026-11-08, without shipping. The card had 205 store offers in total.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/ligayugioh/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "Dark Magician"
}
}{
"ok": true,
"meta": {
"api": "ligayugioh",
"endpoint": "search",
"mode": "live",
"latency_ms": 1869,
"record_count": 40,
"bytes": 189807,
"cache_hit": false,
"requests": 1,
"charged_credits": 3,
"version": "0.1.0",
"request_id": "d56b2195d71d47e1",
"queue_ms": 1.2,
"fetched_at": "2026-11-08T13:04:27.995Z"
},
"data": {
"game": "yugioh",
"site": "LigaYugioh",
"query": "Dark Magician",
"edition": null,
"sort": "relevance",
"page": 1,
"results": [
{
"type": "card",
"name": "Cavaleiro Mago Negro",
"name_alt": "Dark Magician Knight",
"card_id": 2474,
"card": "Dark Magician Knight",
"edition_code": "15AX-Y",
"number": "15AX-JPY31",
"collector_number": "15AX-JPY31",
"edition_id": 988,
"edition_name": null,
"price_min_brl": 99.99,
"price_avg_brl": 99.99,
"price_max_brl": 99.99,
"image_url": "https://repositorio.sbrauble.com/arquivos/in/yugioh_bkp/cd/988/2474.jpg",
"url": "https://www.ligayugioh.com.br/?view=cards/card&card=Dark+Magician+Knight&ed=15AX-Y&num=15AX-JPY31",
"product_id": null
},
{
"type": "card",
"name": "Cavaleiro Mago Negro",
"name_alt": "Dark Magician Knight",
"card_id": 2474,
"card": "Dark Magician Knight",
"edition_code": "15AX-KRY",
"number": "15AX-KRY31",
"collector_number": "15AX-KRY31",
"edition_id": 1179,
"edition_name": null,
"price_min_brl": null,
"price_avg_brl": null,
"price_max_brl": null,
"image_url": "https://repositorio.sbrauble.com/images/cartas/noyugcard.jpg",
"url": "https://www.ligayugioh.com.br/?view=cards/card&card=Dark+Magician+Knight&ed=15AX-KRY&num=15AX-KRY31",
"product_id": null
},
{
"type": "card",
"name": "Cavaleiro Mago Negro",
"name_alt": "Dark Magician Knight",
"card_id": 2474,
"card": "Dark Magician Knight",
"edition_code": "LCYW",
"number": "LCYW-EN028",
"collector_number": "LCYW-EN028",
"edition_id": 35,
"edition_name": null,
"price_min_brl": 45,
"price_avg_brl": 45,
"price_max_brl": 45,
"image_url": "https://repositorio.sbrauble.com/arquivos/in/yugioh_bkp/cd/35/2474.png",
"url": "https://www.ligayugioh.com.br/?view=cards/card&card=Dark+Magician+Knight&ed=LCYW&num=LCYW-EN028",
"product_id": null
}
],
"count": 40,
"has_more": true
}
}What the LigaYugioh API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search LigaYugioh's catalog by card or product name, or list one edition's cards: each row has the card name (Portuguese and English where the site has both), edition, collector number, the minimum, average and maximum price in BRL across Brazilian stores, the image and the keys `card`/`edition_code`/`number` that the card action takes. Sealed products appear as type=product. 40 rows a page; sort by name or by min/avg/max price. | Pricing teams call search to search LigaYugioh's catalog by card or product name, or list one edition's cards. | query, edition, sort, page, limit |
| card | One card in full: Portuguese and English name, card details as the site lists them (rarity, type, artist, formats…), every printing with its edition, number, rarity, artist, release date, image and the price guide per finish (Normal, Foil, Foil Etched, Promo… min/avg/max BRL); then EVERY store offer — price in BRL (and the pre-discount price), copies in stock, condition, language, finish/extras, photo, graded, pre-order — with the store's name, city, state, rating, review volume, verified/physical flags and shipping time; the open auctions (current bid, buy-now, bids, end time); and the stores. | Marketplace operators call card to get one card in full. | card, url, edition, number, offers_limit, ... |
| buylist | What Brazilian stores PAY for a card (the site's Buylist tab): per store and printing, the buy price for Mint/Near Mint in Portuguese or English, the base price, the discount and resulting buy price for every accepted condition, the discount for every accepted language, and the store's city, state and rating. Use it with `card` offers for arbitrage (buy below the best buylist). | Catalog enrichment teams call buylist to get what Brazilian stores PAY for a card (the site's Buylist tab). | card, url, edition, number, limit |
| editions | Every edition (set) on LigaYugioh: id, code, name (English and Portuguese where the site has one), release date, symbol, and whether it is a main or auxiliary (promo / grouped) edition. The id feeds search's `edition` to list the set's cards with prices. | Retail analysts call editions to get every edition (set) on LigaYugioh. | query, year |
| movers | The site's biggest price risers or fallers (Cards em Alta / em Queda): 50 cards with their current min/avg/max price in BRL and the change over the day, week and month for each, edition and number. | Pricing teams call movers to get the site's biggest price risers or fallers (Cards em Alta / em Queda). | direction, period |
| store | A marketplace store's public profile (store_id from card offers): name, website, logo, average rating over 12/6/3 months and all time with the per-aspect ratings (shipping, packaging, accuracy), contact phones/WhatsApp, e-mail, social links, address (or that it has no physical store), and customer reviews (rating, date, purchase value band, per-aspect stars, comment), 25 per page. | Marketplace operators call store to get a marketplace store's public profile (store_id from card offers). | store_id, reviews_page |
Call search from your stack
curl -X POST https://api.reefapi.com/ligayugioh/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"Dark Magician"}'import os
import requests
REEF_KEY = os.environ["REEF_KEY"]
r = requests.post(
"https://api.reefapi.com/ligayugioh/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "Dark Magician"
},
timeout=90,
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/ligayugioh/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "Dark Magician"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.ligayugioh.search with {"query":"Dark Magician"}.Who uses this API and why
- Find the cheapest printing of a staple for a Brazilian deck
- Compare what a card sells for with what stores pay for it
- Price Yu-Gi-Oh! singles stock by printing and condition
- Watch which cards fell most today
Questions developers ask before integrating
Do I need the set code to look up a card?
No. Pass the English or Portuguese card name and card returns every printing with its offers. Add edition and number when you want one print, for example LCYW and LCYW-EN028.
Are card names in English or Portuguese?
Both where the site has both. Dark Magician Knight comes back as Cavaleiro Mago Negro, with the English name in the card field that the card action takes.
Can I filter offers by language or condition?
Yes. condition sets the minimum (M, NM, SP, MP, HP, D), and language takes codes such as EN or PT. Offers come cheapest first, and offers_matched tells you how many passed the filter.
Does it have sold prices?
No. Sales history on the site is shown only to signed-in users and this API does not use accounts. You get the current guide, offers, buylists and movers.
Does it cover other card games?
This API reads LigaYugioh only. LigaMagic, LigaPokemon and LigaOnePiece have their own APIs.
What is the LigaYugioh API?
LigaYugioh API is a ReefAPI endpoint group for brazil's yu-gi-oh! prices across every printing of a card, with store offers and buylists, in brl. It returns live JSON through POST requests under /ligayugioh/v1.
Is the LigaYugioh API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. LigaYugioh calls use the same shared credit balance as every other ReefAPI engine.
Do I need a LigaYugioh login or account?
No login to LigaYugioh 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 LigaYugioh 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 LigaYugioh API use?
LigaYugioh actions currently cost 2-4 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call LigaYugioh from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call ligayugioh actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the LigaYugioh API a LigaYugioh scraper?
It is the managed alternative to a DIY LigaYugioh 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 brazil's yu-gi-oh! prices across every printing of a card, with store offers and buylists, in brl back as clean JSON.
Why does my LigaYugioh scraper keep getting blocked?
Most LigaYugioh 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.