hkjc_race_results
Hong Kong horse racing results and historical form guide
Complete historical record of every Hong Kong horse race from the Jockey Club. Track individual horse performances across thousands of races with detailed finishing positions, winning margins, race times, and running styles. Perfect for form analysis, identifying patterns, and researching historical performance trends. Includes 60+ data points per race entry covering horse details, jockey and trainer information, race conditions, and performance metrics. Download ready-to-use Excel or CSV files for your own analysis.
Create a free account to subscribe and get full access — SQL queries, CSV/Excel downloads, and API.
Dataset Statistics
You're viewing a 20-row preview. Subscribe to unlock the full interactive data explorer, downloads, and SQL access.
| {'name': 'horse_id', 'type': 'String'} | {'name': 'race_date', 'type': 'DateTime'} | {'name': 'race_number', 'type': 'Int64'} | {'name': 'race_index', 'type': 'Nullable(String)'} | {'name': 'race_id', 'type': 'Nullable(String)'} | {'name': 'horse_name', 'type': 'Nullable(String)'} | {'name': 'horse_number', 'type': 'Nullable(Int64)'} | {'name': 'finishing_position', 'type': 'Int64'} | {'name': 'finishing_time_seconds', 'type': 'Nullable(Float64)'} | {'name': 'finishing_time', 'type': 'Nullable(String)'} | {'name': 'margin', 'type': 'Nullable(String)'} | {'name': 'margin_lengths', 'type': 'Nullable(Float64)'} | {'name': 'draw', 'type': 'Nullable(Int64)'} | {'name': 'odds', 'type': 'Nullable(Float64)'} | {'name': 'position_1', 'type': 'Nullable(String)'} | {'name': 'position_2', 'type': 'Nullable(String)'} | {'name': 'position_3', 'type': 'Nullable(String)'} | {'name': 'position_4', 'type': 'Nullable(String)'} | {'name': 'position_5', 'type': 'Nullable(String)'} | {'name': 'position_6', 'type': 'Nullable(String)'} | {'name': 'section_1_time', 'type': 'Nullable(String)'} | {'name': 'section_2_time', 'type': 'Nullable(String)'} | {'name': 'section_3_time', 'type': 'Nullable(String)'} | {'name': 'section_4_time', 'type': 'Nullable(String)'} | {'name': 'section_5_time', 'type': 'Nullable(String)'} | {'name': 'section_6_time', 'type': 'Nullable(String)'} | {'name': 'lbw_1', 'type': 'Nullable(String)'} | {'name': 'lbw_2', 'type': 'Nullable(String)'} | {'name': 'lbw_3', 'type': 'Nullable(String)'} | {'name': 'lbw_4', 'type': 'Nullable(String)'} | {'name': 'lbw_5', 'type': 'Nullable(String)'} | {'name': 'lbw_6', 'type': 'Nullable(String)'} | {'name': 'split_800m_600m_time', 'type': 'Nullable(Float64)'} | {'name': 'split_600m_400m_time', 'type': 'Nullable(Float64)'} | {'name': 'split_400m_200m_time', 'type': 'Nullable(Float64)'} | {'name': 'split_final_200m_time', 'type': 'Nullable(Float64)'} | {'name': 'section_1_vs_pace', 'type': 'Nullable(Float64)'} | {'name': 'section_2_vs_pace', 'type': 'Nullable(Float64)'} | {'name': 'section_3_vs_pace', 'type': 'Nullable(Float64)'} | {'name': 'section_4_vs_pace', 'type': 'Nullable(Float64)'} | {'name': 'section_5_vs_pace', 'type': 'Nullable(Float64)'} | {'name': 'section_6_vs_pace', 'type': 'Nullable(Float64)'} | {'name': 'venue_code', 'type': 'String'} | {'name': 'venue', 'type': 'Nullable(String)'} | {'name': 'surface_type', 'type': 'Nullable(String)'} | {'name': 'course_config', 'type': 'Nullable(String)'} | {'name': 'distance', 'type': 'Nullable(Int64)'} | {'name': 'distance_category', 'type': 'String'} | {'name': 'race_name', 'type': 'Nullable(String)'} | {'name': 'race_class', 'type': 'Nullable(String)'} | {'name': 'track_condition', 'type': 'Nullable(String)'} | {'name': 'field_size', 'type': 'Int64'} | {'name': 'jockey', 'type': 'Nullable(String)'} | {'name': 'jockey_allowance', 'type': 'Nullable(Int64)'} | {'name': 'trainer', 'type': 'Nullable(String)'} | {'name': 'owner', 'type': 'Nullable(String)'} | {'name': 'horse_colour', 'type': 'Nullable(String)'} | {'name': 'horse_sex', 'type': 'Nullable(String)'} | {'name': 'horse_age', 'type': 'Nullable(Int32)'} | {'name': 'horse_origin', 'type': 'Nullable(String)'} | {'name': 'import_type', 'type': 'Nullable(String)'} | {'name': 'import_date', 'type': 'Nullable(DateTime)'} | {'name': 'declared_horse_weight', 'type': 'Nullable(Int32)'} | {'name': 'sire', 'type': 'Nullable(String)'} | {'name': 'dam', 'type': 'Nullable(String)'} | {'name': 'dam_sire', 'type': 'Nullable(String)'} | {'name': 'is_winner', 'type': 'Nullable(UInt8)'} | {'name': 'is_top_three', 'type': 'Nullable(UInt8)'} | {'name': 'dead_heat', 'type': 'Nullable(Bool)'} | {'name': 'weight', 'type': 'Nullable(Int32)'} | {'name': 'gear', 'type': 'Nullable(String)'} | {'name': 'entry_rating', 'type': 'Nullable(Int64)'} | {'name': 'rating_type', 'type': 'String'} | {'name': 'total_stakes', 'type': 'Nullable(Float64)'} | {'name': 'season_stakes', 'type': 'Nullable(Float64)'} | {'name': 'no_of_starts', 'type': 'Nullable(String)'} | {'name': 'career_wins', 'type': 'Nullable(Int32)'} | {'name': 'career_seconds', 'type': 'Nullable(Int32)'} | {'name': 'career_thirds', 'type': 'Nullable(Int32)'} | {'name': 'career_total_starts', 'type': 'Nullable(Int32)'} | {'name': 'career_win_rate', 'type': 'Nullable(Float64)'} | {'name': 'race_url', 'type': 'Nullable(String)'} | {'name': 'video_replay_url', 'type': 'String'} | {'name': 'updated_at', 'type': 'Nullable(DateTime)'} |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Data Dictionary
Not ready to subscribe? Get notified when this dataset is updated.
Questions about this data?
Our data experts are ready to help clarify any aspects of this dataset.
Contact Our TeamThis is a premium dataset
Create an account to subscribe and get full access.