Player Placements
Fetch a player's event placements and total prize winnings from vlr.gg.
player.placements(player_id) returns the player's event placement history and total winnings from the Event Placements card on their profile page.
Signature
player.placements(player_id: int) -> PlayerPlacementsWith curried access:
vlrdevapi.player(player_id).placements() -> PlayerPlacementsParameters
Prop
Type
Returns - PlayerPlacements
Prop
Type
PlayerEventPlacement Fields
Prop
Type
Examples
List all placements
import vlrdevapi
placements = vlrdevapi.player.placements(player_id=46051)
print(
f"{placements.total_winnings_currency}"
f"{placements.total_winnings:,} total winnings"
)
for entry in placements.placements:
prize = (
f"{entry.prize_currency}{entry.prize_amount:,}"
if entry.prize_amount is not None
else "no prize"
)
print(
f"{entry.year} | {entry.event_name} | "
f"{entry.stage} - {entry.placement} | {entry.team_name} | {prize}"
)Group placements by event
An event can have multiple placement rows (for example, a group stage and playoffs run). Group them by event_id.
from collections import defaultdict
import vlrdevapi
result = vlrdevapi.player.placements(player_id=11225)
events = defaultdict(list)
for entry in result.placements:
events[(entry.event_id, entry.event_name)].append(entry)
for (event_id, event_name), rows in events.items():
print(f"{event_name} ({event_id})")
for row in rows:
print(f" {row.stage}: {row.placement} ({row.team_name})")Filter by team
import vlrdevapi
placements = vlrdevapi.player.placements(player_id=53)
for entry in placements.placements:
if entry.team_name == "ENVY":
print(f"{entry.event_name}: {entry.stage} {entry.placement}")Curried access
import vlrdevapi
player = vlrdevapi.player(46051)
placements = player.placements()
for entry in placements.placements:
if entry.prize_amount:
print(f"{entry.event_name}: {entry.prize_currency}{entry.prize_amount:,}")Notes
- Placements are individual rows; an event with multiple stages produces multiple
PlayerEventPlacemententries with the sameevent_id. prize_amountisNonewhen the source does not list a prize for that placement.total_winningscan be0when a player has placements but has not earned prize money.
Last updated on