Skip to content

HKJC Guru is an independent statistics service and is not affiliated with, endorsed by, or connected to The Hong Kong Jockey Club.

Racing data

HKJC Race Results

Hong Kong horse racing results and historical form guide

hkjc_race_results

Results

375,882

Coverage

May 1977 to October 2026

Columns

91

Latest data

2026-10-01

Sample

8 rows shown
HKJC Race Results: Sample
horse_idrace_daterace_numberrace_indexrace_idhorse_namehorse_numberfinishing_positionnon_starterresult_statusresult_status_labelfinishing_time_secondsfinishing_timemarginmargin_lengthsdrawoddsposition_1position_2position_3position_4position_5position_6section_1_timesection_2_timesection_3_timesection_4_timesection_5_timesection_6_timelbw_1lbw_2lbw_3lbw_4lbw_5lbw_6split_800m_600m_timesplit_600m_400m_timesplit_400m_200m_timesplit_final_200m_timesplit_first_200m_timehas_opening_200m_segmentsection_1_vs_pacesection_2_vs_pacesection_3_vs_pacesection_4_vs_pacesection_5_vs_pacesection_6_vs_pacevenue_codevenuesurface_typecourse_configdistancedistance_categoryrace_namerace_classtrack_conditionfield_sizejockeyjockey_allowancetrainerownerhorse_colourhorse_sexhorse_agehorse_originimport_typeimport_datedeclared_horse_weightsiredamdam_sireis_winneris_top_threedead_heatweightgeargear_labelentry_ratingrating_typetotal_stakesseason_stakesno_of_startscareer_winscareer_secondscareer_thirdscareer_total_startscareer_win_raterace_urlvideo_replay_urlupdated_atid
HK_2023_J1872026-10-01 00:00:001ST_20261001_R01VERBIER—0true—————————————————————————————false——————STSha TinTurf—1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14 ---—C FownesAlex Shek & Olivia SeBayGelding6FRPPG2023-10-14 00:00:00—ToronadoVadirimaSelkirk00false133—38H2467500.00.03-1-5-34315340.0882https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:0726736acae2a176942105a365b5be966e
HK_2024_K2502026-10-01 00:00:001ST_20261001_R01DASH—0true—————————————————————————————false——————STSha TinTurf—1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14 ---—D J WhyteBenedict SinBrownGelding5AUSPPG2024-10-14 00:00:00—ZoustarStrata LadyStratum00false123BBlinkers28H211725.00.00-0-1-13001130.0https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:07577fc5cfba4c8bcedf60ef57021577a3
HK_2024_K2792026-10-01 00:00:001057ST_20261001_R01CIRRUS SPEED71falsePLACEDFinished——312.0———111———23.9222.4122.20———3/43/4111.111.3110.911.3—false——————STSha TinTurfA1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14M F Poon—D J HallKent Leung Kin KeungBayGelding5AUSPPG2024-11-05 00:00:001109Star TurnHolley ShiftwellTesta Rossa11false129—34H105300.00.01-0-0-11100110.0909https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:076d5b0995a7015b248efaa2a04cc3eea8
HK_2024_K5032026-10-01 00:00:001057ST_20261001_R01FALCON HUNTER22falsePLACEDFinished——210.0———332———24.1622.4922.02———1-1/22111.0611.4310.7411.28—false——————STSha TinTurfA1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14J Orman—J CummingsAlex Chan Cheuk LunBrownGelding4NZPPG2025-03-27 00:00:001085U S Navy FlagEvana RahmaDarci Brahma01false133TTTongue Tie38H134550.00.00-1-1-901190.0https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:07f122b78a24f0e92ece4b61020390dcb1
HK_2023_J2232026-10-01 00:00:001057ST_20261001_R01SUNNY Q13falsePLACEDFinished——46.6———773———24.4022.5321.81———33-3/41-1/411.1411.3910.7411.07—false——————STSha TinTurfA1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14A Atzeni—W Y SoMatthew Wong Leung PakBayGelding6AUSPPG2023-11-07 00:00:001165Rich EnuffHarmony HallMinardi01false135CP/TTSheepskin Cheek Pieces / Tongue Tie40H1499950.017500.01-2-3-20123200.05https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:07eba22868cd2518a42e4db04d08a527f2
HK_2025_L1002026-10-01 00:00:001057ST_20261001_R01POWER PATCH44falsePLACEDFinished——810.0———444———24.2022.5322.20———1-3/42-1/22-1/211.1411.3910.8611.34—false——————STSha TinTurfA1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14C Y Ho—K L ManLam Wai YingChestnutGelding4AUSPPG2025-08-07 00:00:001255CalyxCharlee BearChoisir00false133BBlinkers38H40950.00.00-0-0-800080.0https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:079d850ee4fbc04c0d10789ede574ae8fb
HK_2024_K0382026-10-01 00:00:001057ST_20261001_R01NOBLE FANS65falsePLACEDFinished——1318.0———14115———24.8822.2921.82———65-1/42-3/411.111.1910.711.12—false——————STSha TinTurfA1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14Z Purton—J SizeKenneth TangChestnutGelding5AUSPPG2024-07-11 00:00:001182All Too HardTenderlyStratum00false130B/TTBlinkers / Tongue Tie35H1082225.00.01-1-2-19112190.0526https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:072e09febac898ac706a6ae69968386f7d
HK_2024_K2162026-10-01 00:00:001057ST_20261001_R01WINNING DIAMOND136falsePLACEDFinished——1240.0———10106———24.6822.4521.90———4-3/453-1/411.0611.3910.7411.16—false——————STSha TinTurfA1200SprintNANNING HANDICAPClass 5GOOD TO FIRM14R Kingscote—D EustaceEddie Chung Kwok LeungBayGelding5AUSPPG2024-10-10 00:00:001026Deep FieldClearlyInvincible Spirit00false121B1Blinkers (1st time)26H145950.00.00-0-0-15000150.0https://racing.hkjc.com/racing/information/english/Racing/LocalResults.aspx?RaceDate=2026/10/01&RaceNo=1https://racing.hkjc.com/contentAsset/videoplayer_v4/video-player-iframe_v4.html?type=replay-full&date=20261001&no=01&lang=eng&noPTbar=false&noLeading=false&videoParam=YD&rf=http://racing.hkjc.com/en-us/local/information/resultsall?racedate=2026/10/01&pageid=racing/local2026-10-01 11:20:07174adc124fbd8a9824c17ca91aa82fa4

Both open directly in a spreadsheet.

Also as compressed CSV, JSON

Question about this table? Ask us. (opens in new tab)

Columns

91
HKJC Race Results: Columns
Column Type Description
race_id text Unique race identifier (format: ST_20250928_R01)
race_date date and time Date of the race (YYYY-MM-DD)
race_number number Race number within the meeting (1-11)
race_index text Original HKJC race identifier within the meeting (1-10). Use this for matching with external HKJC data sources. NULL for modern data (Sept 2025+).
race_name text Name of the race (e.g., 'FAT CHOI HANDICAP')
venue text Race venue (Sha Tin / Happy Valley)
venue_code text Venue code (ST/HV)
surface_type text Track surface type: 'Turf' or 'AWT' (All Weather Track)
course_config text Course configuration (A, B, C, C+3, etc.) - different track layouts at same venue
race_class text Race class (Class 1-5, Group 1/2/3, Griffin, etc.)
distance number Race distance in meters (1000-2400m typical)
distance_category text Distance category (Sprint/Mile/Middle/Long)
track_condition text Track going condition (Good/Good to Firm/Yielding/etc.)
field_size number Number of horses in the race
rating_type text Rating band for the race (H=Handicap, I=International)
horse_number number Horse's saddle/barrier number for the race
draw number Starting gate/barrier position (same as horse_number in HK flat racing)
finishing_position number Final finishing position (1, 2, 3, etc.). 0 for non-starters — see non_starter.
non_starter yes/no TRUE when the horse was entered but did not start the race (scratched, withdrawn, or a standby/reserve that never ran). For these rows finishing_position is not meaningful (0). Filter on non_starter = false for finishing-position calculations; keep them for withdrawal and pre-race analysis.
result_status text Result classification. 'PLACED' = a completed run with a numeric finishing_position (any position, not the racing sense of "placed in the money"). Codes present in the data: PU = pulled up (started, retired mid-race, no placing); WV = withdrawn on veterinary advice; WXNR = declared a non-runner. WV and WXNR are non-runners (the horse did not start), so they are always flagged non_starter = true. non_starter = false therefore cleanly means the horse ran; for a set restricted to placed runners (excluding a PU or a future DISQ that ran but did not place) filter result_status = 'PLACED'. DISQ (disqualified) is decoded but does not yet appear: HKJC publishes disqualifications weeks after the race, after our re-scrape window closes, so the provisional placing stays frozen. When a DISQ is ingested the runner did start and HKJC renumbers the field, so finishing_position reflects the official result. See result_status_label for decoded wording. NULL for non-starters with no recorded code and entries with no outcome.
result_status_label text Human-readable form of result_status (Finished, Pulled Up, Withdrawn (Vet), Non-runner; Disqualified once ingested). Unmapped codes pass through verbatim.
finishing_time text Finishing time (MM:SS.ss format)
finishing_time_seconds number Finishing time converted to total seconds
margin text Margin from winner (lengths, head, neck, short head, etc.)
margin_lengths number Margin converted to numeric lengths
odds number Win odds as a decimal number (e.g. 4.5 = 9/2)
weight number Weight carried by the horse, in pounds (e.g. 126)
section_1_time text Time for first section in seconds (e.g., '14.77')
section_2_time text Time for second section in seconds
section_3_time text Time for third section in seconds
section_4_time text Time for fourth section in seconds
section_5_time text Time for fifth section in seconds
section_6_time text Time for sixth section in seconds (longer races only)
position_1 text Running position at first checkpoint
position_2 text Running position at second checkpoint
position_3 text Running position at third checkpoint
position_4 text Running position at fourth checkpoint
position_5 text Running position at fifth checkpoint
position_6 text Running position at sixth checkpoint (longer races only)
lbw_1 text Lengths behind leader at first checkpoint (e.g., '2-1/4')
lbw_2 text Lengths behind leader at second checkpoint
lbw_3 text Lengths behind leader at third checkpoint
lbw_4 text Lengths behind leader at fourth checkpoint
lbw_5 text Lengths behind leader at fifth checkpoint
lbw_6 text Lengths behind leader at sixth checkpoint
split_800m_600m_time number Time in seconds for the 200m run between 800m-to-go and 600m-to-go (second-to-last 400m section, first half). Available from 12 November 2022. Blank for older races or those without sectional data.
split_600m_400m_time number Time in seconds for the 200m run between 600m-to-go and 400m-to-go (second-to-last 400m section, second half).
split_400m_200m_time number Time in seconds for the 200m run between 400m-to-go and 200m-to-go (final 400m section, first half).
split_final_200m_time number Time in seconds for the final 200m (finishing sprint). The single most-analyzed sectional metric in racing; lower is faster. Available from 12 November 2022 (when HKJC began publishing 200m sub-splits); also from April 2024 via the V2 spider.
split_first_200m_time number Time in seconds for the opening 200m from the gates. Four of the eight standard HK race distances (1000m / 1400m / 1800m / 2200m) open with a 200m section; the four multiples of 400m (1200 / 1600 / 2000 / 2400) open with 400m and have no opening 200m timing point. When the distance has no opening 200m, this column is NULL by design, not missing data — use has_opening_200m_segment to filter. Coverage back to 2013 for distances that have the timing point; this timing point has always been part of HKJC's published sectional data, only the column surfacing is new.
has_opening_200m_segment yes/no True when the race distance has an opening 200m timing point (1000m / 1400m / 1800m / 2200m). False for 400m-aligned distances (1200 / 1600 / 2000 / 2400) and Happy Valley 1650m, where split_first_200m_time is NULL by design. Use this to distinguish "no data possible at this distance" from "data missing for this race" when filtering or charting opening-pace metrics.
section_1_vs_pace number Difference between horse's section 1 time and race benchmark. Negative = faster than field average. Available for races with V2 sectional data (Jan 2026+).
section_2_vs_pace number Difference between horse's section 2 time and race benchmark. Negative = faster than field.
section_3_vs_pace number Difference between horse's section 3 time and race benchmark. Negative = faster than field.
section_4_vs_pace number Difference between horse's section 4 time and race benchmark. Negative = faster than field.
section_5_vs_pace number Difference between horse's section 5 time and race benchmark. Negative = faster than field.
section_6_vs_pace number Difference between horse's section 6 time and race benchmark. Negative = faster than field (longer races only).
horse_id text Unique horse identifier (e.g., 'HK_2020_E403')
horse_name text Horse's name in English
horse_colour text Horse's coat colour (Bay, Chestnut, Grey, etc.)
horse_sex text Horse's sex (G=Gelding, C=Colt, F=Filly, M=Mare, H=Horse)
horse_age number Horse's age in years
horse_origin text Country of origin (AUS, NZ, IRE, GB, etc.)
import_type text Import classification (PP, PPG, ISG, etc.)
import_date date and time Date imported to Hong Kong
declared_horse_weight number Horse's declared body weight before racing (in lbs, typically 1000-1200). Useful for tracking fitness/condition changes.
sire text Sire (father)
dam text Dam (mother)
dam_sire text Dam's sire (maternal grandfather)
jockey text Jockey name
jockey_allowance number Weight allowance for apprentice jockeys (0/2/5 lbs). NULL for historical races.
trainer text Trainer name
owner text Owner name
entry_rating number Horse's official HKJC rating at the time this race was run (1-144 scale). Resolved from race card and horse profile sources. Single authoritative rating per entry.
total_stakes number Total career prize money (HKD)
season_stakes number Current season prize money (HKD)
no_of_starts text Career record (format: wins-seconds-thirds-total)
career_wins number Career wins in Hong Kong
career_seconds number Career second places
career_thirds number Career third places
career_total_starts number Total career starts
career_win_rate number Career win percentage (0-1)
is_winner number True if horse won the race
is_top_three number True if horse finished in top 3 (excludes scratched entries)
dead_heat yes/no True if horse tied for position. FALSE by default for historical races.
gear text Equipment used (B=Blinkers, TT=Tongue Tie, H=Hood, SR=Shadow Roll, etc.). '--' means no gear. See gear_label for the decoded form.
gear_label text Equipment decoded to words, e.g. 'Visor (removed) / Blinkers (2nd time) / Tongue Tie'. 'No gear' where the raw code is '--'. Codes are HKJC's own (Equipment Register, racing.hkjc.com/en-us/local/page/reg-approved-gear); a trailing 1/2 means first/second time worn and a trailing '-' means removed this start. Unrecognised codes pass through unchanged.
race_url text Source URL for the race page
video_replay_url text Direct URL to watch race video replay for this specific horse
updated_at date and time Timestamp when record was last updated
id text Stable unique identifier for this row — the last column of every export. Use it to deduplicate, to key an incremental load, or to reference one specific row. It is additive: the entity and join keys you already use (race_id, horse_id, and the like) are unchanged.

Query it

Every table can be queried with SQL, the API or an AI assistant, using a Renavon account.

SELECT * FROM renavon_exports.hkjc_race_results LIMIT 10

Get a key on renavon.com (opens in new tab)

Ways to get this table

Free sample

Last 12 months of race results across every meeting, full schema, no row cap. Includes both Starter and Pro tier columns so buyers can see the full surface area.

Free

Download the sample

One-off archive

7 May 1977 to present · does not update

$199

Buy the archive Race Results (opens in new tab)

Racing Pass Pro

A rolling 24-month window, currently from October 2024with 13 other tables

$149/mo

Subscribe to Racing Pass Pro (opens in new tab)

See all pricing