MTGTop8 Scraper - Magic Tournament & Decklist Archive
GAMESECOMMERCE
MTGTop8 Scraper - Magic Tournament & Decklist Archive
Scrape MTGTop8 — the canonical 20-year Magic: The Gathering tournament archive — for events, decklists, archetypes, and meta-share metrics across Standard, Modern, Legacy, Pioneer, Vintage, Pauper, Commander, and Limited formats.
What you get
Each record contains:
- Event metadata: event ID, name, date (ISO 8601), format, organizer, location, and player count
- Deck metadata: deck ID, archetype label, player name, placement
- Card lists: full mainboard and sideboard as comma-separated strings (
4 Lightning Bolt, 4 Counterspell, ...) - Counts: mainboard card count and sideboard card count
- Estimated value: MTGTop8's estimated deck price in USD
Five modes
| Mode | Input | Output |
|---|---|---|
format_events |
Format code + meta window | List of events for that format |
event |
List of event URLs | All deck records from each event |
deck |
List of deck URLs | Full deck record with mainboard + sideboard |
top_cards |
Format code + meta window | Most-played cards by percentage |
archetype |
Format code + meta window | Archetype rollup with deck count + meta-share % |
Usage
Fetch recent Standard events
{
"mode": "format_events",
"format": "ST",
"metaWindow": 2,
"maxItems": 50
}
Fetch all decks from a specific event
{
"mode": "event",
"eventUrls": ["https://mtgtop8.com/event?e=84830&f=ST"],
"includeSideboard": true,
"maxItems": 0
}
Fetch a single deck with full card list
{
"mode": "deck",
"deckUrls": ["https://mtgtop8.com/event?e=84830&d=844544&f=ST"],
"includeSideboard": true
}
Get most-played cards for Modern
{
"mode": "top_cards",
"format": "MO",
"metaWindow": 2
}
Get archetype meta-share for Legacy
{
"mode": "archetype",
"format": "LE",
"metaWindow": 2
}
Supported formats
| Code | Format |
|---|---|
| ST | Standard |
| MO | Modern |
| LE | Legacy |
| PI | Pioneer |
| VI | Vintage |
| PAU | Pauper |
| EDH | Commander (Duel Commander) |
| LI | Limited |
| PE | Peasant |
| BL | Block |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode |
string | format_events |
Scraping mode (see Five Modes above) |
format |
string | ST |
Format code |
metaWindow |
integer | 3 |
Look-back window in months |
eventUrls |
array | — | Event URLs for event mode |
deckUrls |
array | — | Deck URLs for deck mode |
includeSideboard |
boolean | true |
Whether to include sideboard cards |
maxItems |
integer | 10 |
Maximum records to return (0 = unlimited) |
proxyConfiguration |
object | Datacenter | Proxy settings |
Output schema
{
"event_id": "84830",
"event_url": "https://mtgtop8.com/event?e=84830&f=ST",
"event_name": "Magic Spotlight: Secrets - London",
"event_organizer": "Fanfinity",
"event_date": "2026-05-09",
"event_format": "ST",
"event_format_label": "Standard",
"event_player_count": 604,
"deck_id": "844544",
"deck_url": "https://mtgtop8.com/event?e=84830&d=844544&f=ST",
"deck_archetype": "Azorius Aggro",
"deck_player": "Koen De Vos",
"deck_placement": 1,
"mainboard": "2 Abandoned Air Temple, 4 Floodfarm Verge, 4 Hallowed Fountain, ...",
"sideboard": "3 Clarion Conqueror, 1 Disdainful Stroke, ...",
"mainboard_count": 60,
"sideboard_count": 15,
"estimated_price_usd": 509
}
Notes
- Dates are normalized to ISO 8601 (MTGTop8 uses
dd/mm/yyformat internally). - Card lists are serialized as comma-separated strings for compatibility with downstream tools.
- The
metaWindowparameter maps to MTGTop8's built-in time filters (Last 5 Days, Last 2 Weeks, Last 2 Months). - No authentication required; MTGTop8 is a public site with no rate limiting observed.