The Racing API · Capability
The Racing API — Horses
The Racing API — Horses. 5 operations. Lead operation: The Racing API Horse Search. Self-contained Naftiko capability covering one The Racing Api business surface.
What You Can Do
GET
Horsesearchv1horsessearchget
— The Racing API Horse Search
/v1/v1/horses/search
GET
Horsedistancetimeanalysisv1horseshorseidanalysisdistancetimesget
— The Racing API Horse Distance Time Analysis
/v1/v1/horses/{horse-id}/analysis/distance-times
GET
Horseprov1horseshorseidproget
— The Racing API Horse Pro
/v1/v1/horses/{horse-id}/pro
GET
Horseresultsv1horseshorseidresultsget
— The Racing API Horse Results
/v1/v1/horses/{horse-id}/results
GET
Horsestandardv1horseshorseidstandardget
— The Racing API Horse Standard
/v1/v1/horses/{horse-id}/standard
MCP Tools
racing-api-horse-search
The Racing API Horse Search
read-only
idempotent
racing-api-horse-distance-time
The Racing API Horse Distance Time Analysis
read-only
idempotent
racing-api-horse-pro
The Racing API Horse Pro
read-only
idempotent
racing-api-horse-results
The Racing API Horse Results
read-only
idempotent
racing-api-horse-standard
The Racing API Horse Standard
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: The Racing API — Horses
description: 'The Racing API — Horses. 5 operations. Lead operation: The Racing API Horse Search. Self-contained Naftiko
capability covering one The Racing Api business surface.'
tags:
- The Racing Api
- Horses
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
THE_RACING_API_API_KEY: THE_RACING_API_API_KEY
capability:
consumes:
- type: http
namespace: the-racing-horses
baseUri: https://api.theracingapi.com
description: The Racing API — Horses business capability. Self-contained, no shared references.
resources:
- name: v1-horses-search
path: /v1/horses/search
operations:
- name: horsesearchv1horsessearchget
method: GET
description: The Racing API Horse Search
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: query
type: string
required: true
- name: v1-horses-horse_id-analysis-distance-times
path: /v1/horses/{horse_id}/analysis/distance-times
operations:
- name: horsedistancetimeanalysisv1horseshorseidanalysisdistancetimesget
method: GET
description: The Racing API Horse Distance Time Analysis
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: horse_id
in: path
type: string
required: true
- name: start_date
in: query
type: string
description: <p>Query from date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: end_date
in: query
type: string
description: <p>Query to date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: region
in: query
type: string
description: <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<
- name: course
in: query
type: string
description: 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>.
- name: type
in: query
type: string
description: '<p>Query by race type</p><p>Options: <code>chase</code>, <code>flat</code>, <code>hurdle</code>, <code>nh_flat</code></p>'
- name: going
in: query
type: string
description: '<p>Query by going</p><p>Options: <code>fast</code>, <code>firm</code>, <code>good</code>, <code>good_to_firm</code>,
<code>good_to_soft</code>, <code>good_to_yi'
- name: race_class
in: query
type: string
description: '<p>Query by class</p><p>Options: <code>class_1</code>, <code>class_2</code>, <code>class_3</code>,
<code>class_4</code>, <code>class_5</code>, <code>class_6</co'
- name: min_distance_y
in: query
type: string
description: <p>Query by minimum race distance (yards)</p>
- name: max_distance_y
in: query
type: string
description: <p>Query by maximum race distance (yards)</p>
- name: age_band
in: query
type: string
description: '<p>Query by age band</p><p>Options: <code>10yo+</code>, <code>2-3yo</code>, <code>2yo</code>, <code>2yo+</code>,
<code>3-4yo</code>, <code>3-5yo</code>, <code>3'
- name: sex_restriction
in: query
type: string
description: '<p>Query by sex restriction</p><p>Options: <code>c&f</code>, <code>c&g</code>, <code>f</code>, <code>f&m</code>,
<code>m</code>, <code>m&g</code></p>'
- name: v1-horses-horse_id-pro
path: /v1/horses/{horse_id}/pro
operations:
- name: horseprov1horseshorseidproget
method: GET
description: The Racing API Horse Pro
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: horse_id
in: path
type: string
required: true
- name: v1-horses-horse_id-results
path: /v1/horses/{horse_id}/results
operations:
- name: horseresultsv1horseshorseidresultsget
method: GET
description: The Racing API Horse Results
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: horse_id
in: path
type: string
required: true
- name: start_date
in: query
type: string
description: <p>Query from date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: end_date
in: query
type: string
description: <p>Query to date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: region
in: query
type: string
description: <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<
- name: course
in: query
type: string
description: 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>.
- name: type
in: query
type: string
description: '<p>Query by race type</p><p>Options: <code>chase</code>, <code>flat</code>, <code>hurdle</code>, <code>nh_flat</code></p>'
- name: going
in: query
type: string
description: '<p>Query by going</p><p>Options: <code>fast</code>, <code>firm</code>, <code>good</code>, <code>good_to_firm</code>,
<code>good_to_soft</code>, <code>good_to_yi'
- name: race_class
in: query
type: string
description: '<p>Query by class</p><p>Options: <code>class_1</code>, <code>class_2</code>, <code>class_3</code>,
<code>class_4</code>, <code>class_5</code>, <code>class_6</co'
- name: min_distance_y
in: query
type: string
description: <p>Query by minimum race distance (yards)</p>
- name: max_distance_y
in: query
type: string
description: <p>Query by maximum race distance (yards)</p>
- name: age_band
in: query
type: string
description: '<p>Query by age band</p><p>Options: <code>10yo+</code>, <code>2-3yo</code>, <code>2yo</code>, <code>2yo+</code>,
<code>3-4yo</code>, <code>3-5yo</code>, <code>3'
- name: sex_restriction
in: query
type: string
description: '<p>Query by sex restriction</p><p>Options: <code>c&f</code>, <code>c&g</code>, <code>f</code>, <code>f&m</code>,
<code>m</code>, <code>m&g</code></p>'
- name: limit
in: query
type: string
- name: skip
in: query
type: string
- name: v1-horses-horse_id-standard
path: /v1/horses/{horse_id}/standard
operations:
- name: horsestandardv1horseshorseidstandardget
method: GET
description: The Racing API Horse Standard
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: horse_id
in: path
type: string
required: true
authentication:
type: basic
username: '{{env.THE_RACING_API_USER}}'
password: '{{env.THE_RACING_API_PASS}}'
exposes:
- type: rest
namespace: the-racing-horses-rest
port: 8080
description: REST adapter for The Racing API — Horses. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/horses/search
name: v1-horses-search
description: REST surface for v1-horses-search.
operations:
- method: GET
name: horsesearchv1horsessearchget
description: The Racing API Horse Search
call: the-racing-horses.horsesearchv1horsessearchget
with:
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/horses/{horse-id}/analysis/distance-times
name: v1-horses-horse-id-analysis-distance-times
description: REST surface for v1-horses-horse_id-analysis-distance-times.
operations:
- method: GET
name: horsedistancetimeanalysisv1horseshorseidanalysisdistancetimesget
description: The Racing API Horse Distance Time Analysis
call: the-racing-horses.horsedistancetimeanalysisv1horseshorseidanalysisdistancetimesget
with:
horse_id: rest.horse_id
start_date: rest.start_date
end_date: rest.end_date
region: rest.region
course: rest.course
type: rest.type
going: rest.going
race_class: rest.race_class
min_distance_y: rest.min_distance_y
max_distance_y: rest.max_distance_y
age_band: rest.age_band
sex_restriction: rest.sex_restriction
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/horses/{horse-id}/pro
name: v1-horses-horse-id-pro
description: REST surface for v1-horses-horse_id-pro.
operations:
- method: GET
name: horseprov1horseshorseidproget
description: The Racing API Horse Pro
call: the-racing-horses.horseprov1horseshorseidproget
with:
horse_id: rest.horse_id
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/horses/{horse-id}/results
name: v1-horses-horse-id-results
description: REST surface for v1-horses-horse_id-results.
operations:
- method: GET
name: horseresultsv1horseshorseidresultsget
description: The Racing API Horse Results
call: the-racing-horses.horseresultsv1horseshorseidresultsget
with:
horse_id: rest.horse_id
start_date: rest.start_date
end_date: rest.end_date
region: rest.region
course: rest.course
type: rest.type
going: rest.going
race_class: rest.race_class
min_distance_y: rest.min_distance_y
max_distance_y: rest.max_distance_y
age_band: rest.age_band
sex_restriction: rest.sex_restriction
limit: rest.limit
skip: rest.skip
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/horses/{horse-id}/standard
name: v1-horses-horse-id-standard
description: REST surface for v1-horses-horse_id-standard.
operations:
- method: GET
name: horsestandardv1horseshorseidstandardget
description: The Racing API Horse Standard
call: the-racing-horses.horsestandardv1horseshorseidstandardget
with:
horse_id: rest.horse_id
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: the-racing-horses-mcp
port: 9090
transport: http
description: MCP adapter for The Racing API — Horses. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: racing-api-horse-search
description: The Racing API Horse Search
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-horses.horsesearchv1horsessearchget
with:
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: racing-api-horse-distance-time
description: The Racing API Horse Distance Time Analysis
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-horses.horsedistancetimeanalysisv1horseshorseidanalysisdistancetimesget
with:
horse_id: tools.horse_id
start_date: tools.start_date
end_date: tools.end_date
region: tools.region
course: tools.course
type: tools.type
going: tools.going
race_class: tools.race_class
min_distance_y: tools.min_distance_y
max_distance_y: tools.max_distance_y
age_band: tools.age_band
sex_restriction: tools.sex_restriction
outputParameters:
- type: object
mapping: $.
- name: racing-api-horse-pro
description: The Racing API Horse Pro
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-horses.horseprov1horseshorseidproget
with:
horse_id: tools.horse_id
outputParameters:
- type: object
mapping: $.
- name: racing-api-horse-results
description: The Racing API Horse Results
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-horses.horseresultsv1horseshorseidresultsget
with:
horse_id: tools.horse_id
start_date: tools.start_date
end_date: tools.end_date
region: tools.region
course: tools.course
type: tools.type
going: tools.going
race_class: tools.race_class
min_distance_y: tools.min_distance_y
max_distance_y: tools.max_distance_y
age_band: tools.age_band
sex_restriction: tools.sex_restriction
limit: tools.limit
skip: tools.skip
outputParameters:
- type: object
mapping: $.
- name: racing-api-horse-standard
description: The Racing API Horse Standard
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-horses.horsestandardv1horseshorseidstandardget
with:
horse_id: tools.horse_id
outputParameters:
- type: object
mapping: $.