MTGGoldfish APImtggoldfish.com ↗
Access MTGGoldfish metagame archetypes, deck lists, pilot info, and card playrate history by format via a structured JSON API.
What is the MTGGoldfish API?
The MTGGoldfish API exposes 4 endpoints covering Magic: The Gathering metagame data pulled from MTGGoldfish.com. Use get_metagame to retrieve archetype breakdowns — including meta share percentages, mana types, deck counts, and paper/online prices — for any supported format, then drill into individual decklists or track how a specific card's tournament presence has shifted over time.
curl -X GET 'https://api.parse.bot/scraper/4836cefe-c334-4463-86c6-73a648a3efd8/get_metagame?format=standard' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieves MTG metagame archetypes and their popularity statistics for a specific format. Returns archetype names, mana colors, meta share percentages, deck counts, and paper/online prices. Each archetype includes an archetype_url path that can be passed to get_archetype_decks to list recent decks.
| Param | Type | Description |
|---|---|---|
| format | string | The MTG format to fetch the metagame for. |
{
"type": "object",
"fields": {
"format": "string — the format queried",
"archetypes": "array of archetype objects with name, archetype_url, mana_types, meta_percentage, num_decks, and prices"
},
"sample": {
"data": {
"format": "modern",
"archetypes": [
{
"name": "Affinity",
"prices": {
"paper": "$ 1,133",
"online": "343 tix"
},
"num_decks": 280,
"mana_types": [
"Blue",
"Red"
],
"archetype_url": "/archetype/modern-affinity#online",
"meta_percentage": "11.5%"
}
]
},
"status": "success"
}
}About the MTGGoldfish API
Metagame and Archetype Data
The get_metagame endpoint accepts a format parameter (e.g. modern, standard, pioneer) and returns an archetypes array. Each archetype object includes name, mana_types, meta_percentage, num_decks, prices (both paper and online), and an archetype_url path. That archetype_url feeds directly into get_archetype_decks to enumerate recent tournament results for that archetype.
Deck Lists and Pilot Results
get_archetype_decks takes the path from any archetype_url value and returns a decks array with fields for deck_id, name, pilot, event, and url. Each deck_id can then be passed to get_deck, which returns the full card list grouped by section — Mainboard, Sideboard, and any other sections present — with count and name per card entry. Deck IDs are numeric strings; the response also includes a deck_name field that typically contains the pilot's name alongside the archetype label.
Card Playrate History
get_card_playrate_history accepts a card_name (exact English printing), a format, an interval (week or month), and optional start_date / end_date in ISO YYYY-MM-DD format. It returns a periods array in chronological order, where each period records decks_with_card and total_decks — giving you the raw numbers to compute playrate trends over any date window. Omitting both date parameters returns the 12 most recent periods ending today.
The MTGGoldfish API is a managed, monitored endpoint for mtggoldfish.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when mtggoldfish.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official mtggoldfish.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Track the rise or fall of a specific archetype's meta share across Modern or Pioneer using
meta_percentagefromget_metagame. - Build a deck comparison tool by fetching full card lists via
get_deckfor multiple tournament-winning decks in the same archetype. - Monitor how a newly printed card's tournament adoption grows week-over-week using
get_card_playrate_historywithinterval=week. - Identify which pilots are consistently top-finishing with an archetype by parsing the
pilotandeventfields fromget_archetype_decks. - Compare paper vs. online price trends for competitive archetypes using the
pricesfield returned byget_metagame. - Populate a format tier list by sorting archetypes from
get_metagamebymeta_percentageandnum_decks. - Alert users when a card crosses a playrate threshold in a given format using periodic calls to
get_card_playrate_history.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does MTGGoldfish have an official developer API?+
What does get_card_playrate_history actually measure — all decks or just tournament decks?+
deck_type field in the response is always tournament. The decks_with_card and total_decks counts in each period reflect only tournament submissions for the specified format, not casual or user-submitted decklists from MTGGoldfish's deckbuilder.Does get_metagame cover all MTG formats?+
format parameter is optional and pulls whatever formats MTGGoldfish publishes metagame data for at the time of the request. Formats with sparse tournament data may return fewer archetypes. Older or discontinued formats may not appear. The endpoint returns the format field in the response so you can confirm what was actually queried.Does the API return historical metagame snapshots — e.g. what the Modern meta looked like six months ago?+
get_metagame returns the current published metagame state, and there is no date parameter for historical snapshots. Card-level historical data is available through get_card_playrate_history, but archetype-level meta share history is not covered. You can fork this API on Parse and revise it to add a historical metagame endpoint.Are sideboard cards included in get_deck results?+
cards array groups entries by section, so both Mainboard and Sideboard cards are present. Each card object includes count, name, and section, making it straightforward to separate or aggregate the two groups.