Hong Kong stages roughly 850 races a year, at two courses, on about 87 days. For a racing market that sounds modest, and it is, but almost everything about it is easy to model. The fields are large, the programme is regular, the courses never change, and a small pool of horses, jockeys and trainers keeps meeting itself.
That makes Hong Kong racing a favourite with people building models. We hold all of it, from the first race in the archive on 22 September 1979, so this is what the data looks like at full size.
Two courses, one city
Every race takes place at Sha Tin or Happy Valley. Sha Tin hosts the larger share, 18,023 of the 30,112 races in our archive, and Happy Valley the other 12,089.
The courses behave differently enough that you should never pool them without a flag. Sha Tin averages 12.8 runners a race and Happy Valley 11.1, and the distances they favour are not the same. Over 1200 metres, Sha Tin has staged 4,700 races and Happy Valley 2,936. Over 1650 metres the proportions flip: Happy Valley has run 3,737 of them and Sha Tin only 988.
Sha Tin also has an all-weather track, which has staged 2,320 races in the archive, next to its turf. The turf itself is not one surface. Races are run on named course layouts (A, B, C and variations marked with a plus, such as C+3), and the layout is stored with each race. Horse profiles in our API split a horse’s record by venue as well, so you can read a Sha Tin record and a Happy Valley record side by side.
A calendar that skips August
Racing runs from September to July. In the eight calendar years from 2018 to 2025 there was no race meeting in August at all, and July is thin: 41 race days in total across those eight years, about five a year. The busiest months are January, May and October.
Across 2015 to 2025 the count is steady: between 84 and 90 race days a year, producing between 790 and 853 races. If you need a feel for how stable that is, compare it with the UK, where 850 races go by in under a month.
Our season calendar post shows the full month-by-month count.
What has been recorded
The headline numbers, as of October 2026:
| Hong Kong | |
|---|---|
| Races | 30,112 |
| Runner records | 365,326 |
| Horses | 16,541 |
| Jockeys | 606 |
| Trainers | 505 |
Results run back to 1979. The 1980s hold 4,526 races, the 1990s 5,420, the 2000s 6,538 and the 2010s 7,808, which shows how much the programme grew until the 2010s.
Hong Kong also records things that the UK either does not or records unevenly. The timing is the clearest example. Race-level cumulative times, split into up to six sections, exist for essentially every race since 1979. Per-runner section times start in 2008, at about 55% of runner records that year and 97 to 98% in the later years we checked. Our sectional times guide explains what to do with them.
Veterinary notes are the other distinctive record. We hold 53,966 of them, dated from September 2016, covering reasons for withdrawal and post-race findings. The veterinary records post goes through what they say.
And the Hong Kong dataset includes dividends, the payout for each betting pool and winning combination, about 300,000 rows starting in September 2000.
Hong Kong next to the UK
Put the two markets side by side and the differences are structural. The UK and Ireland give us 197,526 races at 86 racecourses since 2011, over turf, all-weather, hurdles and fences. Hong Kong gives us 30,112 races at two courses since 1979, all on the flat.
Hong Kong fields are bigger, 12.1 runners a race against 9.5 in the UK. Its timing is more complete, because every race has cumulative section times, while UK sectionals start in 2017, reach about 91% of British runners from 2024, and do not exist for Irish racing at all. And it has far fewer people in it: 606 jockeys over 47 years against 6,591 in the UK.
None of that makes one market better. It means a model trained on one will not transfer to the other without work, and that Hong Kong is the easier place to get clean time-based features.
Where the data trips people up
Gear is written in a code with a suffix, so B1 means blinkers for the first time. Our gear codes explainer decodes them.
Withdrawals are common and live in the place column, not a separate table. Veterinary withdrawals alone appear 3,976 times, which is more than all the other non-finishing codes combined. The result codes guide lists them.
Margins use a slash for fractions, 2-3/4, and capitals for the shortest distances. See margins in racing data.
Going descriptions are in capitals and there are a lot of them. GOOD is by far the most common (14,619 races), then GOOD TO FIRM (9,350) and GOOD TO YIELDING (1,597). If you are used to the UK scale of Firm, Good, Soft and Heavy, build a mapping table once and keep it.
Getting the data
Everything here is available as downloadable files or through the API. The Hong Kong datasets post describes what is in each table. If you would rather query than download, the API exposes 30 Hong Kong endpoints, including races, records, racecards, horses, jockeys, trainers, courses and veterinary records. Updates arrive after each race day.
If you only try one thing, follow a single race at Sha Tin through the races, records and racecards tables. Ten minutes in, you will know whether the data fits your problem. The historical exports are there when you want 1979 in one go.

Comments are closed