racing.hkjc.com APIracing.hkjc.com ↗
Access Hong Kong Jockey Club race results, horse profiles, jockey/trainer rankings, fixtures, and horse search via a single structured API.
curl -X GET 'https://api.parse.bot/scraper/df13f774-1140-45fb-af1f-1861fa428708/get_race_results?date=20250608&race_no=1' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve full race results for a specific race meeting date and race number. Returns finishers with placings, times, odds, and dividends. Some metadata fields (venue, class, distance, going, course) may be empty depending on the race page structure.
| Param | Type | Description |
|---|---|---|
| daterequired | string | Race date in YYYYMMDD format (e.g., 20250608). |
| race_no | integer | Race number within the meeting. |
{
"type": "object",
"fields": {
"date": "string, the requested date in YYYYMMDD format",
"class": "string, race class (may be empty)",
"going": "string, track condition (may be empty)",
"venue": "string, race venue (may be empty)",
"course": "string, course type (may be empty)",
"race_no": "integer, the race number",
"distance": "string, race distance in meters (may be empty)",
"dividends": "array of dividend objects with pool, winning_combination, dividend",
"finishers": "array of finisher objects with placing, horse_no, horse_name, horse_id, jockey, trainer, actual_wt, declar_wt, draw, lbw, running_pos, finish_time, win_odds"
},
"sample": {
"data": {
"date": "20250608",
"class": "",
"going": "",
"venue": "",
"course": "",
"race_no": 1,
"distance": "",
"dividends": [],
"finishers": [
{
"lbw": "---",
"draw": "8",
"jockey": "P N Wong",
"placing": "1",
"trainer": "K L Man",
"horse_id": "HK_2022_H347",
"horse_no": "8",
"win_odds": "5.2",
"actual_wt": "119",
"declar_wt": "1164",
"horse_name": "RUBY SAILING",
"finish_time": "1:09.19",
"running_pos": "1 1 1"
}
],
"race_name": ""
},
"status": "success"
}
}About the racing.hkjc.com API
The HKJC Racing API provides structured access to Hong Kong Jockey Club horse racing data across 6 endpoints. You can retrieve full race results for any meeting date via get_race_results — including finisher placings, running positions, odds, and dividend pools — alongside horse pedigree profiles, current-season jockey and trainer standings, upcoming fixture schedules, and name-based horse search.
Race Results and Dividends
The get_race_results endpoint accepts a date parameter in YYYYMMDD format and an optional race_no integer. It returns a finishers array where each entry includes placing, horse_no, horse_name, horse_id, jockey, trainer, actual_wt, declar_wt, draw, and lbw (lengths behind winner). A dividends array covers all pari-mutuel pools with pool, winning_combination, and dividend fields. Note that metadata fields — venue, class, distance, going, and course — may be empty depending on the specific race page structure.
Horse Profiles and Search
The get_horse_profile endpoint takes a horse_id in the format HK_2020_E436 and returns pedigree data (sire, dam, dam_sire), colour, sex, age, owner, and trainer. Horse IDs are obtainable from search_horses, which accepts a partial or full horse name and returns matching horses — both active and retired — with each horse's horse_id, name, and url. This makes search_horses the natural entry point for building a profile lookup workflow.
Rankings and Fixtures
get_jockey_ranking and get_trainer_ranking return current-season standings with no input parameters required. Each entry in the rankings array includes Name, Id, First (total wins), and StakesWon. The get_race_meeting_fixtures endpoint returns an eventList of upcoming local and overseas race days, with each event carrying eventTitle, eventVenue, startDate as a Unix millisecond timestamp, and category.
- Track dividend payouts for specific pools by date and race number using the
dividendsarray fromget_race_results. - Build a horse pedigree database by combining
search_horsesqueries withget_horse_profilelookups. - Monitor jockey season performance trends using
First(wins) andStakesWonfromget_jockey_ranking. - Display an upcoming race calendar by parsing
startDateUnix timestamps fromget_race_meeting_fixtures. - Compare trainer standings over the course of a season using data from
get_trainer_ranking. - Identify retiring or historical horses by searching partial names via
search_horsesand checking profile fields. - Correlate draw positions and finishing places for handicapping analysis using
drawandplacingfields inget_race_results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the Hong Kong Jockey Club offer an official developer API?+
What does get_race_results return when metadata fields like venue or class are empty?+
venue, class, distance, going, and course fields are returned as empty strings when the underlying race page does not expose that information in a parseable structure. The finishers and dividends arrays are the consistently populated fields. If you need metadata for a specific race, cross-referencing the date and race_no inputs with fixture data from get_race_meeting_fixtures can help fill context gaps.Does the API return individual race-by-race form history or past performance records for a horse?+
get_horse_profile returns pedigree and ownership data but does not include a historical form record or race-by-race performance table. The API covers profile fields, season-level rankings, and meeting-level results. You can fork this API on Parse and revise it to add an endpoint targeting individual horse form history pages.Are overseas or simulcast races covered by get_race_results?+
get_race_results endpoint is scoped to HKJC-run race meetings identified by date and race number. get_race_meeting_fixtures does include overseas events in its eventList via the category field, but result retrieval for non-HKJC-hosted overseas races is not currently supported. You can fork this API on Parse and revise it to target overseas result pages if that coverage is needed.Can I retrieve standings for a prior season rather than the current season?+
get_jockey_ranking and get_trainer_ranking endpoints return current-season standings only and do not accept season or date parameters. Historical season rankings are not currently covered. You can fork this API on Parse and revise it to add season-scoped ranking endpoints.