# Czech horse racing results, 1997–2026

**Study Czech domestic horse-racing starts from 1997 through the latest published result.** This table combines Jockey Club Czech Republic meeting results and retrieval-time horse profiles with ČHMÚ weather observations and source provenance. It is intended as a raw, feature-engineering-ready base table rather than a finished model matrix. ## Coverage - **Window:** 1997-01-01 through the latest p…

Czech horse racing results, 1997–2026 is an open, machine-readable dataset published on Mostly Right as immutable Parquet versions, with a documented column schema, a JSON query API and a direct download. Its first rows are free to read and it is open to AI agents.

## Facts

- Slug: `czech-horse-racing-results-19972026`
- Canonical page: https://mostlyright.md/datasets/czech-horse-racing-results-19972026
- Publisher: mostlyrightmd (https://mostlyright.md/publishers/mostlyrightmd)
- Published: 2026-09-20T18:46:20.514Z
- Tables: 1
- Formats: Apache Parquet (download), JSON (query and sample)
- Cost: the first 500 rows of each table are free to everyone; querying and downloading need a free account and count against a monthly free allowance unless the workspace is subscribed
- Metadata API: `GET https://mostlyright.md/api/v2/public/datasets/czech-horse-racing-results-19972026`
- Topics: horse racing, jockey club czech republic, czech hydrometeorological institute, sports statistics, race results, meteorological data

## How to use it

1. Read a table's schema — no account needed.
2. Fetch its published sample rows — no account needed.
   The first 500 rows of every table, in stored order, are free to everyone, with or without an account. Without an account you get that sample and nothing else: no filter, sort, search, download or page past row 500.
3. Sign in at https://mostlyright.md/login, connect this dataset to a workspace on its page, and create an `mr_use_` key.
4. Query bounded JSON, or download the complete Parquet snapshot and read it locally.
   A free workspace may read 100,000 rows and run 1,000 queries a UTC month past the sample. The allowance is shared by everyone in the workspace, and a free workspace may have any number of members. Reads count against the workspace whose data or key they use. A subscribed workspace is never counted, for anyone working in it.

Agents can do all of this over MCP at `https://mostlyright.md/api/mcp` — searching, reading schemas and sampling rows work with no credential at all.

## Table: horse_race_starts

- Table id: `5ebcc94b-d479-414e-88db-519f7ec6811a`
- Slug: `horse-race-starts`
- Immutable version: `079a5674-4e54-50d8-8578-5b5d011bcbab`
- Schema: `GET https://mostlyright.md/api/v2/public/tables/5ebcc94b-d479-414e-88db-519f7ec6811a/schema`
- Sample rows, no key: `GET https://mostlyright.md/api/v2/public/tables/5ebcc94b-d479-414e-88db-519f7ec6811a/preview`
- Bounded JSON query: `POST https://mostlyright.md/api/v2/public/tables/5ebcc94b-d479-414e-88db-519f7ec6811a/query` with `x-api-key: mr_use_…`
- Full Parquet snapshot: `GET https://mostlyright.md/api/v2/public/tables/5ebcc94b-d479-414e-88db-519f7ec6811a/current` with `x-api-key: mr_use_…` (application/vnd.apache.parquet)

### Columns (83)

| Column | Type | Description |
| --- | --- | --- |
| `meeting_id` | string | The source meeting identifier. |
| `race_id` | string | The source race identifier. |
| `race_date` | date | The local date on which the race was run. |
| `venue` | string | The published Czech racecourse name. |
| `race_number` | integer | The published race number within the meeting. |
| `race_name` | string | The published race name. |
| `scheduled_start_time` | timestamp_utc | The published scheduled local start represented with the Europe/Prague UTC offset. |
| `actual_start_time` | timestamp_utc | The actual start timestamp when explicitly published. |
| `race_discipline` | string | The published flat or jump-racing discipline text. |
| `race_class` | string | The published race class or category. |
| `race_type` | string | The published race type. |
| `distance_m` | decimal | The published race distance in metres. |
| `age_restriction` | string | The published age eligibility restriction. |
| `prize_amount` | decimal | The advertised total prize in the original currency. |
| `prize_currency` | string | The original published prize currency. |
| `declared_starters` | integer | The published starter count. |
| `track_condition` | string | The published going description. |
| `track_condition_score` | decimal | The published numeric going measurement. |
| `winning_time_raw` | string | The published winning time text. |
| `race_conditions_raw` | string | The original published race conditions text. |
| `horse_id` | string | The source horse identifier. |
| `horse_name` | string | The published horse name. |
| `horse_country` | string | The published horse country suffix. |
| `saddle_number` | string | The published saddlecloth number. |
| `horse_age_on_race_day` | integer | The horse age published for this entry. |
| `horse_sex_on_race_day` | string | The horse sex published for this entry. |
| `carried_weight_kg` | decimal | The published carried weight in kilograms. |
| `equipment_raw` | string | The original published equipment codes. |
| `stable_on_race_day` | string | The stable published for the entry. |
| `jockey_id` | string | The source jockey identifier. |
| `jockey_name` | string | The published jockey name. |
| `trainer_id` | string | The source trainer identifier. |
| `trainer_name` | string | The published trainer name. |
| `finish_position` | integer | The numeric finishing position; non-finishers remain null. |
| `result_status_raw` | string | The original result text, including non-finisher statuses. |
| `finish_time_raw` | string | The published individual finish time text. |
| `margin_raw` | string | The published distance or margin text. |
| `earnings_amount` | decimal | The published entry earnings in the original currency. |
| `earnings_currency` | string | The original published earnings currency when stated. |
| `horse_date_of_birth` | date | The birth date published on the current horse profile. |
| `horse_color` | string | The coat colour published on the current horse profile. |
| `horse_sex_current` | string | The sex recorded when the profile was retrieved. |
| `sire_id` | string | The source identifier of the published sire. |
| `sire_name` | string | The published sire name. |
| `dam_id` | string | The source identifier of the published dam. |
| `dam_name` | string | The published dam name. |
| `damsire_id` | string | The source identifier of the published maternal grandsire. |
| `damsire_name` | string | The published maternal grandsire name. |
| `breeder` | string | The breeder published on the current profile. |
| `breed_classification` | string | The breed or classification published on the current profile. |
| `stable_current` | string | The stable recorded when the profile was retrieved. |
| `profile_retrieved_at` | timestamp_utc | The timezone-aware timestamp when the profile page was retrieved. |
| `weather_station_id` | string | The selected Czech Hydrometeorological Institute station identifier. |
| `weather_station_name` | string | The selected weather station name. |
| `weather_station_distance_km` | decimal | The great-circle distance from racecourse to selected station. |
| `weather_date` | date | The publisher-labelled observation date joined to the race date. |
| `precipitation_mm` | decimal | The published daily precipitation measurement. |
| `temperature_min_c` | decimal | The published daily minimum air temperature. |
| `temperature_max_c` | decimal | The published daily maximum air temperature. |
| `meeting_source_url` | string | The source meeting page URL. |
| `horse_profile_source_url` | string | The source horse profile URL. |
| `meeting_retrieved_at` | timestamp_utc | The timezone-aware timestamp when the meeting page was retrieved. |
| `meeting_content_hash` | string | The SHA-256 digest of the retrieved meeting page content. |
| `profile_content_hash` | string | The SHA-256 digest of the retrieved horse profile page content. |
| `card_number` | integer | [PRE-RACE] Published race card number extracted from the race name. |
| `equivalent_rating` | integer | [POST-RACE] Published equivalent performance rating; exclude from pre-race features. |
| `sectionals_csv` | string | [POST-RACE] Published intermediate times preserved as comma-separated raw text. |
| `race_margins_raw` | string | [POST-RACE] Published race-level margins/verdict text. |
| `course_code` | string | [PRE-RACE] Stable short code mapped from the published venue. |
| `horse_profile_name_raw` | string | [RETRIEVAL-TIME] Raw horse name text from the fetched profile. |
| `horse_text_raw` | string | [PRE-RACE] Raw horse cell text on the meeting result page. |
| `weight_raw` | string | [PRE-RACE] Raw carried-weight text before numeric parsing. |
| `earnings_raw` | string | [POST-RACE] Raw earnings tooltip text. |
| `race_header_raw` | string | [POST-RACE PAGE] Raw published race header text. |
| `race_spec_raw` | string | [PRE-RACE] Raw published race specification text. |
| `prize_raw` | string | [PRE-RACE] Raw advertised-prize text. |
| `track_condition_raw` | string | [POST-RACE] Raw published going text. |
| `result_raw` | string | [POST-RACE] Raw published result summary text. |
| `meeting_raw` | string | [PRE-RACE] Raw meeting date and venue text. |
| `horse_href` | string | [PROVENANCE] Raw horse profile link found on the meeting page. |
| `profile_dob_age_raw` | string | [RETRIEVAL-TIME] Raw profile date-of-birth and age text. |
| `profile_color_sex_raw` | string | [RETRIEVAL-TIME] Raw profile color and sex text. |
| `profile_layout_valid` | integer | [QUALITY] 1 when all expected profile labels match the certified layout, otherwise 0. |

## Citing this dataset

Cite the dataset by name and canonical URL (https://mostlyright.md/datasets/czech-horse-racing-results-19972026), the table, and the immutable `version_id` the rows came from. A query response carries `table.version_id` and `table.content_digest`; a download carries a strong ETag and a `Content-Digest` header.
