Player props odds API
Player markets with the player named, priced by every bookmaker that offers them.
Player markets cover what one player does in a game: tries, goals, touchdowns, disposals, points, shots and more. Each has a key built from the stat and the bet, such as player_tries_anytime or player_points_over_under, and names its player in the market's subject.
Player markets by sport
Australian football
10 player markets, in AFL Women's: player_goals_anytime, player_goals_first, player_goals_last, player_goals_over_under, player_disposals_over_under, player_kicks_over_under, player_handballs_over_under, player_marks_over_under, player_hitouts_over_under and player_tackles_over_under.
Soccer
21 player markets, in Bundesliga, UEFA Champions League, English Premier League, La Liga, Ligue 1, MLS and Serie A: player_goals_anytime, player_goals_first, player_goals_last, player_goals_over_under, player_tackles_over_under, player_shots_over_under, player_shots_on_target_over_under, player_assists_anytime, player_cards_anytime, player_saves_over_under, player_assists_starter_anytime, player_goals_starter_first, player_goals_starter_last, player_goals_starter_anytime, player_goals_assists_starter_anytime, player_cards_starter_anytime, player_shots_on_target_starter_over_under, player_shots_starter_over_under, player_fouls_committed_starter_over_under, player_tackles_starter_over_under and player_fouled_starter_over_under.
Ice hockey
9 player markets, in NHL: player_goals_anytime, player_goals_first, player_goals_last, player_goals_over_under, player_points_over_under, player_assists_over_under, player_saves_over_under, player_shots_on_goal_over_under and player_blocked_shots_over_under.
Rugby league
6 player markets, in Rugby League World Cup and Rugby League World Cup Women's: player_tries_anytime, player_tries_first, player_tries_last, player_tries_over_under, player_tackles_over_under and player_run_metres_over_under.
Basketball
14 player markets, in NBA and NBL: player_points_over_under, player_rebounds_over_under, player_assists_over_under, player_three_pointers_over_under, player_steals_over_under, player_blocks_over_under, player_points_rebounds_assists_over_under, player_points_rebounds_over_under, player_points_assists_over_under, player_rebounds_assists_over_under, player_blocks_steals_over_under, player_double_double_yes_no, player_triple_double_yes_no and player_field_goals_first.
American football
24 player markets, in College football and NFL: player_passing_yards_over_under, player_rushing_yards_over_under, player_receiving_yards_over_under, player_receptions_over_under, player_passing_touchdowns_over_under, player_completions_over_under, player_passing_attempts_over_under, player_interceptions_thrown_over_under, player_touchdowns_anytime, player_touchdowns_first, player_touchdowns_last, player_touchdowns_over_under, player_rushing_attempts_over_under, player_longest_reception_over_under, player_longest_pass_over_under, player_field_goals_made_over_under, player_kicking_points_over_under, player_rushing_receiving_yards_over_under, player_passing_rushing_yards_over_under, player_receiving_touchdowns_over_under, player_rushing_touchdowns_over_under, player_longest_rush_over_under, player_sacks_over_under and player_interceptions_over_under.
Baseball
14 player markets, in MLB: player_hits_over_under, player_home_runs_anytime, player_home_runs_over_under, player_hits_runs_runs_batted_in_over_under, player_total_bases_over_under, player_runs_batted_in_over_under, player_runs_over_under, player_strikeouts_over_under, player_strikeouts_thrown_over_under, player_hits_allowed_over_under, player_earned_runs_allowed_over_under, player_outs_recorded_over_under, player_stolen_bases_over_under and player_walks_over_under.
Tennis
1 player markets, in ATP Tour and WTA Tour: player_aces_over_under.
Mixed martial arts
6 player markets, in UFC: player_significant_strikes_landed_over_under, player_strikes_landed_over_under, player_takedowns_over_under, player_win_by_points_dq_void_yes_no, player_win_by_ko_tko_dq_void_yes_no and player_win_by_submission_dq_void_yes_no.
How to read a player market
- The player is the market's
subject, with theirpl_id and name. The same player keeps the same id across bookmakers and games. _anytime,_firstand_lastmarkets are backed with sideyesor by naming the player;_over_undermarkets carry a line.- An "N or more" bet is side
overat N minus 0.5: two or more tries isplayer_tries_over_under, over 1.5. - Which player markets a bookmaker prices varies by game. Ask for the ones you want with
markets=.
Request the player markets for a league
curl -sS "https://api.sockodds.com/v1/markets?league=rlwc&limit=100" \
-H "Authorization: Bearer $SOCKODDS_API_KEY"const response = await fetch("https://api.sockodds.com/v1/markets?league=rlwc&limit=100", {
headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));import json, os, urllib.request
request = urllib.request.Request(
"https://api.sockodds.com/v1/markets?league=rlwc&limit=100",
headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
print(json.dumps(json.load(response), indent=2))Response from a local copy of the API with invented test prices
{
"data": [
{
"key": "winner",
"name": "Winner",
"subject": "event",
"bet": "winner",
"stat": null,
"has_line": false,
"sides": [
"home",
"away"
],
"sports": [
"australian_football",
"rugby_league",
"rugby_union",
"basketball",
"american_football",
"baseball",
"ice_hockey",
"tennis",
"mma",
"cricket",
"esports"
],
"periods": [
"full",
"half_1",
"half_2",
"quarter_1",
"quarter_2",
"quarter_3",
"quarter_4",
"innings_1_to_5",
"half_2_ot",
"period_1",
"period_2",
"period_3",
"set_1",
"set_2",
"set_3",
"set_4",
"set_5",
"map_1",
"map_2",
"map_3",
"map_4",
"map_5"
]
},
{
"key": "result",
"name": "Result (with the draw)",
"subject": "event",
"bet": "result",
"stat": null,
"has_line": false,
"sides": [
"home",
"draw",
"away"
],
"sports": [
"american_football",
"soccer",
"rugby_league",
"rugby_union",
"ice_hockey",
"cricket",
"baseball"
],
"periods": [
"full",
"regulation",
"half_1",
"half_2",
"period_1",
"period_2",
"period_3",
"quarter_1",
"quarter_2",
"quarter_3",
"quarter_4",
"inning_1",
"innings_1_to_5"
]
},
{
"key": "handicap",
"name": "Handicap",
"subject": "event",
"bet": "handicap",
"stat": null,
"has_line": true,
"sides": [
"home",
"away"
],
"sports": [
"australian_football",
"rugby_league",
"rugby_union",
"soccer",
"basketball",
"american_football",
"baseball",
"ice_hockey",
"tennis",
"esports"
],
"periods": [
"full",
"half_1",
"half_2",
"quarter_1",
"quarter_2",
"quarter_3",
"quarter_4",
"innings_1_to_5",
"half_2_ot",
"quarter_4_ot",
"period_1",
"period_2",
"period_3"
]
},
{
"key": "total_points",
"name": "Total points",
"subject": "event",
"bet": "total",
"stat": "points",
"has_line": true,
"sides": [
"over",
"under"
],
"sports": [
"australian_football",
"rugby_league",
"rugby_union",
"basketball",
"american_football"
],
"periods": [
"full",
"half_1",
"half_2",
"quarter_1",
"quarter_2",
"quarter_3",
"quarter_4",
"half_2_ot",
"quarter_4_ot"
]
},
{
"key": "total_tries",
"name": "Total tries",
"subject": "event",
"bet": "total",
"stat": "tries",
"has_line": true,
"sides": [
"over",
"under"
],
"sports": [
"rugby_league",
"rugby_union"
],
"periods": [
"full"
]
},
{
"key": "team_points_over_under",
"name": "Team points over/under",
"subject": "team",
"bet": "over_under",
"stat": "points",
"has_line": true,
"sides": [
"over",
"under"
],
"sports": [
"australian_football",
"rugby_league",
"rugby_union",
"basketball",
"american_football"
],
"periods": [
"full",
"half_1",
"half_2",
"quarter_1",
"quarter_2",
"quarter_3",
"quarter_4",
"half_2_ot",
"quarter_4_ot"
]
},
{
"key": "team_tries_over_under",
"name": "Team tries over/under",
"subject": "team",
"bet": "over_under",
"stat": "tries",
"has_line": true,
"sides": [
"over",
"under"
],
"sports": [
"rugby_league",
"rugby_union"
],
"periods": [
"full"
]
},
{
"key": "player_tries_anytime",
"name": "Anytime try scorer",
"subject": "player",
"bet": "anytime",
"stat": "tries",
"has_line": false,
"sides": [
"yes"
],
"sports": [
"rugby_league",
"rugby_union"
],
"periods": [
"full"
],
"non_participant": [
"void",
"loses",
"under",
"fair_price"
]
},
{
"key": "player_tries_first",
"name": "First try scorer",
"subject": "player",
"bet": "first",
"stat": "tries",
"has_line": false,
"sides": "participants",
"sports": [
"rugby_league",
"rugby_union"
],
"periods": [
"full"
],
"non_participant": [
"void",
"loses",
"under",
"fair_price"
]
},
{
"key": "player_tries_last",
"name": "Last try scorer",
"subject": "player",
"bet": "last",
"stat": "tries",
"has_line": false,
"sides": "participants",
"sports": [
"rugby_league",
"rugby_union"
],
"periods": [
"full"
],
"non_participant": [
"void",
"loses",
"under",
"fair_price"
]
},
{
"key": "player_tries_over_under",
"name": "Player tries over/under",
"subject": "player",
"bet": "over_under",
"stat": "tries",
"has_line": true,
"sides": [
"over",
"under"
],
"sports": [
"rugby_league",
"rugby_union"
],
"periods": [
"full"
],
"non_participant": [
"void",
"loses",
"under",
"fair_price"
]
},
{
"key": "player_tackles_over_under",
"name": "Player tackles over/under",
"subject": "player",
"bet": "over_under",
"stat": "tackles",
"has_line": true,
"sides": [
"over",
"under"
],
"sports": [
"australian_football",
"rugby_league",
"soccer"
],
"periods": [
"full"
],
"non_participant": [
"void",
"loses",
"under",
"fair_price"
]
},
{
"key": "player_run_metres_over_under",
"name": "Player run metres over/under",
"subject": "player",
"bet": "over_under",
"stat": "run_metres",
"has_line": true,
"sides": [
"over",
"under"
],
"sports": [
"rugby_league"
],
"periods": [
"full"
],
"non_participant": [
"void",
"loses",
"under",
"fair_price"
]
},
{
"key": "team_tries_first",
"name": "Team first try scorer",
"subject": "team",
"bet": "first",
"stat": "tries",
"has_line": false,
"sides": "participants",
"sports": [
"rugby_league"
],
"periods": [
"full"
],
"ungraded_periods": [
"full"
]
},
{
"key": "team_tries_last",
"name": "Team last try scorer",
"subject": "team",
"bet": "last",
"stat": "tries",
"has_line": false,
"sides": "participants",
"sports": [
"rugby_league"
],
"periods": [
"full"
],
"ungraded_periods": [
"full"
]
},
{
"key": "team_win_by_1_to_12_yes_no",
"name": "Team wins by 1 to 12",
"subject": "team",
"bet": "yes_no",
"stat": "win_by_1_to_12",
"has_line": false,
"sides": [
"yes",
"no"
],
"sports": [
"rugby_league"
],
"periods": [
"full"
],
"ungraded_periods": [
"full"
]
}
],
"meta": {
"count": 16,
"cursor": null
},
"links": {
"next": null
}
}Players for a team come from GET /v1/players. See Markets for every market and Keys and identifiers for player ids.