Beginner's Guide

New to horse racing? No worries. Here's everything you need to know about odds, bets, and how this dashboard works.

1How This System Works

YouDashboard :4000Scraper API :3099Cache File
Scraper API :3099scrapeDocker + VPNCITIbet

This system fetches live horse racing odds from CITIbet (a sports betting platform) and displays them on this dashboard. Here's the flow:

  1. 1The Scraper (runs inside Docker with a VPN) logs into CITIbet using a headless browser
  2. 2It navigates to the horse racing odds page and reads the live data
  3. 3The scraped data is saved to a cache file on the server
  4. 4This Dashboard reads from the cache and displays it to you
  5. 5Scraping only happens when you click 'Fetch' — it does NOT auto-scrape
Note:The scraper uses a Malaysia VPN inside Docker so it doesn't affect other apps on the server. All data goes through the VPN tunnel only for scraper traffic.

2Reading Horse Racing Odds

Odds tell you how much you can win relative to your stake. In this system, odds are shown in decimal format:

Horse "Nightflyer" — Win Odds: 4.8
This means: for every $1 you bet, you get $4.80 back (including your $1 stake) = $3.80 profit

Lower odds = more likely to win (but less profit)

Higher odds = less likely to win (but more profit)

Odds RangeMeaningColor
1.0 — 5.0Strong favorite, very likely to winRed
5.0 — 15.0Contender, decent chanceAmber
15.0+Longshot, unlikely but big payoutDefault

3Win vs Place Bets

Win Bet

Your horse must finish 1st. Higher payout but harder to win.

Win Odds: 4.8 → $100 bet = $480 return

Place Bet

Your horse must finish in the top 2 or 3 (depends on field size). Lower payout but easier to win.

Place Odds: 1.3 → $100 bet = $130 return

4HK Mode Odds Explained

This system runs in HK Mode (Hong Kong style). Key differences from other formats:

%

Percentage (%) — Shows the payout rate. E.g., "82%" means 82% of the pool is paid out. Higher % = better odds for bettors.

Limit

Win/Place Limit — Shown as "110/30" meaning max $110 win bet and $30 place bet on this line. "240/0" means $240 win only, no place.

W$

Win $ / Place $ — The amount of money currently available at this odds level. Higher = more liquidity.

5Bet vs Eat (Back vs Lay)

Bet (Back)

You're betting FOR a horse to win/place. This is the normal bet — you pick a horse and hope it wins.

"I think Horse #3 will win, so I bet on it."

Eat (Lay)

You're betting AGAINST a horse. You act like the bookmaker — if the horse loses, you keep the stake. If it wins, you pay out.

"I think Horse #3 will NOT win, so I lay against it."

Tip:The Runners & Odds section shows the combined summary — the current win and place odds for each horse. Click any horse card to see its individual bet/eat lines.

6Understanding the Race Card

The Today's Races sidebar shows all upcoming races across different countries and tracks:

🇬🇧
Warwick
Horse Racing
5 min
Country flag — Where the race is (UK, France, Ireland, etc.)
Track name — The racecourse (Warwick, Chantilly, etc.)
Type — Horse Racing, Harness Racing, or Greyhound Racing
Time badge — How soon the race starts. LIVE = starting now, Orange = within 5 min

7Race Types

🐎
Horse Racing
Hs

Standard flat or jump horse racing. Most common type.

🏇
Harness Racing
Har

Horses pull a driver in a two-wheeled cart (sulky). Common in France, Sweden, US.

🐕
Greyhound Racing
Dog

Dogs race around an oval track chasing a mechanical lure.

8Countries & Tracks

CITIbet covers races from many countries. Common codes:

UK United Kingdom
Warwick, Southwell, Chepstow, Chelmsford
FR France
Chantilly, Toulouse
IR Ireland
Clonmel
US United States
Gulfstream Park, Monticello, Charles Town
IT Italy
Bologna, Pisa
SW Sweden
Orebro, Aby
SA South Africa
Vaal, Turffontein
AU Australia
Various
JP Japan
Various

9Using the Dashboard

Status Indicator

Live connection
=Scraper browser is open and logged in. Ready to fetch.
Offline
=Browser is closed. Click "Fetch" to auto-login and get odds.

Buttons

Refresh

Reads the latest data from cache. Instant, no browser needed.

Fetch All Races

Triggers a live fetch. The scraper will log in (if needed), navigate to the odds page, and extract fresh data. Takes ~60 seconds first time, ~5 seconds after.

Horse Cards

Each horse has a card showing its name, jockey, trainer, and current odds. Click a card to expand it and see a plain-English explanation of the odds plus any available bet/eat lines.
The horse with the lowest win odds is marked as the Favorite with a golden badge and highlighted border.

10API Reference

You can also access the data programmatically. The dashboard backend runs on port 4000:

GET
/api/odds
Read cached odds data (instant)
GET
/api/odds?scrape=true
Trigger fresh scrape + return data
GET
/api/status
Scraper connection status
GET
/api/races
Race card / schedule
GET
/api/screenshot
Live PNG of scraper browser
POST
/api/login
Force login to CITIbet
POST
/api/select-race
Switch race. Body: {"race_type":"22Z","rc":6}
POST
/api/disconnect
Close scraper browser
Tip:Example: curl http://localhost:4000/api/odds

12HK Mode vs SG Mode

CITIbet offers two different odds formats. Both show the same races and same horses — the only difference is how odds and payouts are calculated.

HK
Hong Kong Mode
Money Mode (Percentage-Based)

Your bet is based on the percentage (%) of the ticket value.

Percentage Range78% — 100%
Payout Range10.2/10 — 600/200

How it works: You bet a dollar amount. The % tells you the bookmaker's confidence. Higher % = more of your potential payout is guaranteed. A 90% on odds 5.0 means you get 90% of the full 5x return.

Example: Bet $100 at 85% on odds 4.8
If horse wins: $100 × 4.8 × 0.85 = $408 return
SG
Singapore Mode
Original Ticket Mode

Your bet is based on buying tickets at a fixed price.

Ticket Price$3.90 — $5.00
Payout Range5.1/5 — 300/100

How it works: You buy a number of tickets at a set price per ticket. If your horse wins, you get back a multiple of your ticket cost. Simpler to understand — no percentages involved.

Example: Buy 10 tickets at $4.50 each = $45 total
If horse wins at 5.1/5: $45.90 return
Note:Both modes show the same races, same horses, same results. It's like viewing prices in USD vs EUR — same item, different format. Choose whichever you're more comfortable reading.

Which should I use?

  • HK Mode — Popular with Hong Kong bettors. Higher payout numbers, percentage-based. Better if you want to see the exact % confidence level.
  • SG Mode — Popular in Singapore & Malaysia. Ticket-based, simpler math. Better if you prefer straightforward “buy X tickets, win Y” format.

11Glossary

OddsThe ratio of payout to stake. Odds of 5.0 means $5 return per $1 bet.
WinBetting on a horse to finish 1st.
PlaceBetting on a horse to finish in the top 2 or 3.
Favorite (FAV)The horse with the lowest (shortest) odds — considered most likely to win.
LongshotA horse with high odds — unlikely to win but pays big if it does.
Back (Bet)Betting FOR a horse to win.
Lay (Eat)Betting AGAINST a horse — you profit if it loses.
LimitMaximum bet amount accepted at a given odds level. Shown as Win/Place (e.g., 110/30).
DrawThe starting position/gate number assigned to a horse.
WeightThe weight a horse carries including jockey and equipment (in kg or lbs).
JockeyThe person riding the horse.
TrainerThe person who trains and prepares the horse for racing.
Race TypeThe kind of race — Hs (horse flat/jump), Har (harness/trotting), Dog (greyhound).
ScraperThe automated browser that logs into CITIbet and extracts odds data.
CacheStored data from the last scrape. Reads from cache are instant.
HK ModeHong Kong-style odds format used by CITIbet. Shows percentage payouts and limits.
SG ModeSingapore-style ticket format. Buy tickets at a fixed price ($3.90-$5.00), payout is a multiple of ticket cost. Simpler format.