hkjc_races

PREMIUM 31,037 rows

Hong Kong horse race specifications and historical archive

Complete catalog of every Hong Kong horse race from 1977 to present. Search and filter races by venue, distance, class, track conditions, and more. Each race includes specifications, video replay links, and pace analysis data. Perfect for historical research, race analysis, and identifying patterns by track conditions or distance. Contains more than 30,000 races across nearly 50 years of Hong Kong racing history.

Premium dataset

Evaluate it in full below: the evidence and a working sample are open to everyone. Buy or subscribe to unlock the complete dataset — your account is created automatically at checkout.

See access options

The evidence

Data coverage
May 1977 – present
Pass access: Most recent 24 months, rolling · Full Archive: May 1977 – present
Volume
31,037 rows
Last updated
15 July, 2026 (6 days ago)
Schema & column quality (28 columns)
Column Type Description Populated Distinct
race_id String Unique race identifier (format: ST_20250928_R01)
race_date DateTime Date of the race (YYYY-MM-DD)
venue_code String Venue code (ST=Sha Tin, HV=Happy Valley)
venue Nullable(String) Full venue name (Sha Tin / Happy Valley)
race_number Int64 Race number within the meeting (1-11)
racename Nullable(String) Official race name (e.g., 'HONG KONG CUP')
distance Nullable(Int64) Race distance in meters (1000-2400m typical)
race_class Nullable(String) Race class (Class 1-5, Group One/Two/Three, Griffin, etc.)
track_going Nullable(String) Official track condition (Good to Firm, Good, Yielding, etc.)
post_time Nullable(DateTime) Scheduled race start time
field_size Int64 Number of horses in the race (1-14 typical)
field_size_effective Int64 Effective (starting) field size — distinct horses that actually started, i.e. field_size minus scratchings, withdrawals and non-runners
rating_type String Rating band for the race (H=Handicap, I=International)
race_status Nullable(String) Race status (completed, cancelled, etc.)
distance_category String Distance grouping for easy filtering: Sprint (1000-1200m), Mile (1400-1650m), Middle (1800-2000m), Long (2200m+)
track_condition_category Nullable(String) Simplified track condition grouping (Firm, Good, Soft, etc.)
race_year UInt16 Year of the race for grouping
race_month UInt8 Month of the race (1-12)
days_since_race Int64 Days since this race was run (for recency filtering)
penetrometer_reading Nullable(Float64) Penetrometer reading measuring turf softness (higher = softer ground). Available for races from late 2024.
hammer_reading Nullable(Float64) Hammer reading measuring turf firmness. Available for races from late 2024.
video_replay_url String Direct URL to watch the race video replay
pass_through_url String URL for pass-through camera angle (if available)
aerial_replay_url String URL for aerial camera angle (if available)
source_url Nullable(String) Original source URL for the race data
race_url Nullable(String) HKJC race page URL
updated_at Nullable(DateTime) Timestamp when record was last updated
id String 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.

Sample data

Last 12 months of race meetings, full schema, no row cap. Use this to evaluate column coverage and update cadence before subscribing or buying the snapshot.

SELECT * FROM renavon_exports.hkjc_races LIMIT 50 0.02s
Loading data… | Click a header to sort; drag headers to reorder.

Choose your access

A Pass gives you freshness within a rolling window. The Full Archive gives you the full history we hold for the dataset, frozen at purchase. They solve different problems, and they work together.

Satisfaction guarantee: 14-day money-back. Details →

One-off purchase

Full Archive

The full history we hold, frozen at purchase. Yours to keep.

Full details →
What you get
The full history we hold, to your purchase date
History depth
May 1977 – present, in full
Updates
None. Frozen at purchase
Delivery
Gzipped CSV, opens in Excel; link valid 7 days
API access
Not included
US$99
one-time purchase

Pass subscription

Racing Pass Pro

Continuously updated, with API access.

View full package →
Access window
Most recent 24 months, rolling
Updates
Continuous, within hours of the source
Delivery
API, SQL and downloads
Exports
1,000,000 rows/month included
US$149
per month
SAVE 17%
US$1490
per year
(US$124.17/month)

Pass subscription

Racing Pass Enterprise

Continuously updated, with API access.

View full package →
Access window
Most recent 24 months, rolling
Updates
Continuous, within hours of the source
Delivery
API, SQL and downloads
Exports
Uncapped
US$499
per month
SAVE 17%
US$4990
per year
(US$415.83/month)

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 Team