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

Market 300 - Player to be booked

Which named player receives a booking in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they are booked.

label_idOutcome
1Yes

Market 301 - 1st Player Booked

Which named player is the first to receive a booking in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they are booked.

label_idOutcome
1Yes

Market 302 - Player to be Sent Off

Which named player is sent off in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they are sent off.

label_idOutcome
1Yes

Market 303 — Match Goalscorers

Which named player scores in the match. The specific player is identified elsewhere in the Odd
object; label_id encodes when they score.

label_idOutcome
0Anytime
1First
2Last

Market 304 - Team Goalscorers

Which named player scores for a specific team. The specific player is identified elsewhere in the Odd object; label_id encodes when they score.

label_idOutcome
1First
2Last

Market 305 - Multi Scorers

Which named player scores multiple goals in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they score. Odd line property indicates the number of goals.

label_idOutcome
2Over

Market 306 - Player to Assist

Which named player provides an assist in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they assist.

label_idOutcome
2Yes

Market 307 - Player Shots On Target

Which named player has a shot on target in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they have a shot on target. Odd line property indicates the number of shots on target.

label_idOutcome
2Over

Market 308 - Player Shots

Which named player has a shot in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they have a shot. Odd line property indicates the number of shots.

label_idOutcome
2Over

Market 309 - Player Fouls Committed

Which named player commits fouls in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they commit fouls. Odd line property indicates the number of fouls.

label_idOutcome
2Over

Market 313 - Score or Assist

Which named player scores or provides an assist in the match. The specific player is identified elsewhere in the Odd object; label_id encodes when they score or assist.

label_idOutcome
1Yes

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
300Player to be booked1=Yes
3011st Player Booked1=Yes
302Player to be Sent Off1=Yes
303Match Goalscorers0=Anytime, 1=First, 2=Last
304Team Goalscorers1=First, 2=Last
305Player Shots On Target2=Over
306Player to Assist1=Yes
307Player Shots On Target2=Over
308Player Shots2=Over
309Player Fouls Committed2=Over
313Score or Assist1=Yes

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.

Did this page help you?