This page is the LigaMagic parameter reference. What the data is used for, a real sample and pricing are on LigaMagic API: what you get →
E-commerce & Marketplaces

LigaMagic API & Scraper: parameters and responses

This is the reference for the 6 LigaMagic endpoints under /ligamagic/v1 (search, card, buylist, editions, movers and store) and their 24 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 LigaMagic API returns Brazil's Magic: The Gathering marketplace as clean JSON in BRL: the minimum, average and maximum price of each printing, every store's offer with stock, condition, language and finish, store buylists, every edition and the cards moving most in price.

6 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.

The same API also reaches ten smaller Liga sites through its game parameter: Lorcana, Flesh and Blood, Digimon, Star Wars: Unlimited, Riftbound, Sorcery, Gundam, Vanguard and both Dragon Ball games. LigaPokemon, LigaYugioh and LigaOnePiece have their own APIs.

Reference

The Liga price guide is a range across stores - the offers show who actually sells at the bottom

Each Liga site shows three numbers per printing: the lowest, the average and the highest asking price among Brazilian stores. The minimum is a real store's offer, not a sale price. On 35 printing-and-finish pairs we checked against the live offer list on 2026-11-08, the guide minimum was exactly the cheapest current offer 32 times; in the other 3 the cheapest copy had already sold and the next one was higher.

Card (printing, finish)price_min_brlprice_avg_brlprice_max_brl
Ragavan, Nimble Pilferer (Modern Horizons 3 Retro Frame), Foil640.00692.69699.99
Lightning Bolt (Marvel Super Heroes Commander), Normal11.4914.1218.99

Prices are asking prices in BRL and exclude shipping. Condition and language move a card's price a lot, which the guide does not show; card returns every offer with its condition and language so you can price the copy you actually want. Sold prices are only shown to logged-in Liga users and are not part of this API.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/ligamagic/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "game": "magic",
    "query": "Lightning Bolt"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "ligamagic",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 2688.2,
    "record_count": 18,
    "bytes": 108254,
    "cache_hit": false,
    "requests": 1,
    "charged_credits": 3,
    "version": "0.1.0",
    "request_id": "1e4e53631efc49b1",
    "queue_ms": 1.3,
    "fetched_at": "2026-11-08T13:04:26.024Z"
  },
  "data": {
    "game": "magic",
    "site": "LigaMagic",
    "query": "Lightning Bolt",
    "edition": null,
    "sort": "relevance",
    "page": 1,
    "results": [
      {
        "type": "card",
        "name": "Emeritus of Conflict // Lightning Bolt",
        "name_alt": null,
        "card_id": 81350,
        "card": "Emeritus of Conflict // Lightning Bolt",
        "edition_code": null,
        "number": null,
        "collector_number": null,
        "edition_id": null,
        "edition_name": null,
        "price_min_brl": 8,
        "price_avg_brl": 19.62,
        "price_max_brl": 129.9,
        "image_url": "https://repositorio.sbrauble.com/arquivos/in/magic/480933/69d3f330e2cc8-iql9k-td18u-a15acc587a78ceec248d261d66bfbcfc.jpg",
        "url": "https://www.ligamagic.com.br/?view=cards/card&card=Emeritus+of+Conflict+%2F%2F+Lightning+Bolt",
        "product_id": null
      },
      {
        "type": "card",
        "name": "Hadoken // Lightning Bolt",
        "name_alt": null,
        "card_id": 63274,
        "card": "Hadoken // Lightning Bolt",
        "edition_code": null,
        "number": null,
        "collector_number": null,
        "edition_id": null,
        "edition_name": null,
        "price_min_brl": 96.45,
        "price_avg_brl": 100.4,
        "price_max_brl": 130,
        "image_url": "https://repositorio.sbrauble.com/arquivos/in/magic/479939/632b6c6f4bd7c-z80rw-as2n4-1491812144632b6c6f4bdbf.jpg",
        "url": "https://www.ligamagic.com.br/?view=cards/card&card=Hadoken+%2F%2F+Lightning+Bolt",
        "product_id": null
      },
      {
        "type": "product",
        "name": "Playmat - Magic Fest São Paulo 2019 - Raio (Versão 2)",
        "name_alt": null,
        "product_id": 107575,
        "card_id": null,
        "card": null,
        "edition_code": null,
        "number": null,
        "collector_number": null,
        "edition_id": null,
        "edition_name": null,
        "price_min_brl": 199.99,
        "price_avg_brl": 199.99,
        "price_max_brl": 199.99,
        "image_url": "https://repositorio.sbrauble.com/arquivos/up/prod/20200220/1582233807_9719.jpg",
        "url": "https://www.ligamagic.com.br/?view=prod/view&pcode=107575&prod=Playmat+-+Magic+Fest+Sao+Paulo+2019+-+Lightning+Bolt+%28Version+2%29"
      }
    ],
    "count": 18,
    "has_more": false
  }
}
Actions

What the LigaMagic API does

ActionDescriptionConcrete use caseKey params
searchSearch a Liga site'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 a Liga site's catalog by card or product name, or list one edition's cards.game, query, edition, sort, page, ...
cardOne 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.game, card, url, edition, number, ...
buylistWhat 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).game, card, url, edition, number, ...
editionsEvery edition (set) of a game on its Liga site: 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) of a game on its Liga site.game, query, year
moversThe 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. Magic can be narrowed to a format (Standard, Modern, Legacy, Commander, Pauper, Pioneer, Premodern).Pricing teams call movers to get the site's biggest price risers or fallers (Cards em Alta / em Queda).game, direction, period, format
storeA 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, game, reviews_page
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/ligamagic/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"game":"magic","query":"Lightning Bolt"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.ligamagic.search with {"game":"magic","query":"Lightning Bolt"}.
Use cases

Who uses this API and why

  • Price your stock for the Brazilian market from the live min/avg/max and the cheapest offer per condition
  • Arbitrage between Liga buylists and store offers, or between Brazil and Cardmarket / TCGplayer
  • Find which stores in your state have a playset in Near Mint English
  • Track the week's biggest risers and fallers for each Magic format
FAQ

Questions developers ask before integrating

Which games and sites does the LigaMagic API cover?

LigaMagic (Magic: The Gathering) by default, and through the game parameter ten smaller Liga sites: LigaLorcana, LigaFAB (Flesh and Blood), LigaDigimon, LigaStarWars, LigaRiftbound, LigaSorcery, LigaGundam, LigaVanguard and the two LigaDragonBall sites. Pokémon, Yu-Gi-Oh! and One Piece have their own APIs: LigaPokemon, LigaYugioh and LigaOnePiece.

Do I get every store's offer, or only the cheapest?

Every offer the card page lists - Sol Ring had 1,495 store offers in our live test, all returned in one call. Each has its price in BRL, copies in stock, condition, language, finish and the store's city, state and rating. Use offers_limit and offers_offset to page, or the filters to keep only what you would buy.

Can I get what stores pay for a card (buylist)?

Yes. buylist returns each store's buy offer per printing: the price for Mint/Near Mint in Portuguese or English, the base price, and for every condition and language the store accepts, its discount and the resulting buy price. best_buy_price_brl is the highest one. Compare it with the cheapest offer from card to spot arbitrage.

Does it include sold prices or price history?

No. The Liga sites show sales history only to logged-in users, and this API does not use accounts. What it does return is the current guide and offers, and movers - the cards whose prices changed most over the last day, week or month, with each change in BRL.

Are names in Portuguese or English?

Both where the site has both. LigaMagic and LigaYugioh show the Portuguese name with the English one beside it (Raio / Lightning Bolt); the API returns name and name_en (card) or name and name_alt (search). Labels such as conditions and languages are kept in Portuguese as the site writes them (Praticamente Nova (NM), Inglês), with short codes (NM, EN) for filtering.

How do I look up a Lorcana or other per-print card?

Magic accepts the card name and returns every printing. Sites with one page per print, such as Lorcana, need a search first: each row returns card, edition_code and number, which the card action takes as they are. You can also pass the row's url.

What is the LigaMagic API?

LigaMagic API is a ReefAPI endpoint group for brazil's magic: the gathering prices, store offers and buylists in brl, plus ten smaller liga sites. It returns live JSON through POST requests under /ligamagic/v1.

Is the LigaMagic API free to try?

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

Do I need a LigaMagic login or account?

No login to LigaMagic 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 LigaMagic 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 LigaMagic API use?

LigaMagic 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 LigaMagic from an AI assistant or MCP client?

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

Is the LigaMagic API a LigaMagic scraper?

It is the managed alternative to a DIY LigaMagic 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 magic: the gathering prices, store offers and buylists in brl, plus ten smaller liga sites back as clean JSON.

Why does my LigaMagic scraper keep getting blocked?

Most LigaMagic 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.

docs / ligamagic

LigaMagic

Brazil's Magic: The Gathering prices, store offers and buylists in BRL, plus ten smaller Liga sites.

base /ligamagic/v16 endpoints
post/ligamagic/v1/card4 credits

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.

ParameterAllowed / rangeDescription
game = magicoptionalmagic · pokemon · yugioh · onepiece · lorcana · fab · digimon · starwars · riftbound · sorcery · gundam · vanguard · dragonball_masters · dragonball_fusionWhich Liga site to read. All share one platform (same stores, same data layout); prices in BRL.
cardoptional—Card name as the site writes it: Magic/Yu-Gi-Oh! accept the English (or Portuguese) name and return every printing; Pokémon/One Piece/Lorcana card pages are per print, so pass the exact `card` value from search (e.g. 'Charizard ex (006/165)') with `edition` and `number`, or pass `url`.
urloptional—A card page URL from any Liga site (overrides game/card/edition/number).
editionoptional—Edition code as the site uses it (search rows return it in `edition_code`). On `card` it selects one print; on `search` an edition id or code lists that set's cards.
numberoptional—Card number inside the edition (search rows return it in `number`).
offers_limit = 100optional0–2000How many store offers to return after filters, in the site's own order (cheapest first). 0 = price guide only, no offers (cheaper and faster).
offers_offset = 0optional0–20000Skip this many filtered offers (paging through a card with 1 000+ offers).
conditionoptionalM · NM · SP · MP · HP · DMinimum condition: NM returns M and NM offers, SP returns M/NM/SP, and so on.
languageoptional—Comma list of language codes as the site writes them: EN, PT, PTEN (Português/Inglês), JP, DE, ES, FR, IT, KO, RU, TW, TK, PH (game-dependent).
foiloptional—true = only foil finishes (Foil, Foil Etched…), false = only non-foil.
stateoptional—Comma list of Brazilian states (UF) of the store, e.g. SP,RJ,MG.
min_quantityoptional1–1000Only offers with at least this many copies in stock (playsets: 4).
max_priceoptional0–Only offers at or below this price in BRL.
verified_onlyoptional—Only stores the site marks as verified (Loja Verificada).
Try in playground →
post/ligamagic/v1/buylist3 credits

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).

ParameterAllowed / rangeDescription
game = magicoptionalmagic · pokemon · yugioh · onepiece · lorcana · fab · digimon · starwars · riftbound · sorcery · gundam · vanguard · dragonball_masters · dragonball_fusionWhich Liga site to read. All share one platform (same stores, same data layout); prices in BRL.
cardoptional—Card name as the site writes it: Magic/Yu-Gi-Oh! accept the English (or Portuguese) name and return every printing; Pokémon/One Piece/Lorcana card pages are per print, so pass the exact `card` value from search (e.g. 'Charizard ex (006/165)') with `edition` and `number`, or pass `url`.
urloptional—A card page URL from any Liga site (overrides game/card/edition/number).
editionoptional—Edition code as the site uses it (search rows return it in `edition_code`). On `card` it selects one print; on `search` an edition id or code lists that set's cards.
numberoptional—Card number inside the edition (search rows return it in `number`).
limit = 200optional1–1000How many buylist rows to return (the site's order).
Try in playground →
post/ligamagic/v1/editions3 credits

Every edition (set) of a game on its Liga site: 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.

ParameterAllowed / rangeDescription
game = magicoptionalmagic · pokemon · yugioh · onepiece · lorcana · fab · digimon · starwars · riftbound · sorcery · gundam · vanguard · dragonball_masters · dragonball_fusionWhich Liga site to read. All share one platform (same stores, same data layout); prices in BRL.
queryoptional—Keep editions whose name or code contains this text.
yearoptional1990–2100Keep editions released in this year.
Try in playground →
post/ligamagic/v1/movers2 credits

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. Magic can be narrowed to a format (Standard, Modern, Legacy, Commander, Pauper, Pioneer, Premodern).

ParameterAllowed / rangeDescription
game = magicoptionalmagic · pokemon · yugioh · onepiece · lorcana · fab · digimon · starwars · riftbound · sorcery · gundam · vanguard · dragonball_masters · dragonball_fusionWhich Liga site to read. All share one platform (same stores, same data layout); prices in BRL.
direction = upoptionalup · downRisers or fallers.
period = dayoptionalday · week · monthWhich change the list is ranked by.
formatoptionalstandard · modern · legacy · commander · pauper · pioneer · premodernMagic only: rank within one format.
Try in playground →
post/ligamagic/v1/store3 credits

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.

ParameterAllowed / rangeDescription
store_idrequired1–Store id (offers[].store_id from card or buylist).
game = magicoptionalmagic · pokemon · yugioh · onepiece · lorcana · fab · digimon · starwars · riftbound · sorcery · gundam · vanguard · dragonball_masters · dragonball_fusionWhich Liga site to read. All share one platform (same stores, same data layout); prices in BRL.
reviews_page = 1optional1–200Customer reviews page (25 each).
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.