Markets

This reference guide explains the mapping and logic behind Market IDs and Label IDs within the SSTrader API.

SSTrader Markets Reference

This guide explains market_id and label_id mappings used in the SSTrader API.
Every bet selection is identified by a market_id (what type of market) and a label_id (which outcome within that market).


How Label IDs Work

Label IDs are NOT sequential outcome indices. Each market has its own fixed label_id mapping.
Common mistakes to avoid:

  • In Under/Over markets: label_id 1 = Under, label_id 2 = Over (not the reverse)
  • In 3-Way markets: label_id 0 = Draw (not label_id 3), label_id 1 = Home, label_id 2 = Away
  • In Correct Score markets: label_id encodes the score itself (see below)

Market Definitions

Market 1 — 3Way Result (1x2)

Standard home/draw/away market for full-time result.

label_idOutcome
1Home Win
2Away Win
0Draw ⚠️ (not 3)

Market 2 — Asian Handicap

label_idOutcome
1Home
2Away

Market 3 — Goal Line (Asian Total Goals)

label_idOutcome
1Under ⚠️ (not 2)
2Over

Market 4 — Match Goals (European Total Goals)

label_idOutcome
1Under
2Over

Market 5 — Corners Asian Handicap

label_idOutcome
1Home
2Away

Market 6 — Asian Total Corners

label_idOutcome
1Under
2Over

Market 7 — Correct Score

Label IDs encode the scoreline directly using the pattern: 1 + home goals digit + away goals digit.

label_idScore
1000:0
1010:1
1101:0
1111:1
1202:0
1212:1
1222:2
1303:0
1424:2
...(pattern continues)

Parsing rule: Remove the leading 1. The remaining digits are home_goals + away_goals.
Example: label_id 142 → remove 142 → Home 4, Away 2 → score 4:2


Market 11 — 1st Half 3Way Result

Same label mapping as Market 1, but for the first half only.

label_idOutcome
1Home Win
2Away Win
0Draw

Market 12 — 1st Half Asian Handicap

label_idOutcome
1Home
2Away

Market 13 — 1st Half Goal Line (Asian Total Goals)

label_idOutcome
1Under
2Over

Market 14 — 1st Half Match Goals (European Total Goals)

label_idOutcome
1Under
2Over

Market 16 — 1st Half Asian Total Corners

label_idOutcome
1Under
2Over

Market 17 — 1st Half Correct Score

Same encoding as Market 7, but for first-half scores only.

label_idScore
1000:0
1111:1
1101:0
...(same pattern: remove leading 1)

Market 22 — Next Goal (n-Goal)

Which team scores the Nth goal. The specific goal number (1st, 2nd, etc.) is in the line property of the Odd object.

label_idOutcome
1Home scores next
2Away scores next
0No more goals (neither team)

Market 50 — Draw No Bet

label_idOutcome
1Home
2Away

Market 51 — Half-Time / Full-Time (HT/FT)

Label IDs encode the HT result and FT result combined: HT_result + FT_result, where 1 = Home, 2 = Away, 0 = Draw (represented as 0/X).

label_idHT ResultFT Result
111HomeHome
100DrawDraw
122AwayAway
112HomeAway
121AwayHome
110HomeDraw
...(all 9 combinations)

Market 52 — Odd/Even (Total Goals)

label_idOutcome
1Odd
2Even

Market 53 — Both Teams To Score (BTTS)

label_idOutcome
1Yes
2No

Market 54 — 1st Half BTTS

label_idOutcome
1Yes
2No

Market 55 — 2nd Half BTTS

label_idOutcome
1Yes
2No

Market 56 — Team Corners

Compound label_id: first digit = team (1 = Home, 2 = Away), second digit = outcome (1 = Under, 2 = Over).

label_idTeamOutcome
11HomeUnder
12HomeOver
21AwayUnder
22AwayOver

Market 57 — Team Total Goals

Same compound structure as Market 56.

label_idTeamOutcome
11HomeUnder
12HomeOver
21AwayUnder
22AwayOver

Market 58 — Double Chance

label_idOutcome
10Home or Draw
2Draw or Away
12Home or Away

Market 59 — Clean Sheet

Compound label_id: first digit = team (1 = Home, 2 = Away), second digit = outcome (1 = Yes, 2 = No).

label_idTeamClean Sheet?
11HomeYes
12HomeNo
21AwayYes
22AwayNo

Market 203 — Asian Total Cards

label_idOutcome
1Under
2Over

Quick Lookup Table

market_idMarket Namelabel_id → Outcome
13Way Result (1x2)0=Draw, 1=Home, 2=Away
2Asian Handicap1=Home, 2=Away
3Goal Line (Asian)1=Under, 2=Over
4Match Goals (European)1=Under, 2=Over
5Corners — Asian Handicap1=Home, 2=Away
6Asian Total Corners1=Under, 2=Over
7Correct ScoreEncoded score (remove leading 1: remaining = HomeGoals+AwayGoals)
111st Half 3Way Result0=Draw, 1=Home, 2=Away
121st Half Asian Handicap1=Home, 2=Away
131st Half Goal Line (Asian)1=Under, 2=Over
141st Half Match Goals (European)1=Under, 2=Over
161st Half Asian Total Corners1=Under, 2=Over
171st Half Correct ScoreEncoded score (same as Market 7)
22Next Goal0=No Goal, 1=Home, 2=Away
50Draw No Bet1=Home, 2=Away
51HT/FTCompound: digits = HT result + FT result
52Odd/Even1=Odd, 2=Even
53BTTS1=Yes, 2=No
541st Half BTTS1=Yes, 2=No
552nd Half BTTS1=Yes, 2=No
56Team CornersCompound: 1st digit=team (1=Home,2=Away), 2nd=outcome (1=Under,2=Over)
57Team Total GoalsCompound: 1st digit=team (1=Home,2=Away), 2nd=outcome (1=Under,2=Over)
58Double Chance10=Home/Draw, 2=Draw/Away, 12=Home/Away
59Clean SheetCompound: 1st digit=team (1=Home,2=Away), 2nd=outcome (1=Yes,2=No)
203Asian Total Cards1=Under, 2=Over

Key Rules for LLMs

  1. Under = label_id 1, Over = label_id 2 — in all total/line markets (3, 4, 6, 13, 16, 203).
  2. Draw = label_id 0 — in all 3-way markets (1, 11). It is NOT label_id 3.
  3. Correct Score encoding — label_id always starts with 1. Strip it, then read remaining digits as home+away goals (e.g., 1424:2).
  4. Compound label_ids — in markets 56, 57, 59: first digit is team (1=Home, 2=Away), second digit is outcome.
  5. Next Goal line property — for market 22, the goal number (1st, 2nd, etc.) is in the line field of the Odd object, not the label_id.