Marvel Rivals Stats Scraper avatar

Marvel Rivals Stats Scraper

Pricing

from $5.00 / 1,000 hero statistics scrapeds

Go to Apify Store
Marvel Rivals Stats Scraper

Marvel Rivals Stats Scraper

Scrape Marvel Rivals hero tier lists, top-900 leaderboards, community ban rates, live player profiles and One-Above-All stats from rivalsdata.com. Cloudflare is bypassed with browser TLS impersonation, so no proxies or CAPTCHAs are needed.

Pricing

from $5.00 / 1,000 hero statistics scrapeds

Rating

0.0

(0)

Developer

Epic Scrapers

Epic Scrapers

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

18 days ago

Last modified

Categories

Share

Marvel Rivals Stats Scraper: hero tier list, leaderboards and player stats as JSON

Marvel Rivals Stats Scraper turns the public data on Rivals Data into a dataset you can export to a spreadsheet, a dashboard or a Discord bot. You get the hero tier list with win, pick and ban rates, the ranked leaderboards for PC, PlayStation and Xbox, the One Above All hall of fame, and full player lookups with rank history, hero stats and match history. Heroes have real names and tier letters, and ranks are readable, such as "Celestial 1" or "One Above All".

  • Hero meta by rank bracket. Seven brackets from Diamond to Eternity+, on PC or console. Each hero has tier, winRate, pickRate, banRate, communityBanRate, leaverRate and teamUps.
  • Leaderboards for every platform and season. Up to 1,000 players per platform, for the current season or a past one (season).
  • Deep player lookups. Search by username, UID or profile URL. Add hero stats, match history, map win rates, frequent teammates, ban impact and name history.
  • Readable names. Heroes, maps, team-ups and ranks are returned as names, not numeric IDs.
  • Pay per hero row and per player, no login. No proxy, API key or account needed. Leaderboard and One Above All rows are not charged per row. Export to JSON, CSV, Excel or HTML.

Scope: This actor reads Marvel Rivals game statistics only. For other game and creator data, see YouTube Thumbnail Search Scraper for tier-list video research.

What can you do with Marvel Rivals Stats Scraper?

GoalHow
Build a tier listRun scrape: ["heroes"] and sort by tierRank, tier or tierScore.
Track the meta after a patchSchedule the hero run daily and compare winRate, pickRate and banRate between runs.
Compare ranks and platformsSelect several rankBrackets and platforms; each combination returns a full set of hero rows.
Find the best team-upsRead teamUps on each hero: partnerHero, matches, pickRate, winRate.
Export the ranked ladderUse scrape: ["leaderboard"] for position, playerName, rank, rankScore, wins, losses, topHeroes.
Find the most consistent eliteUse scrape: ["oneAboveAll"] for averagePlacement, bestPlacement and seasons.
Scout an opponentLook up a player and read heroes, maps, teammates and matches.
Build rank lookup for a botPass a username or UID in players and read rank, rankScore and rankHistory.

How it compares

What you needMarvel Rivals Stats ScraperCopy-paste from the websiteWriting your own scraper
Hero stats by bracketSeveral brackets and platforms in one runOne view at a timeYou build and maintain it
Player historyRank history, heroes, matches, maps, teammatesPage by pageYou build and maintain it
Repeated runsSchedule and compareManualYou host and monitor it
OutputJSON, CSV, Excel, HTML, APIScreenshots or notesYour own format
PricePay per hero row and playerFree, but your timeYour time and hosting

Input

Every field is optional. A run with no input returns the PC Grandmaster+ hero tier list.

Hero meta for PC and console, two brackets:

{
"scrape": ["heroes"],
"platforms": ["pc", "playstation"],
"rankBrackets": ["grandmaster_plus", "celestial_plus"]
}

Look up players, with no game-wide datasets:

{
"players": ["forkydog", "1471250983"],
"playerDetails": ["heroes", "matches", "maps", "teammates"],
"maxMatchesPerPlayer": 50
}

Top 500 on every platform for Season 9.5:

{
"scrape": ["leaderboard"],
"platforms": ["pc", "playstation", "xbox"],
"season": "9.5",
"maxLeaderboardPlayers": 500
}
FieldDefaultDescription
scrape["heroes"]*Any of heroes, leaderboard, oneAboveAll.
players[]Usernames (exact, any capitalization), numeric UIDs or rivalsdata.com/player/... URLs.
platforms["pc"]pc, playstation, xbox. Hero stats combine PlayStation and Xbox as console.
seasoncurrentIn-game season number, for example "10" or "9.5".
rankBrackets["grandmaster_plus"]diamond, diamond_plus, grandmaster, grandmaster_plus, celestial, celestial_plus, eternity_plus.
includeTeamUpstrueAdd team-up stats to each hero.
communityStatsModecompetitiveGame modes used for community ban and leaver rates: competitive or all.
maxLeaderboardPlayers100Players per platform, up to 1,000.
maxOneAboveAllPlayers100Players per platform, up to 1,000.
playerDetails["heroes","matches"]Any of heroes, matches, maps, teammates, bans, nameHistory.
maxMatchesPerPlayer20Recent matches per player, up to 500.

* If an API call has players but no scrape, only the player lookup runs.

Output

Each item has a type field: hero, leaderboard, oneAboveAll or player. Each type has its own view in the Output tab.

Hero (shortened):

{
"type": "hero",
"heroName": "Gambit",
"role": "Strategist",
"tier": "S+",
"tierRank": 1,
"tierScore": 94.78,
"winRate": 53.72,
"pickRate": 63.38,
"banRate": 65.43,
"matchesAnalyzed": 177570,
"communityBanRate": 10.23,
"leaverRate": 0.24,
"teamUps": [
{ "name": "Favorable Odds", "partnerHero": "Magneto", "matches": 76620, "pickRate": 97.64, "winRate": 53.76 }
],
"platform": "pc",
"rankBracket": "grandmaster_plus",
"heroUrl": "https://rivalsdata.com/heroes/gambit/stats",
"dataUpdatedAt": "2026-09-27T06:09:27.000Z"
}

Player (shortened):

{
"type": "player",
"playerName": "forkydog",
"uid": 1159933157,
"rank": "One Above All",
"rankScore": 5204.95,
"seasonName": "Season 10",
"leaderboardPositions": { "pc": 16 },
"currentSeason": { "wins": 42, "matches": 61, "winRate": 68.9 },
"rankHistory": [{ "seasonName": "Season 10", "rank": "One Above All", "rankScore": 5204.95 }],
"matches": [
{
"playedAt": "2026-09-24T09:36:48.000Z",
"gameMode": "Competitive",
"map": "Central Park",
"hero": "Psylocke",
"result": "win",
"kills": 20,
"deaths": 3,
"assists": 4,
"rankScoreChange": 18,
"rankAfter": "One Above All"
}
],
"profileUrl": "https://rivalsdata.com/player/1159933157"
}
Record typeMain fieldsOne row is
heroheroName, role, tier, winRate, pickRate, banRate, communityBanRate, leaverRate, teamUpsOne hero on one platform in one rank bracket
leaderboardposition, playerName, uid, rank, rankScore, wins, losses, winRate, topHeroesOne ranked player
oneAboveAllposition, playerName, averagePlacement, bestPlacement, seasonsFinished, seasonsOne cross-season elite player
playerplayerName, rank, currentSeason, rankHistory, heroes, matches, maps, teammates, nameHistoryOne looked-up player

Rates are percentages. Missing values are null. Timestamps are ISO 8601 in UTC. The OUTPUT record in the key-value store summarizes each run: counts per record type and any failed lookups, such as a player name that was not found.

FAQ

How many results can I get?

Up to 1,000 players per platform for the leaderboard and for One Above All. A hero run for one platform and one bracket returns about 56 rows. Each extra platform or bracket adds another full set.

How fast is it?

Most runs finish in a few seconds. Player details add requests per player, so long lists of players with every detail option take longer.

Why did a player lookup fail?

Usernames must match exactly (capitalization is ignored) and names can change. Use the numeric UID, which is on every leaderboard row and at the end of a profile URL. Failed lookups are listed in the OUTPUT record.

Why is a player's match history missing?

Some players hide it. Their row still has profile, rank history and aggregated stats, and detailErrors explains what was unavailable.

Can I get profiles for the top players?

Yes. Run the leaderboard, then pass its uid values into players.

Why does a hero show as "Unknown hero 1068"?

Hero, team-up and map names come from a built-in table. After a new hero or map is released, the numeric ID is returned until the table is updated. Report it in the Issues tab.

Do I need proxies, an account or an API key?

No. The actor handles requests and retries itself.

The actor reads publicly available game statistics. You are responsible for how you use the data and for following applicable laws and site terms. Don't use it to harass players.

For tier-list video research, try YouTube Thumbnail Search Scraper. For viewer feedback on game videos, try YouTube Comments Scraper.

Track Marvel Rivals over time with scheduled runs

Most of the value comes from running the same job again and comparing. Apify can run the actor for you on a schedule and send the results wherever you need them.

1. Save your input as a task

Open the actor, set your options, then click Save as a new task. A task is a saved input you can run again with one click or on a schedule.

2. Schedule the task

In Apify Console, go to Schedules, click Create new, choose how often to run (for example daily at 06:00 in your time zone), and add your task. See Schedules and How to create a schedule.

Watch how to schedule an Actor:

Or schedule a saved task:

Common schedules:

Use caseFrequencyCron expression
Meta tracking after a patchDaily0 6 * * *
Leaderboard snapshotsDaily0 0 * * *
Weekly tier-list contentWeekly (Monday)0 6 * * 1
Rank lookups for a botHourly0 * * * *

3. Send the results to a spreadsheet

Connect Google in the task's Integrations tab to save every run to Google Sheets or Google Drive automatically:

4. Compare runs

Every row has scrapedAt and dataUpdatedAt, and rows have stable keys, so runs are easy to join:

  • Meta shifts: winRate, pickRate and banRate per heroName, platform and rankBracket over time.
  • Tier changes: tier and tierRank per heroName before and after a patch.
  • Ladder movement: position and rankScore per uid in leaderboard rows.
  • Player progress: rank and rankScore per uid from player rows.

Cost

This actor uses pay-per-event pricing, with no subscription:

EventPriceCharged when
apify-actor-start$0.00005Once per run.
hero-scraped$0.005Per hero row (one hero, one platform, one rank bracket). $5 per 1,000 rows.
player-scraped$0.003Per player looked up, including the selected details. $3 per 1,000 players.

Leaderboard and One Above All rows are not charged per row.

RunCost
Hero tier list, 1 platform, 1 bracket (~56)~$0.28
Top 1,000 leaderboard, 1 platform$0.00005
100 player lookups$0.30

Select only the platforms and brackets you need. Set a maximum cost per run; the actor stops cleanly when it is reached. The Pricing tab shows current prices.

Support

Report problems or request features in the Issues tab. Include the run ID and the input.

This actor is not affiliated with or endorsed by Marvel, NetEase Games or Rivals Data. All trademarks belong to their owners.