LigaMagic API

Every Magic: The Gathering store offer in Brazil

endpoints
6
credits per call
2–4

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.

This page covers what the LigaMagic API returns, who uses it, a real response and pricing. Every parameter and response field is in LigaMagic API parameters and responses →

POST/ligamagic/v1/search
Real result, captured Nov 8, 20263 of 18
nameprice_min_brltypecard
Emeritus of Conflict // Lightning Bolt8cardEmeritus of Conflict //…
Hadoken // Lightning Bolt96.45cardHadoken // Lightning Bo…
Playmat - Magic Fest São Paulo 2019 - Raio (Versão 2)199.99product—
6 active endpoints, on 2, 3 and 4 credit tiers.search · card · buylist · editions · movers · storeDetails ↓OpenAPI 3.0 spec ↗

3 credits per call≈ $3/1,000 calls1,000 free credits, no card

Get a free API key
Try it live

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.

LigaMagic API

3 of 6 endpoints, ready to run

View docs ↗

One card: every printing with its price guide per finish, then every store offer with price, stock, condition, language, finish and the store's city, state and rating.

4 credits0 required · 5 optional
POST/ligamagic/v1/card
idle
// 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.

Try every endpoint in the playground

Endpoints

What LigaMagic endpoints does ReefAPI ship?

6 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

  • search

    3 cr

    Search a Liga site's catalog by card or product name, or list one edition's cards.

    required
    —
    optional
    game, query, edition, sort, page, limit
  • card

    4 cr

    One card in full.

    required
    —
    optional
    game, card, url, edition, number, offers_limit, offers_offset, condition, language, foil, state, min_quantity, max_price, verified_only
  • buylist

    3 cr

    What Brazilian stores PAY for a card (the site's Buylist tab).

    required
    —
    optional
    game, card, url, edition, number, limit
  • editions

    3 cr

    Every edition (set) of a game on its Liga site.

    required
    —
    optional
    game, query, year
  • movers

    2 cr

    The site's biggest price risers or fallers (Cards em Alta / em Queda).

    required
    —
    optional
    game, direction, period, format
  • store

    3 cr

    A marketplace store's public profile (store_id from card offers).

    required
    store_id
    optional
    game, reviews_page

Every parameter, every allowed value →

Missing a LigaMagic endpoint, or need a source we don't have yet?Contact us real people · same-day reply.
How it works

How the LigaMagic API works

LigaMagic is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

Authenticate01
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 632 engines.

Call02
POST /ligamagic/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

Pay03
2 or 3 or 4 credits per call

Credits, not seats. Failed and blocked calls are never charged, and nothing is cached: every call reads the source live.

Read04
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Recipe

Buy low, sell to a store: three calls

Find a card's cheapest Near Mint copy in Brazil and what stores would pay for it.

01search
POST/ligamagic/v1/search
{"game": "magic", "query": "Ragavan, Nimble Pilferer"}

Pick the print: card, edition_code and number.

02card
POST/ligamagic/v1/card
{"game": "magic", "card": "Ragavan, Nimble Pilferer", "condition": "NM"}

Every Near Mint offer, cheapest first, with store and stock.

03buylist
POST/ligamagic/v1/buylist
{"game": "magic", "card": "Ragavan, Nimble Pilferer"}

What stores pay; best_buy_price_brl is the top.

The spread between the cheapest offer and the best buylist price for one print.

request
curl -X POST https://api.reefapi.com/ligamagic/v1/card \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"game":"magic","card":"Lightning Bolt","offers_limit":20}'
response envelope
{
  "ok": true,
  "data": { … },
  "meta": {
    "api": "ligamagic",
    "endpoint": "card",
    "mode": "live",
    "latency_ms": …,
    "record_count": …
  },
  "error": null
}
Fields

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.

Coverage

What the Liga sites publish, and what they do not

LigaMagic and ten smaller Liga sites, prices in BRL. Measured 2026-11-08: 34 of 34 live test cases across all six actions and 11 Liga games, 1,890 store offers returned with a price on every one, and offer prices checked against fresh site pages. Some of these lines go against us.

Store offers

5,125 of 5,125 offers across 11 recorded pages came back with a readable price, and a visual check of 40 offers against the site matched 40 of 40.

Guide against offers

The guide minimum equalled the cheapest offer on 32 of 35 printing and finish pairs.

Sites

LigaMagic, plus ten smaller Liga sites through the game parameter. LigaPokemon, LigaYugioh and LigaOnePiece have their own APIs.

Not published

Sold prices and sales history (signed-in users only) and shipping, which is not in the offer list.

Use cases

What people build with LigaMagic

The jobs this data is most often used for.

01

Price your stock for the Brazilian market from the live min/avg/max and the cheapest offer per condition

02

Arbitrage between Liga buylists and store offers, or between Brazil and Cardmarket / TCGplayer

03

Find which stores in your state have a playset in Near Mint English

04

Track the week's biggest risers and fallers for each Magic format

6

endpoints

2/3/4

credits per call

Pricing

What LigaMagic data costs

The cheapest call here is 2 credits, so $15/mo (Pro) buys 5,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

$0.67–$1.50 / 1,000 credits
Full pricing →
  • 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
no credit card1,000 free credits · instant API key · pay by card or crypto
Quickstart

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
curl -X POST https://api.reefapi.com/ligamagic/v1/card \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"game":"magic","card":"Lightning Bolt","offers_limit":20}'
python
import os
import requests

REEF_KEY = os.environ["REEF_KEY"]

r = requests.post(
    "https://api.reefapi.com/ligamagic/v1/card",
    headers={"x-api-key": REEF_KEY},
    json={
        "game": "magic",
        "card": "Lightning Bolt",
        "offers_limit": 20
    },
    timeout=90,
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up LigaMagic.

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.

Contact

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.

0/4000

No account needed · we reply from [email protected]

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.