EDHREC Commander Statistics Scraper avatar

EDHREC Commander Statistics Scraper

Pricing

from $33.40 / 1,000 item extracteds

Go to Apify Store
EDHREC Commander Statistics Scraper

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

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 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:

  1. Commander rankings — export the top commanders for the past week, month, or year.
  2. 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 inclusionRate from source deck counts.
  • Preserves EDHREC's underlying synergy and trendScore values.
  • Makes ranking and detail rows distinguishable through recordType.
  • Applies one global maxItems limit for predictable output size.
  • Supports repeatable budget and theme-scoped analysis.

Data you can extract

FieldMeaning
recordTypecommander_ranking, commander_summary, or card_stat
commanderNameCommander display name
commanderSlugStable EDHREC path slug
rankPopularity rank when available
deckCountMatching decks represented by the row
potentialDeckCountEligible decks used as the inclusion denominator
synergyEDHREC card synergy score as a decimal
inclusionRatedeckCount / potentialDeckCount as a decimal
trendScoreEDHREC trend z-score when available
bracketCountsCommander deck counts grouped by bracket
budgetCountsCommander deck counts grouped by budget band
themesTheme names, slugs, and matching deck counts
similarCommandersRelated commander names
cardCategorySource list such as highsynergycards or topcards
sourceUrlExact public JSON source used for the record
scrapedAtCollection timestamp in ISO 8601 format

Fields that do not apply to a record type are null.

Get started

  1. Open the Actor input page.
  2. Select Commander rankings or Commander details and card statistics.
  3. Configure the ranking period or commander list.
  4. Optionally choose budget, theme, and card-category filters.
  5. Set a practical maximum item count.
  6. Click Start.
  7. Open the Dataset tab to preview or download results.

The prefilled input exports 25 current annual commander ranking records.

Input parameters

mode

Use rankings for a popularity list or commander for summary and card statistics.

Default: rankings.

rankingPeriod

Available periods are week, month, and year.

This field applies only to rankings mode.

commanders

Provide 1–25 commander names, slugs, or EDHREC commander URLs.

Examples:

  • krenko-mob-boss
  • Krenko, Mob Boss
  • https://edhrec.com/commanders/krenko-mob-boss

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:

  • newcards
  • highsynergycards
  • topcards
  • gamechangers
  • creatures
  • instants
  • sorceries
  • utilityartifacts
  • enchantments
  • utilitylands
  • lands

Unknown but syntactically valid tags simply produce no card rows.

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 annual commander rankings

{
"mode": "rankings",
"rankingPeriod": "year",
"maxItems": 25
}

Export Krenko 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": 38384,
"potentialDeckCount": 43885,
"cardCategory": "highsynergycards",
"cardName": "Goblin Warchief",
"synergy": 0.7214111916724123,
"inclusionRate": 0.8746587683718811,
"sourceUrl": "https://json.edhrec.com/pages/commanders/krenko-mob-boss.json",
"scrapedAt": "2026-09-11T06:48:07.149Z"
}

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 rowsEstimated 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 ApifyClient
client = 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().items
print(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.

Try highsynergycards, topcards, or newcards first.

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.

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.

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.