---
title: "Odds Runner"
method: GET
path: "/v1/odds/{race_id}/{horse_id}"
tags: ["Odds", "Pro Plan"]
---

# Odds Runner

`GET /v1/odds/{race_id}/{horse_id}`

<h4>Get detailed pre-race runner odds data, including price movements, for UK and Irish racing.</h4><table><tbody><tr><td><b>Min. Required Plan</b></td><td>Pro</td></tr><tr><td><b>Rate Limit</b></td><td>5 requests per second</td></tr></tbody></table><p>ℹ️ Price movements, displayed in the 'history' fields, are available for runners in races from 2025-03-17 onwards.</p>

## Path parameters

- `race_id` string, required
- `horse_id` string, required

## Response `200`

Successful Response

- RaceRunnerOdds
  - `race_id` string, required — Unique identifier for the race, prefixed `rac_`.
  - `horse_id` string, required — Unique identifier for the horse, prefixed `hrs_`.
  - `horse` string, required — Horse name. Non-GB-bred horses carry a country suffix, e.g. `Mephisto (IRE)`.
  - `odds` RaceRunnerOddsBookmakers[], nullable — Bookmaker prices for the runner, with price history.
    - `bookmaker` string, nullable — Bookmaker or exchange the price is from.
    - `fractional` string, nullable — Price in fractional form, e.g. `15/8`. For exchanges this is a decimal number rather than a fraction.
    - `decimal` string, nullable — Price in decimal form, e.g. `2.88`.
    - `ew_places` string, nullable — Number of places paid each way. Empty for exchanges.
    - `ew_denom` string, nullable — Each-way fraction denominator, e.g. `4` for one quarter the odds. Empty for exchanges.
    - `updated` string, nullable — When this price was last captured, `YYYY-MM-DD HH:MM:SS`, UK local time.
    - `history` RaceRunnerOddsHistory[], nullable — Previous prices from this bookmaker for this runner.
      - `changed_at` string, required — When the price changed, as a timezone-aware ISO 8601 datetime.
      - `fractional` string, required — Price in fractional form, e.g. `15/8`. For exchanges this is a decimal number rather than a fraction.
      - `decimal` string, required — Price in decimal form, e.g. `2.88`.

## Other responses

- `404` — Not found
- `422` — Validation Error

---

[API](https://skmtc.net/theracingapi/apis/the-racing-api.md) · [All operations](https://skmtc.net/theracingapi/apis/the-racing-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/theracingapi/the-racing-api/revisions/2c05e3febd3a/schema)
