---
title: "Racecards Basic"
method: GET
path: "/v1/racecards/basic"
tags: ["Racecards", "Basic Plan"]
---

# Racecards Basic

`GET /v1/racecards/basic`

<h4>Get racecards for today and tomorrow</h4><table><tbody><tr><td><b>Min. Required Plan</b></td><td>Basic</td></tr><tr><td><b>Rate Limit</b></td><td>2 requests per second</td></tr></tbody></table>

## Query parameters

- `day` string, nullable — Query racecards by day:<br> today, tomorrow
- `region_codes` string[], nullable — <p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>
- `course_ids` string[], nullable — Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.
- `limit` integer, nullable
- `skip` integer, nullable

## Response `200`

Successful Response

- RacecardsPage
  - `racecards` Racecard[], required — The matching racecards.
    - `race_id` string, required — Unique identifier for the race, prefixed `rac_`.
    - `course` string, required — Racecourse name. Non-GB courses carry a country suffix, e.g. `Ballinrobe (IRE)`.
    - `course_id` string, required — Unique identifier for the racecourse, prefixed `crs_`.
    - `date` string, required — Date of the race, `YYYY-MM-DD`, in local track time.
    - `off_time` string, required — Scheduled off time as shown on the racecard, local track time, 12-hour clock without meridiem, e.g. `2:15`.
    - `off_dt` string, nullable — Scheduled off time as a timezone-aware ISO 8601 datetime, e.g. `2026-08-04T14:15:00+01:00`. Prefer this over `off_time` and `date` for any time arithmetic.
    - `race_name` string, required — Full race title, including sponsor.
    - `distance_round` string, required — Race distance rounded to the nearest furlong, e.g. `7f`.
    - `distance` string, required — Exact race distance in miles, furlongs and yards, e.g. `0m7f6y`. The miles component is always present, including when zero.
    - `distance_f` string, required — Exact race distance in furlongs as a decimal string, e.g. `7.0`.
    - `region` string, required — Region code for the racecourse, e.g. `GB`, `IRE`.
    - `pattern` string, required — Pattern or graded status where applicable, e.g. `Group 1`, `Listed`. Empty for ordinary races.
    - `sex_restriction` string, nullable — Sex restriction on entry, e.g. `F&M` for fillies and mares. Empty when the race is open.
    - `race_class` string, required — Official race class, e.g. `Class 3`. Empty where the racing authority does not class the race, which includes most Irish racing.
    - `type` string, required — Race type, e.g. `Flat`, `Hurdle`, `Chase`, `NH Flat`.
    - `age_band` string, required — Age restriction on entry, e.g. `2yo`, `4yo+`.
    - `rating_band` string, required — Official rating band for a handicap, e.g. `0-100`. Empty for non-handicaps.
    - `prize` string, required — Prize money to the winner, as a formatted string including the currency symbol, e.g. `£6,804`.
    - `field_size` string, required — Number of declared runners, as a string.
    - `going_detailed` string, nullable, required — The racecourse's own detailed going description, which may vary by section of track, e.g. `GOOD TO FIRM, Good in places`. Empty when not published.
    - `rail_movements` string, nullable, required — **Not populated since June 2026.** Always returns an empty string. May return in a future release.
    - `stalls` string, nullable, required — Stalls position for flat races, e.g. `6f - Inside; Remainder - Centre`. Empty when not published or not applicable.
    - `weather` string, nullable, required — Weather at the course, e.g. `Overcast`. Empty when not published.
    - `going` string, required — Standardised official going, e.g. `Good To Firm`.
    - `surface` string, nullable, required — Racing surface, e.g. `Turf`, `AW`.
    - `runners` AppModelsRacecardsRunner[], required — Declared runners. Non-runners remain in the array with `number` set to `NR`.
      - `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)`.
      - `dob` string, nullable, required — Date of birth, `YYYY-MM-DD`.
      - `age` string, nullable, required — Age in years at the date of the race, as a string.
      - `sex` string, nullable, required — Sex in full, e.g. `gelding`, `filly`, `colt`, `mare`.
      - `sex_code` string, nullable, required — Single-letter sex code, e.g. `G`, `F`, `C`, `M`.
      - `colour` string, nullable, required — Coat colour abbreviation, e.g. `b` bay, `gr` grey, `ch` chestnut.
      - `region` string, nullable, required — Region the horse was bred in, e.g. `GB`, `IRE`, `USA`.
      - `breeder` string, nullable, required — Name of the breeder. Empty when not published.
      - `dam` string, required — The horse's dam.
      - `dam_id` string, required — Unique identifier for the dam, prefixed `dam_`.
      - `dam_region` string, nullable — Region the dam was bred in.
      - `sire` string, required — The horse's sire.
      - `sire_id` string, required — Unique identifier for the sire, prefixed `sir_`.
      - `sire_region` string, nullable — Region the sire was bred in.
      - `damsire` string, required — The dam's sire.
      - `damsire_id` string, required — Unique identifier for the damsire, prefixed `dsi_`.
      - `damsire_region` string, nullable — Region the damsire was bred in.
      - `trainer` string, required — Current trainer of the horse.
      - `trainer_id` string, required — Unique identifier for the trainer, prefixed `trn_`.
      - `trainer_location` string, nullable — The trainer's base, e.g. `Newmarket, Suffolk`.
      - `trainer_14_days` RunnerTrainer14Days
        - `runs` string, nullable — Number of runners the trainer has sent out in the last 14 days.
        - `wins` string, nullable — Number of those runners that won.
        - `percent` string, nullable — Strike rate — wins as a percentage of runs.
      - `owner` string, required — Current owner of the horse.
      - `owner_id` string, required — Unique identifier for the owner, prefixed `own_`.
      - `prev_trainers` RunnerPrevTrainer[], nullable — Previous trainers, each with the date the horse changed yard.
        - `trainer` string, nullable — A previous trainer of the horse.
        - `trainer_id` string, nullable — Unique identifier for the trainer, prefixed `trn_`.
        - `change_date` string, nullable — Date the horse changed yard, `YYYY-MM-DD`.
      - `prev_owners` RunnerPrevOwner[], nullable — Previous owners, each with the date the horse changed hands.
        - `owner` string, nullable — A previous owner of the horse.
        - `owner_id` string, nullable — Unique identifier for the owner, prefixed `own_`.
        - `change_date` string, nullable — Date the horse changed hands, `YYYY-MM-DD`.
      - `comment` string, nullable — Our analyst's pre-race note on the runner. Empty when we have no note.
      - `spotlight` string, nullable — **Removed June 2026.** Always returns an empty string. Use `comment` for a pre-race analyst note on the runner.
      - `quotes` RunnerQuote[], nullable — **Removed June 2026.** Always returns an empty array.
        - `date` string, nullable
        - `horse` string, nullable
        - `horse_id` string, nullable
        - `race` string, nullable
        - `race_id` string, nullable
        - `course` string, nullable
        - `course_id` string, nullable
        - `distance_f` string, nullable
        - `distance_y` string, nullable
        - `quote` string, nullable
      - `stable_tour` RunnerStableTour[], nullable — **Removed June 2026.** Always returns an empty array.
        - `quote` string, nullable
      - `medical` RunnerMedical[], nullable — Reported medical procedures, each with a `date` and a `type`, e.g. wind surgery.
        - `date` string, nullable — Date of the procedure, `YYYY-MM-DD`.
        - `type` string, nullable — Type of procedure, e.g. wind surgery.
      - `number` string, required — Saddlecloth number. `NR` marks a non-runner — check this before treating the entry as a live runner.
      - `draw` string, required — Stall number for flat races. Empty for jumps racing.
      - `headgear` string, nullable — Headgear worn, as a letter code, e.g. `b` blinkers, `v` visor, `t` tongue tie, `h` hood, `p` cheekpieces. Empty when none.
      - `headgear_run` string, nullable — `1` when this is the first run in this headgear. Empty otherwise.
      - `wind_surgery` string, nullable — Wind surgery code where the horse has had a procedure. Empty when none.
      - `wind_surgery_run` string, nullable — `1` when this is the first run since wind surgery. Empty otherwise.
      - `past_results_flags` string[], nullable — Course and distance form flags, e.g. `C` course winner, `D` distance winner, `CD` course and distance winner, `BF` beaten favourite last time out.
      - `lbs` string, required — Weight to be carried, in pounds.
      - `ofr` string, required — Official handicap rating (the horse's mark). `-` when the horse is unrated.
      - `rpr` string, required — **Removed June 2026.** Always returns an empty string. Use `performance_rating` for a performance figure.
      - `ts` string, required — **Removed June 2026.** Always returns an empty string. Use `speed_rating` for a speed figure.
      - `performance_rating` string, nullable — Our performance rating for the horse, as a whole number. `-` when we have no rating, which includes unraced horses.
      - `speed_rating` string, nullable — Our speed rating for the horse, as a whole number. `-` when we have no rating.
      - `jockey` string, required — Booked jockey. A claim is shown in brackets after the name, e.g. `Adam Tracey(7)`.
      - `jockey_id` string, required — Unique identifier for the jockey, prefixed `jky_`.
      - `silk_url` string, nullable — URL of the owner's silks as an image.
      - `last_run` string, required — Days since the horse last ran. Empty for a horse that has not run before.
      - `form` string, nullable, required — Recent finishing positions, most recent last. `-` separates seasons and `/` separates years off. Empty for an unraced horse.
      - `trainer_rtf` string, nullable, required — Our trainer "run to form" figure, 0-100, as a percentage of the trainer's recent runners performing to expectation. Empty when we have no figure.
    - `big_race` boolean, nullable — `true` when the race is one of our featured races.
    - `is_abandoned` boolean, nullable — `true` when the race has been abandoned.
    - `race_status` string, nullable — Current status of the race: `entry` once entries are published, `declared` once final declarations are made, `result` once a result has been published. May be empty on older racecards.
  - `total` integer, required — Total number of matching records.
  - `limit` integer, required — The page size applied.
  - `skip` integer, required — The number of records skipped.
  - `query` array[], required — The query parameters this response was generated from, echoed back as name/value pairs.
    - unknown[]
      - unknown

## 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/e03eaf355a6e/schema)
