§ player matchups

Player vs player. Every matchup our redistributable lineups support — 1.8M+ pairs.

Enter two player names. We'll tell you how often they've played each other, who scored against whom, who got booked, who got sent off. Computed by joining match_lineups to itself on opposing teams + cross-referencing match_events.

Compare two players

Top matchups in the database

The most-played head-to-heads we have. Click any row to expand.

How to query this

POST /rest/v1/rpc/player_h2h_pair   {"p_a": 9719, "p_b": 10577}
     ↳ pair-wise lookup by ids, in either order (the function normalises them)
       the rows carry ids, not names, so resolve those separately:
GET /rest/v1/players?id=in.(9719,10577)&select=id,name

POST /rest/v1/rpc/player_h2h_for_player   {"p_player_id": 10577, "p_limit": 15}
     ↳ all matchups for a single player (Salah in this example), capped at 100

POST /rest/v1/rpc/player_h2h_top_pairs   {"p_limit": 15}
     ↳ the most-shared-pitch pairs overall, capped at 50

These replaced GET /rest/v1/player_h2h on 2026-08-19. The table behind them is 1.85M computed pair-records with no season column to gate on, so it is served by keyed lookup rather than as a bulk collection.