Skip to content
Developer docsREST · JSON and PNG · /v1

Reference

API reference

Download OpenAPI

Explore every REST feed endpoint, its parameters and response fields. Request examples use your own key; response examples are illustrative, not live data. Enterprise MCP setup and tool arguments are covered in the separate MCP guide linked above.

All horse racing API endpoints

Send your key in X-API-Key from your server. Use region=uk for UK and Ireland; carry the same feed date and race identifiers into related calls. Tips require Enterprise. These summaries are generated from the same contract as the downloadable OpenAPI document.

GET/v1/racecardsUK and Irish racecards

List races and declared runners in the combined UK and Ireland daily feed (region=uk). Use the returned race, horse, jockey, trainer and course IDs for related requests, keeping date or tomorrow filters consistent. An empty list is a valid non-racing day. Requires active account approval. Time, weight and price strings are preserved, not converted.

Explore this API service and its FAQs
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Calendar day YYYY-MM-DD in the combined UK and Ireland feed. Historical depth and completeness are not guaranteed.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.
  • page — query, integer, optional. One-based page of the selected list. Beyond the last page, data is empty and meta.total remains the total before pagination.
  • limit — query, integer, optional. Maximum list items returned per page. A race item includes its nested runners; runners are not separately paginated.

Documented HTTP responses: 200, 400, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/tipsSaved UK and Irish selections (Enterprise)

Pre-generated selections, not guaranteed outcomes or calibrated probabilities. Stored retrieval only, never AI on demand. Optional date retrieves saved records only. Pending records have no selection; stale or withdrawn records must not be displayed as active tips. Shares the Enterprise 10/sec allowance.

Explore this API service and its FAQs
  • region — query, string, optional. Combined UK and Irish racing only.
  • date — query, string, optional. Saved analysis date in YYYY-MM-DD; defaults to today. Reads existing records without triggering AI generation.
  • status — query, string, optional. Filter before pagination. Use active for a customer-facing tips display; omit for the analysis history.
  • page — query, integer, optional. One-based page number, applied after the status filter.
  • limit — query, integer, optional. Maximum records per page, from 1 to 100.

Documented HTTP responses: 200, 403. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/races/{raceId}/tipSaved selection, two-sentence explanation and odds for one race

Retrieve a saved race analysis by its racecard ID and analysis date. Active selections include the saved explanation, odds and bet type. Read status before displaying a selection; requesting this endpoint does not generate a new analysis.

Explore this API service and its FAQs
  • region — query, string, optional. Combined UK and Irish racing only.
  • raceId — path, string, required. Race ID from a racecard or saved tips response for the selected date.
  • date — query, string, optional. Saved analysis date in YYYY-MM-DD; defaults to today.

Documented HTTP responses: 200, 403, 404. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/races/{raceId}/tip/explanationThe same saved explanation and version as the race tip

Read the stored explanation without another AI call. The version matches the saved race selection; explanation is null when no publishable selection exists. Use the full race-tip endpoint for runner details, odds, bet type and settlement.

Explore this API service and its FAQs
  • region — query, string, optional. Combined UK and Irish racing only.
  • raceId — path, string, required. Race ID from a racecard or saved tips response for the selected date.
  • date — query, string, optional. Saved analysis date in YYYY-MM-DD; defaults to today.

Documented HTTP responses: 200, 403, 404. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/races/{id}Get one race and its runners

Look up a race ID returned by racecards in the same region and day. This is a daily-feed lookup, not a global ID database. Missing races return 404.

Explore this API service and its FAQs
  • id — path, string, required. Opaque resource ID copied from the corresponding field in the selected daily feed. Treat IDs as strings.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/resultsList races with published finishers

Return only races with non-empty finishers in the selected feed, with source-supplied wagers where present. An empty list means no published results in that feed, not an API failure. Explicit UK archive dates have been sampled back to 2016; this does not guarantee every date is complete.

Explore this API service and its FAQs
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Calendar day YYYY-MM-DD in the combined UK and Ireland feed. Historical depth and completeness are not guaranteed.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.
  • page — query, integer, optional. One-based page of the selected list. Beyond the last page, data is empty and meta.total remains the total before pagination.
  • limit — query, integer, optional. Maximum list items returned per page. A race item includes its nested runners; runners are not separately paginated.

Documented HTTP responses: 200, 401, 403, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/results/{raceId}Get a published result by race ID

Return finishers and wagers for one race in the selected feed. A race with no published finishers returns 404, even when its racecard exists.

Explore this API service and its FAQs
  • raceId — path, string, required. Race ID returned by racecards or results for the same region and date.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/horses/searchSearch declared horses by name

Case-insensitive substring search over unique declared runners in the selected regional daily feed. This does not search a global or complete historical horse database. Results are paginated; no matches return an empty list.

Explore this API service and its FAQs
  • q — query, string, required. Horse-name substring to match, ignoring case. URL-encode the query value.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.
  • page — query, integer, optional. One-based page of the selected list. Beyond the last page, data is empty and meta.total remains the total before pagination.
  • limit — query, integer, optional. Maximum list items returned per page. A race item includes its nested runners; runners are not separately paginated.

Documented HTTP responses: 200, 401, 403, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/horses/{id}Get a declared horse profile

Return the horse as represented in the selected daily declarations, including connections, supplied form statistics and available bookmaker prices. Not a complete career profile. Missing strings are empty and missing collections are empty arrays.

Explore this API service and its FAQs
  • id — path, string, required. Opaque resource ID copied from the corresponding field in the selected daily feed. Treat IDs as strings.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/horses/{id}/formGet horse-specific supplied form statistics

Return every supplied summary form row, grouped by section: race record, conditions, headgear, class rating and connections where present. Discover horse IDs from racecards or paginated horse search in the same daily feed. Select raceId to retain declaration-specific conditions; without it the first declaration in feed order is selected and identified in the response. A declared horse without form returns form: []. Missing values are empty strings, distinct from zero. This is summary statistics, not verified race-by-race past performances or a complete career archive.

Explore this API service and its FAQs
  • id — path, string, required. Opaque resource ID copied from the corresponding field in the selected daily feed. Treat IDs as strings.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.
  • raceId — query, string, optional. Select this horse's declaration in the selected daily feed. A non-matching declaration returns 404.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/silks/{id}Download racing silks as PNG

Racing-colour PNG for a declared horse ID and raceId in the same regional daily feed. Requires image-feed activation and image redistribution approval. Coverage is partial: missing images return 404 with no substitutes. Not a photograph. Successful responses are binary PNG, not a JSON envelope.

Explore this API service and its FAQs
  • id — path, string, required. Horse ID, 1–12 digits, copied from a runner in the selected race.
  • raceId — query, string, required. Race ID containing this horse, 1–12 digits. Both IDs must be from the same selected region and day.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/jockeys/{id}Get daily jockey bookings and connections

Find bookings for this jockey across declared horses in the selected regional daily feed, including the horse-specific connections form section. Not standalone jockey career totals or comprehensive jockey performance analysis.

Explore this API service and its FAQs
  • id — path, string, required. Opaque resource ID copied from the corresponding field in the selected daily feed. Treat IDs as strings.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/trainers/{id}Get daily trainer bookings and connections

Find declared horses for this trainer in the selected regional daily feed. Each bookings item contains its horse, race ID and horse-specific connections form. The field is named bookings for both jockeys and trainers. This is not trainer career statistics.

Explore this API service and its FAQs
  • id — path, string, required. Opaque resource ID copied from the corresponding field in the selected daily feed. Treat IDs as strings.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/racecoursesList courses represented in the daily feed

List unique courses with racing in the selected regional feed. This is not a permanent directory of every racecourse. Source going is included when available.

Explore this API service and its FAQs
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Calendar day YYYY-MM-DD in the combined UK and Ireland feed. Historical depth and completeness are not guaranteed.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.
  • page — query, integer, optional. One-based page of the selected list. Beyond the last page, data is empty and meta.total remains the total before pagination.
  • limit — query, integer, optional. Maximum list items returned per page. A race item includes its nested runners; runners are not separately paginated.

Documented HTTP responses: 200, 401, 403, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/racecourses/{id}Get a course and its daily races

Look up a course ID from the same regional daily feed and return its course details plus matching races. No course geometry, images or historical course directory is implied.

Explore this API service and its FAQs
  • id — path, string, required. Opaque resource ID copied from the corresponding field in the selected daily feed. Treat IDs as strings.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/racecourses/{id}/weatherGet racecourse weather forecasts

Available on every plan with normal API-key authentication and account limits. Obtain id from racecards course.id or racecourses in the same daily feed. region=uk includes UK and Ireland. date and tomorrow select the racing feed used to find the course, NOT historical weather. Returns the latest available MET Norway forecast at verified venue coordinates, not on-track observations or official going. The forecast array is not paginated. Times are UTC, normally hourly initially and more widely spaced later. Match a race time only to a forecast within its time horizon. Rainfall covers the period after time, specified by precipitationPeriodHours. Missing values are null, not zero. Cache until meta.expiresAt; preserve meta.source attribution and licence links when displaying weather. Source refresh and availability are not guaranteed.

Explore this API service and its FAQs
  • id — path, string, required. Opaque resource ID copied from the corresponding field in the selected daily feed. Treat IDs as strings.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.

GET/v1/odds/{raceId}Get supplied bookmaker prices for a race

Return runners and their available bookmaker prices in the selected race. Bookmaker availability, each-way terms and price completeness vary. Strings preserve source values without implied decimal/fractional conversion. No exchange stream, every-bookmaker guarantee or price-movement history is implied.

Explore this API service and its FAQs
  • raceId — path, string, required. Race ID returned by racecards or results for the same region and date.
  • region — query, string, optional. Only uk is accepted. This combined feed includes UK and Irish meetings; Ireland is not a separate region code. All other regional feeds are excluded from customer access.
  • date — query, string, optional. Select YYYY-MM-DD rather than the current UK and Ireland feed. Continuous archive completeness is not guaranteed. Cannot combine with tomorrow=true.
  • tomorrow — query, boolean, optional. Select the documented tomorrow feed; cannot combine with date.

Documented HTTP responses: 200, 401, 403, 404, 405, 422, 429, 500, 503. Full schemas and examples are in the explorer below and the OpenAPI download.