Marvel Rivals Stats Scraper
Pricing
from $5.00 / 1,000 hero statistics scrapeds
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
Maintained by CommunityActor 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,leaverRateandteamUps. - 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?
| Goal | How |
|---|---|
| Build a tier list | Run scrape: ["heroes"] and sort by tierRank, tier or tierScore. |
| Track the meta after a patch | Schedule the hero run daily and compare winRate, pickRate and banRate between runs. |
| Compare ranks and platforms | Select several rankBrackets and platforms; each combination returns a full set of hero rows. |
| Find the best team-ups | Read teamUps on each hero: partnerHero, matches, pickRate, winRate. |
| Export the ranked ladder | Use scrape: ["leaderboard"] for position, playerName, rank, rankScore, wins, losses, topHeroes. |
| Find the most consistent elite | Use scrape: ["oneAboveAll"] for averagePlacement, bestPlacement and seasons. |
| Scout an opponent | Look up a player and read heroes, maps, teammates and matches. |
| Build rank lookup for a bot | Pass a username or UID in players and read rank, rankScore and rankHistory. |
How it compares
| What you need | Marvel Rivals Stats Scraper | Copy-paste from the website | Writing your own scraper |
|---|---|---|---|
| Hero stats by bracket | Several brackets and platforms in one run | One view at a time | You build and maintain it |
| Player history | Rank history, heroes, matches, maps, teammates | Page by page | You build and maintain it |
| Repeated runs | Schedule and compare | Manual | You host and monitor it |
| Output | JSON, CSV, Excel, HTML, API | Screenshots or notes | Your own format |
| Price | Pay per hero row and player | Free, but your time | Your 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}
| Field | Default | Description |
|---|---|---|
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. |
season | current | In-game season number, for example "10" or "9.5". |
rankBrackets | ["grandmaster_plus"] | diamond, diamond_plus, grandmaster, grandmaster_plus, celestial, celestial_plus, eternity_plus. |
includeTeamUps | true | Add team-up stats to each hero. |
communityStatsMode | competitive | Game modes used for community ban and leaver rates: competitive or all. |
maxLeaderboardPlayers | 100 | Players per platform, up to 1,000. |
maxOneAboveAllPlayers | 100 | Players per platform, up to 1,000. |
playerDetails | ["heroes","matches"] | Any of heroes, matches, maps, teammates, bans, nameHistory. |
maxMatchesPerPlayer | 20 | Recent 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 type | Main fields | One row is |
|---|---|---|
hero | heroName, role, tier, winRate, pickRate, banRate, communityBanRate, leaverRate, teamUps | One hero on one platform in one rank bracket |
leaderboard | position, playerName, uid, rank, rankScore, wins, losses, winRate, topHeroes | One ranked player |
oneAboveAll | position, playerName, averagePlacement, bestPlacement, seasonsFinished, seasons | One cross-season elite player |
player | playerName, rank, currentSeason, rankHistory, heroes, matches, maps, teammates, nameHistory | One 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.
Is it legal?
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.
Related tools
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 case | Frequency | Cron expression |
|---|---|---|
| Meta tracking after a patch | Daily | 0 6 * * * |
| Leaderboard snapshots | Daily | 0 0 * * * |
| Weekly tier-list content | Weekly (Monday) | 0 6 * * 1 |
| Rank lookups for a bot | Hourly | 0 * * * * |
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,pickRateandbanRateperheroName,platformandrankBracketover time. - Tier changes:
tierandtierRankperheroNamebefore and after a patch. - Ladder movement:
positionandrankScoreperuidin leaderboard rows. - Player progress:
rankandrankScoreperuidfromplayerrows.
Cost
This actor uses pay-per-event pricing, with no subscription:
| Event | Price | Charged when |
|---|---|---|
apify-actor-start | $0.00005 | Once per run. |
hero-scraped | $0.005 | Per hero row (one hero, one platform, one rank bracket). $5 per 1,000 rows. |
player-scraped | $0.003 | Per player looked up, including the selected details. $3 per 1,000 players. |
Leaderboard and One Above All rows are not charged per row.
| Run | Cost |
|---|---|
| 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.
