# Markets

Every market type in the catalogue, with its key, sides and line.

A market is one thing a bet can be about, such as the winner of a game, a points total or a player's tries. Each has a readable key you pass in `markets=`, a subject (the event, a team or a player), the sides you can back and, for lines, a number. 86 market types are defined; each [league page](https://sockodds.com/leagues/) lists the ones that apply to that league and the periods they settle on.

## Request the markets for a league

```bash
curl -sS "https://api.sockodds.com/v1/markets?league=rlwc&limit=3" \
  -H "Authorization: Bearer $SOCKODDS_API_KEY"
```

```javascript
const response = await fetch("https://api.sockodds.com/v1/markets?league=rlwc&limit=3", {
  headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));
```

```python
import json, os, urllib.request

request = urllib.request.Request(
    "https://api.sockodds.com/v1/markets?league=rlwc&limit=3",
    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):

```json
{
  "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",
        "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"
      ],
      "periods": [
        "full",
        "regulation",
        "half_1",
        "half_2",
        "period_1",
        "period_2",
        "period_3",
        "quarter_1",
        "quarter_2",
        "quarter_3",
        "quarter_4"
      ]
    },
    {
      "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"
      ]
    }
  ],
  "meta": {
    "count": 3,
    "cursor": "eyJuIjozLCJmIjoiZjA3MjYxODViZmJjZjY3MCJ9"
  },
  "links": {
    "next": "https://api.sockodds.com/v1/markets?league=rlwc&limit=3&cursor=eyJuIjozLCJmIjoiZjA3MjYxODViZmJjZjY3MCJ9"
  }
}
```

## How to read a market

- **Subject.** Game markets have no prefix (`winner`, `handicap`, `total_points`). Team markets start `team_`, player markets start `player_`, and the stat comes next: `player_tries_anytime`, `team_points_over_under`.
- **Sides.** Team sports use `home` and `away`; individual sports use `competitor_1` and `competitor_2`. Totals use `over` and `under`. Markets whose sides are people or exact scores name each one in the outcome.
- **Lines.** A handicap or total carries its line on each outcome. A handicap line is the selected side's own line, so the away outcome shows the mirrored number.
- **An "N or more" bet** is the `over` side of the matching `_over_under` market at N minus 0.5. Three or more tries is `player_tries_over_under`, side `over`, line 2.5.
- **Periods.** Each market lists the periods it can settle on, such as `full`, `half_1` or `quarter_4`. `full` includes extra time where the sport's rules do; `regulation` does not.

## Game markets

| Key | Market | Sides | Line | Sports |
| --- | --- | --- | --- | --- |
| `both_teams_to_score` | Both teams to score | `yes`, `no` | No | Soccer |
| `handicap` | Handicap | `home`, `away`, `competitor_1`, `competitor_2` | Yes | Australian football, Rugby league, Rugby union, Soccer, Basketball, American football, Baseball, Ice hockey, Tennis, Esports |
| `result` | Result (with the draw) | `home`, `draw`, `away` | No | American football, Soccer, Rugby league, Rugby union, Ice hockey, Cricket |
| `result_draw_no_bet` | Result (draw no bet) | `home`, `away` | No | Soccer |
| `result_exact_score` | Exact score | Each exact score | No | Soccer, Ice hockey |
| `result_pair` | Either of two results | `home_or_draw`, `away_or_draw`, `either_team` | No | Soccer, Ice hockey |
| `total_cards` | Total cards | `over`, `under` | Yes | Soccer |
| `total_corners` | Total corners | `over`, `under` | Yes | Soccer |
| `total_corners_odd_even` | Total corners odd/even | `odd`, `even` | No | Soccer |
| `total_games` | Total games | `over`, `under` | Yes | Tennis |
| `total_goals` | Total goals | `over`, `under` | Yes | Australian football, Soccer, Ice hockey |
| `total_goals_odd_even` | Total goals odd/even | `odd`, `even` | No | Ice hockey, Soccer |
| `total_maps` | Total maps | `over`, `under` | Yes | Esports |
| `total_points` | Total points | `over`, `under` | Yes | Australian football, Rugby league, Rugby union, Basketball, American football |
| `total_points_odd_even` | Total points odd/even | `odd`, `even` | No | American football |
| `total_rounds` | Total rounds | `over`, `under` | Yes | Mixed martial arts |
| `total_runs` | Total runs | `over`, `under` | Yes | Baseball |
| `total_sets` | Total sets | `over`, `under` | Yes | Tennis |
| `total_tries` | Total tries | `over`, `under` | Yes | Rugby league, Rugby union |
| `winner` | Winner | `home`, `away`, `competitor_1`, `competitor_2` | No | Australian football, Rugby league, Rugby union, Basketball, American football, Baseball, Ice hockey, Tennis, Mixed martial arts, Cricket, Esports |

## Team markets

| Key | Market | Sides | Line | Sports |
| --- | --- | --- | --- | --- |
| `team_corners_odd_even` | Team corners odd/even | `odd`, `even` | No | Soccer |
| `team_corners_over_under` | Team corners over/under | `over`, `under` | Yes | Soccer |
| `team_goals_odd_even` | Team goals odd/even | `odd`, `even` | No | Soccer |
| `team_goals_over_under` | Team goals over/under | `over`, `under` | Yes | Australian football, Soccer, Ice hockey |
| `team_points_odd_even` | Team points odd/even | `odd`, `even` | No | American football |
| `team_points_over_under` | Team points over/under | `over`, `under` | Yes | Australian football, Rugby league, Rugby union, Basketball, American football |
| `team_runs_over_under` | Team runs over/under | `over`, `under` | Yes | Baseball |
| `team_shots_on_goal_over_under` | Team shots on goal over/under | `over`, `under` | Yes | Ice hockey |
| `team_tries_over_under` | Team tries over/under | `over`, `under` | Yes | Rugby league, Rugby union |

## Player markets

| Key | Market | Sides | Line | Sports |
| --- | --- | --- | --- | --- |
| `player_aces_over_under` | Player aces over/under | `over`, `under` | Yes | Tennis |
| `player_assists_anytime` | Anytime assist | `yes` | No | Soccer |
| `player_assists_over_under` | Player assists over/under | `over`, `under` | Yes | Basketball, Ice hockey |
| `player_blocked_shots_over_under` | Player blocked shots over/under | `over`, `under` | Yes | Ice hockey |
| `player_blocks_over_under` | Player blocks over/under | `over`, `under` | Yes | Basketball |
| `player_cards_anytime` | To be carded | `yes` | No | Soccer |
| `player_completions_over_under` | Player pass completions over/under | `over`, `under` | Yes | American football |
| `player_disposals_over_under` | Player disposals over/under | `over`, `under` | Yes | Australian football |
| `player_double_double_yes_no` | Player double-double | `yes`, `no` | No | Basketball |
| `player_earned_runs_allowed_over_under` | Pitcher earned runs allowed over/under | `over`, `under` | Yes | Baseball |
| `player_goals_anytime` | Anytime goal scorer | `yes` | No | Australian football, Soccer, Ice hockey |
| `player_goals_first` | First goal scorer | Each competitor | No | Australian football, Soccer, Ice hockey |
| `player_goals_last` | Last goal scorer | Each competitor | No | Australian football, Soccer, Ice hockey |
| `player_goals_over_under` | Player goals over/under | `over`, `under` | Yes | Australian football, Soccer, Ice hockey |
| `player_handballs_over_under` | Player handballs over/under | `over`, `under` | Yes | Australian football |
| `player_hitouts_over_under` | Player hitouts over/under | `over`, `under` | Yes | Australian football |
| `player_hits_allowed_over_under` | Pitcher hits allowed over/under | `over`, `under` | Yes | Baseball |
| `player_hits_over_under` | Player hits over/under | `over`, `under` | Yes | Baseball |
| `player_home_runs_anytime` | To hit a home run | `yes` | No | Baseball |
| `player_interceptions_thrown_over_under` | Player interceptions thrown over/under | `over`, `under` | Yes | American football |
| `player_kicks_over_under` | Player kicks over/under | `over`, `under` | Yes | Australian football |
| `player_marks_over_under` | Player marks over/under | `over`, `under` | Yes | Australian football |
| `player_outs_recorded_over_under` | Pitcher outs recorded over/under | `over`, `under` | Yes | Baseball |
| `player_passing_attempts_over_under` | Player pass attempts over/under | `over`, `under` | Yes | American football |
| `player_passing_touchdowns_over_under` | Player passing touchdowns over/under | `over`, `under` | Yes | American football |
| `player_passing_yards_over_under` | Player passing yards over/under | `over`, `under` | Yes | American football |
| `player_points_assists_over_under` | Player points and assists over/under | `over`, `under` | Yes | Basketball |
| `player_points_over_under` | Player points over/under | `over`, `under` | Yes | Basketball, Ice hockey |
| `player_points_rebounds_assists_over_under` | Player points, rebounds and assists over/under | `over`, `under` | Yes | Basketball |
| `player_points_rebounds_over_under` | Player points and rebounds over/under | `over`, `under` | Yes | Basketball |
| `player_rebounds_assists_over_under` | Player rebounds and assists over/under | `over`, `under` | Yes | Basketball |
| `player_rebounds_over_under` | Player rebounds over/under | `over`, `under` | Yes | Basketball |
| `player_receiving_yards_over_under` | Player receiving yards over/under | `over`, `under` | Yes | American football |
| `player_receptions_over_under` | Player receptions over/under | `over`, `under` | Yes | American football |
| `player_run_metres_over_under` | Player run metres over/under | `over`, `under` | Yes | Rugby league |
| `player_runs_batted_in_over_under` | Player runs batted in over/under | `over`, `under` | Yes | Baseball |
| `player_runs_over_under` | Player runs over/under | `over`, `under` | Yes | Baseball, Cricket |
| `player_rushing_yards_over_under` | Player rushing yards over/under | `over`, `under` | Yes | American football |
| `player_saves_over_under` | Player saves over/under | `over`, `under` | Yes | Soccer, Ice hockey |
| `player_shots_on_goal_over_under` | Player shots on goal over/under | `over`, `under` | Yes | Ice hockey |
| `player_shots_on_target_over_under` | Player shots on target over/under | `over`, `under` | Yes | Soccer |
| `player_shots_over_under` | Player shots over/under | `over`, `under` | Yes | Soccer |
| `player_steals_over_under` | Player steals over/under | `over`, `under` | Yes | Basketball |
| `player_strikeouts_over_under` | Player strikeouts (as a batter) over/under | `over`, `under` | Yes | Baseball |
| `player_strikeouts_thrown_over_under` | Pitcher strikeouts thrown over/under | `over`, `under` | Yes | Baseball |
| `player_tackles_over_under` | Player tackles over/under | `over`, `under` | Yes | Australian football, Rugby league, Soccer |
| `player_three_pointers_over_under` | Player three-pointers over/under | `over`, `under` | Yes | Basketball |
| `player_total_bases_over_under` | Player total bases over/under | `over`, `under` | Yes | Baseball |
| `player_touchdowns_anytime` | Anytime touchdown scorer | `yes` | No | American football |
| `player_touchdowns_first` | First touchdown scorer | Each competitor | No | American football |
| `player_touchdowns_last` | Last touchdown scorer | Each competitor | No | American football |
| `player_touchdowns_over_under` | Player touchdowns over/under | `over`, `under` | Yes | American football |
| `player_tries_anytime` | Anytime try scorer | `yes` | No | Rugby league, Rugby union |
| `player_tries_first` | First try scorer | Each competitor | No | Rugby league, Rugby union |
| `player_tries_last` | Last try scorer | Each competitor | No | Rugby league, Rugby union |
| `player_tries_over_under` | Player tries over/under | `over`, `under` | Yes | Rugby league, Rugby union |
| `player_triple_double_yes_no` | Player triple-double | `yes`, `no` | No | Basketball |
