hkjc_pool_investments
Hong Kong horse racing betting pool investment data
Download a file
CSV · Excel · Parquet · JSON. Filtered exports.
See pricingQuery with SQL
DBeaver, DuckDB, MotherDuck, or HTTPS. Sub-second latency.
Open connection detailsConnect to AI
MCP for Claude Desktop, Cursor, ChatGPT, Goose. 1-line install.
See setupBetting pool investment snapshots showing how pools accumulate before races. Time-series data for analyzing betting patterns and market movements. Covers all pool types including WIN, PLACE, QUINELLA, FORECAST, and exotics. One row per pool per race per snapshot time.
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.
The evidence
Schema & column quality (20 columns)
Scroll table sideways to see more columns →
| Column | Type | Description | Populated | Distinct |
|---|---|---|---|---|
| race_date | DateTime | Date of the race | — | — |
| venue_code | String | Venue code (ST=Sha Tin, HV=Happy Valley) | — | — |
| race_number | Nullable(Int32) | Race number | — | — |
| race_id | String | Generated race identifier for joins | — | — |
| venue | Nullable(String) | Full venue name | — | — |
| race_class | Nullable(String) | Race class (denormalized from races) | — | — |
| distance | Nullable(Int64) | Race distance in meters | — | — |
| distance_category | String | Distance category (Sprint/Mile/Middle/Long) | — | — |
| pool_id | String | Unique pool identifier | — | — |
| odds_type | String | Pool type (WIN, PLA, QIN, QPL, FCT, TCE, TRI, etc.) | — | — |
| pool_category | String | Pool category grouping | — | — |
| pool_status | String | Current pool status | — | — |
| sell_status | String | Selling status (open/closed) | — | — |
| leg_number | Nullable(Int64) | Leg number for multi-leg pools | — | — |
| investment_amount | Nullable(Int64) | Total investment in pool (HKD) | — | — |
| last_update_time | Nullable(DateTime) | Time of last investment update | — | — |
| snapshot_timestamp | DateTime | When this snapshot was captured | — | — |
| minutes_to_post | Nullable(Int64) | Minutes until race post time (negative = after post) | — | — |
| updated_at | DateTime | Timestamp when record was last scraped | — | — |
| 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. | — | — |
Last 12 months of pool investments per race, full schema. Use to gauge liquidity by pool type before committing.
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.
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
- Jan 2026 – present, in full
- Updates
- None. Frozen at purchase
- Delivery
- Gzipped CSV, opens in Excel; link valid 7 days
- API access
- Not included
- 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
Included Datasets
- Access window
- Most recent 24 months, rolling
- Updates
- Continuous, within hours of the source
- Delivery
- API, SQL and downloads
- Exports
- Uncapped
Included Datasets
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