EDHREC Commander Statistics Scraper
Pricing
from $33.40 / 1,000 item extracteds
EDHREC Commander Statistics Scraper
Export EDHREC commander popularity, card synergy and inclusion, deck-theme, bracket, budget, and trend statistics as structured datasets.
Pricing
from $33.40 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
Export EDHREC commander statistics as clean JSON for Commander meta research, deck-building tools, card analysis, and scheduled dataset refreshes.
The Actor reads EDHREC's public structured data and returns ranked commanders, card synergy and inclusion rates, deck counts, theme context, bracket counts, budget counts, related commanders, and trend scores.
No EDHREC account or API key is required.
What does this Actor do?
Choose one of two workflows:
- Commander rankings — export the top commanders for the past week, month, or two years (legacy API value
year). - Commander details — export a commander summary followed by selected card-statistic categories.
Detailed exports can be scoped to EDHREC's budget subset or to a commander theme such as goblins.
Every run writes normalized records to the default Apify dataset, ready for JSON, CSV, Excel, API, or webhook delivery.
Who is it for?
- Deck-building application developers refreshing recommendation data.
- MTG analysts comparing Commander popularity and card adoption.
- Content teams researching high-synergy cards and current trends.
- Card-market researchers adding deck-demand context to other datasets.
- Data engineers maintaining scheduled Commander snapshots.
This Actor exports current source statistics.
To compare changes over time, schedule runs and retain each run's dataset in your own database or data warehouse.
Why use it?
- Uses a lightweight public JSON route rather than a browser.
- Accepts commander names, slugs, or EDHREC commander URLs.
- Calculates a normalized
inclusionRatefrom source deck counts. - Preserves EDHREC's underlying
synergyandtrendScorevalues. - Makes ranking and detail rows distinguishable through
recordType. - Applies one global
maxItemslimit for predictable output size. - Supports repeatable budget and theme-scoped analysis.
Data you can extract
| Field | Meaning |
|---|---|
recordType | commander_ranking, commander_summary, or card_stat |
commanderName | Commander display name |
commanderSlug | Stable EDHREC path slug |
rank | Popularity rank when available |
deckCount | Matching decks represented by the row |
potentialDeckCount | Eligible decks used as the inclusion denominator |
synergy | EDHREC card synergy score as a decimal, not lift |
lift | Independent source lift metric, null when absent |
sourcePeriodTag, sourcePeriodTitle | Actual ranking list tag/title, e.g. past2years / Past 2 Years |
sourceCategoryTitle | Actual card-list heading |
requestedCardCategories, categoryFallback | Requested tags resolving to this row and whether legacy fallback was used |
availableCardCategories | All list tags present in the fetched scope, on summary rows |
missingCardCategories, categorySelections | Unavailable requests and explicit requested-to-actual resolution, on summary rows |
inclusionRate | deckCount / potentialDeckCount as a decimal |
trendScore | EDHREC trend z-score when available |
bracketCounts | Commander deck counts grouped by bracket |
budgetCounts | Commander deck counts grouped by budget band |
themes | Theme names, slugs, and matching deck counts |
similarCommanders | Related commander names |
cardCategory | Source list such as highsynergycards or topcards |
sourceUrl | Exact public JSON source used for the record |
scrapedAt | Collection timestamp in ISO 8601 format |
Fields that do not apply to a record type are null.
Get started
- Open the Actor input page.
- Select Commander rankings or Commander details and card statistics.
- Configure the ranking period or commander list.
- Optionally choose budget, theme, and card-category filters.
- Set a practical maximum item count.
- Click Start.
- Open the Dataset tab to preview or download results.
The prefilled input exports 20 current commander ranking records from the source's past-two-years window.
Input parameters
mode
Use rankings for a popularity list or commander for summary and card statistics.
Default: rankings.
rankingPeriod
Available values are week, month, and the preserved legacy year. EDHREC currently labels the year endpoint Past 2 Years, not annual or calendar-year data. The output carries the actual sourcePeriodTag and sourcePeriodTitle rather than inventing a time window.
This field applies only to rankings mode; commander-only fields are ignored in rankings mode and rankingPeriod is ignored in commander mode.
commanders
Provide 1–25 commander names, slugs, or EDHREC commander URLs.
Examples:
krenko-mob-bossKrenko, Mob Bosshttps://edhrec.com/commanders/krenko-mob-boss
Names/slugs normalize case, punctuation and accents; aliases are deduplicated in first-seen order. Only base commander URLs are supported. Trailing /budget or /goblins paths are rejected: set deckFilter or themeSlug explicitly instead. The complete applicable input and commander batch are validated before requests or item charges.
deckFilter
Use all for the normal commander data or budget for EDHREC's budget subset.
A budget filter cannot be combined with a theme in the same request.
themeSlug
Optionally scope commander details to a source-supported theme, for example goblins or tokens.
Theme availability differs by commander.
cardCategories
Select the EDHREC card-list tags to export.
Common tags include:
newcardshighliftcardshighsynergycards(legacy compatibility selector)topcardsgamechangerscreaturesinstantssorceriesutilityartifactsenchantmentsutilitylandslands
The default selectors remain highsynergycards,topcards,newcards. If the original highsynergycards list exists it is used unchanged. Otherwise that legacy selection can resolve to highliftcards: card rows report the actual cardCategory, requested tags and categoryFallback: true. High lift is not a high-synergy ranking, and lift is not synergy. Request highliftcards directly for explicit current-source selection. Selecting both tags does not duplicate a list when fallback resolves them to the same source list; distinct original lists remain distinct.
Unavailable tags produce no invented card rows. Inspect summary availableCardCategories, missingCardCategories and categorySelections; one bounded warning per commander flags missing/fallback selection. Availability differs across normal, budget and theme scopes. Summaries remain valid when all requested categories are absent. With includeCardStats: false, category selection diagnostics are empty but available tags remain discoverable.
includeCardStats
Disable this option when only the commander summary, bracket counts, budget counts, themes, and related commanders are needed.
maxItems
Limits the total number of saved records from 1 to 5,000.
Commander summary rows count toward the limit.
Input examples
Export past-two-years commander rankings
{"mode": "rankings","rankingPeriod": "year","maxItems": 25}
Export Krenko lift, synergy and inclusion data
{"mode": "commander","commanders": ["krenko-mob-boss"],"cardCategories": ["highsynergycards", "topcards"],"maxItems": 21}
Refresh budget deck statistics
{"mode": "commander","commanders": ["krenko-mob-boss"],"deckFilter": "budget","cardCategories": ["newcards", "highsynergycards", "creatures", "utilityartifacts"],"maxItems": 50}
Output example
A current card-stat row has this shape:
{"recordType": "card_stat","commanderName": "Krenko, Mob Boss","commanderSlug": "krenko-mob-boss","rankingPeriod": null,"deckCount": 8936,"potentialDeckCount": 44682,"cardCategory": "highliftcards","sourceCategoryTitle": "High Lift Cards","requestedCardCategories": ["highsynergycards"],"categoryFallback": true,"cardName": "Umbral Mantle","synergy": 0.1740184817806322,"lift": 7.700088136109275,"inclusionRate": 0.19999104784924578,"sourceUrl": "https://json.edhrec.com/pages/commanders/krenko-mob-boss.json","scrapedAt": "2026-10-21T10:00:00.000Z"}
Source values change as EDHREC refreshes its data.
How much does it cost to export EDHREC Commander statistics?
Pricing uses one $0.005 start event per run plus one item event per saved dataset row.
The BRONZE item price is $0.055672; lower subscription tiers receive the six-tier prices shown on the Actor page.
Approximate BRONZE examples:
| Useful rows | Estimated total |
|---|---|
| 10 | $0.5617 |
| 25 | $1.3968 |
| 100 | $5.5722 |
The Actor does not charge separately for ranking, summary, theme, bracket, budget, or card-stat fields.
A failed request cannot produce charged result rows, although the one-time start event still applies.
Scheduled meta dataset refreshes
Use an Apify schedule to run the same input daily, weekly, or monthly.
Send the resulting dataset to a webhook, cloud function, spreadsheet, or warehouse.
Use commanderSlug, cardSlug, cardCategory, deckFilter, and themeSlug as comparison keys.
The Actor does not maintain historical snapshots or generate change events itself.
Integration ideas
- Load ranking snapshots into BigQuery for trend dashboards.
- Join card inclusion rates with price data in a deck-demand model.
- Refresh recommendation candidates for a Commander deck builder.
- Feed high-synergy card rows into a content research workflow.
- Compare budget and unfiltered exports in a notebook.
- Trigger a downstream workflow through an Apify webhook.
Run with the Apify API
Replace YOUR_TOKEN with an Apify API token.
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~edhrec-commander-meta-deck-statistics/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"rankings","rankingPeriod":"month","maxItems":25}'
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/edhrec-commander-meta-deck-statistics').call({mode: 'commander',commanders: ['krenko-mob-boss'],cardCategories: ['highsynergycards', 'topcards'],maxItems: 21,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("automation-lab/edhrec-commander-meta-deck-statistics").call(run_input={"mode": "rankings","rankingPeriod": "week","maxItems": 25,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with Apify MCP
Add the Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/edhrec-commander-meta-deck-statistics"
Claude Desktop, Cursor, and VS Code setup
Claude Desktop, Cursor, and VS Code can use this MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/edhrec-commander-meta-deck-statistics"}}}
Example prompts:
- “Export the current top 25 EDHREC commanders for the past month.”
- “Get high-synergy and top-card statistics for Krenko, Mob Boss.”
- “Prepare a 50-row budget Commander dataset for Krenko.”
Reliability and limits
The Actor makes direct requests to EDHREC's public structured-data host.
Transient network, rate-limit, and server failures are retried up to three times with backoff.
Invalid commander paths and unavailable theme paths fail clearly instead of returning a misleading empty success.
Requests are currently sequential to limit load and keep behavior predictable.
Maximum output is 5,000 rows and maximum commander batch size is 25.
EDHREC can change fields, categories, paths, or availability without notice.
Troubleshooting
A commander returns 403 or 404
Check the commander slug or open its EDHREC commander page.
Theme slugs must be available for that commander.
A category has no card rows
Confirm the list tag exists in the commander's source data.
Inspect the summary's availableCardCategories and categorySelections. Try highliftcards, topcards, or newcards; the legacy highsynergycards selector uses an explicit high-lift fallback only when that list is present. Theme pages can legitimately lack both featured lists.
The run has fewer rows than maxItems
maxItems is a ceiling, not a promised count.
The selected source period, commander, theme, or categories may contain fewer records.
How do I compare changes?
Schedule identical inputs and store datasets externally.
Compare stable commander/category/card keys and retain the collection timestamp.
Data handling and support
No AI or model provider is used. Only public game/card statistics are requested from EDHREC; Apify hosts the run, dataset and logs. There are no paid suppliers, browser sessions or proxy dependencies. The company pays platform/diagnostic operating costs; users pay only the documented Actor events. Dataset, input and log retention follow your Apify account settings; delete unwanted runs/storage in Apify. No additional result cache or historical database is maintained by the Actor.
For help, open an issue on this Actor's Apify page with the run URL and expected behavior. Do not include credentials or private information.
Failure diagnostics
Failed operations send sanitized diagnostic input, exceptions and Actor/build/run IDs to our private GlitchTip service for repair. Secret fields and URL query strings are removed; reports are retained for 30 days. No customer account or telemetry credentials are required in the input.
Legality and responsible use
This Actor accesses public EDHREC pages and structured data without authentication.
Use the output in accordance with EDHREC's terms, applicable law, and Magic: The Gathering data policies.
Avoid excessive schedules or duplicate high-volume runs.
Do not use the Actor to bypass access controls or collect private information.
EDHREC and Magic: The Gathering are owned by their respective rights holders.
This Actor is an independent automation tool and is not affiliated with or endorsed by EDHREC or Wizards of the Coast.
FAQ
Does this require an EDHREC API key?
No. It uses public anonymous JSON data.
Does it build a playable deck?
No. It exports source statistics for analysis and downstream deck-building workflows.
Are synergy and inclusion the same metric?
No. synergy is the source score. inclusionRate is calculated from the source row's matching and potential deck counts.
Can it filter by Commander bracket?
It exports the available bracket counts on commander summary records. It does not currently request a bracket-specific card-list endpoint.
Can it filter budget decks?
Yes. Set deckFilter to budget in commander mode.
Can it filter by theme?
Yes. Set a source-supported themeSlug; do not combine it with the budget filter.
Does it include historical data?
No. Each run exports the current source snapshot.
Is a proxy required?
No. The initial release uses direct public requests and has no automatic paid-proxy fallback.
Related Automation Lab Actors
Combine this dataset with other public portfolio tools when the source and workflow fit.
Browse the Automation Lab Actor portfolio for card metadata, price, spreadsheet, and data-delivery utilities.
No separate related Actor is required to use this product.