Jockey and trainer API data: connections explained
Understand how RacingAPI.net exposes jockey and trainer connections from daily declarations, stable linkages and supplied stats without pretending to be a full career database.
Published 30 Oct 2026Updated 30 Oct 20266 min read

When developers ask for jockey and trainer data, they often mean two different things: who is booked on today’s cards, and what relationship history is supplied for that day’s feed. RacingAPI.net separates those ideas cleanly. The connections endpoints are built around declared runners and the selected regional daily feed, so the data reflects what is present for that racecard rather than claiming to be a complete lifelong profile.
That distinction matters for product design. If you only need current bookings, runner associations and feed-scoped statistics, the API gives you a reliable way to render them from the daily context. If you need whole-career records or cross-season deep history, this is not the place to infer it. The safest pattern is to treat the returned connections as sourced, bounded and date-specific.
Try the documented request
Use the jockey ID supplied on the racecard. Trainer connections use /v1/trainers/{id}; these endpoints describe the selected daily-feed context.
# Set RACINGAPI_KEY on your server; use IDs returned by the feed.
# FEED_DATE must be YYYY-MM-DD in the feed context you want.
curl --fail-with-body --max-time 15 --get \
"https://racingapi.net/v1/jockeys/${JOCKEY_ID}" \
-H "X-API-Key: ${RACINGAPI_KEY}" \
--data-urlencode "region=uk" \
--data-urlencode "date=${FEED_DATE}" \
-H "Accept: application/json"Run this on your server, not in public browser code. Replace the environment variables before running it. Respect the response cache headers and Retry-After; do not retry failed requests without a limit.
What “connections” means in this API
In RacingAPI.net, “connections” means the relationship between a runner and the people attached to it in the selected daily feed. That usually includes the booked jockey, the trainer, and the horse-specific connection statistics supplied with that feed. The key point is that the API is describing the day’s declared context, not building an encyclopaedic record from every past run.
This is why the jockey and trainer endpoints are useful for live racecard products. They let you show who is connected to the horse today, together with any feed-scoped summary data that has been supplied. You should design your UI and downstream logic around those declared relationships, not around assumptions that every runner has a fully populated long-term history.
- Use connections for declared runner context, not full career archives.
- Treat the daily feed as the scope boundary for bookings and stats.
- Show only what is returned for the selected region and date.
Jockey connections from declared runners
The jockey endpoint is best thought of as a feed-scoped connection record for a declared rider. Its purpose is to show bookings and horse-specific connection statistics within the selected daily feed. That makes it suitable for racecard views, runner detail pages and compact comparison panels where you want to surface who is riding and how that pairing is represented in the current feed.
Because the source is the daily declaration set, the data is intentionally narrower than a career database. It is not intended to answer questions such as every ride a jockey has ever taken or every historical win rate across all seasons. If you need to display a rider card, keep the label accurate: this is a connection summary derived from the feed, not a complete personal archive.
- Present bookings as feed-scoped, date-specific information.
- Avoid wording that implies complete rider career history.
- Use supplied connection stats only where present in the feed.
Trainer connections and stable linkage
The trainer endpoint follows the same principle, but from the stable side. It returns declared runners and horse-specific connection statistics within the selected daily feed. In practical terms, that lets you connect a trainer to the horses entered on that day and use the supplied relationship data to support race previews, stable summaries or runner tiles.
This is where developers can easily overreach. A stable linkage in the feed is not the same as a universal trainer profile. RacingAPI.net does not claim to provide complete career statistics here, so your product should avoid implying unlimited history or omniscient stable performance data. The correct mental model is a daily declaration view with associated connection data attached to the horses present that day.
- Use trainer data to explain current stable involvement.
- Do not present it as a complete trainer career database.
- Respect that availability depends on the selected daily feed.
How daily-feed scope shapes your output
Everything in these endpoints is scoped by region and date. That means the same jockey or trainer may appear with different runner lists on different days, and some horses will have richer supplied statistics than others. If you are caching responses, make sure the cache key reflects the feed context so you do not mix one day’s declarations with another day’s data.
This scoped model is a strength when you are building live racecards. It keeps the data aligned with what users can actually see for that day, and it reduces the temptation to merge unrelated history into a single profile view. If you want a stable- or rider-specific panel, build it from the returned feed data first, then add your own presentation layer around it.
- Key your cache by region, date and endpoint context.
- Expect the same person to have different feed-specific associations on different days.
- Avoid stitching unrelated runs into one synthetic profile.
Designing a safe client model
A good client model separates identity from evidence. For example, a jockey record can hold the rider’s identifier and name, while the actual bookings and connection statistics remain nested under the selected feed response. The same approach works for trainers: the identity is reusable, but the evidence comes from the declared runners and the current race context.
That separation helps when you build search, cards and filters. You can store the returned IDs for rendering and linking, but you should not promote the response into a permanent source of truth about all-time performance. If your product needs a broader history later, that should be handled explicitly rather than inferred from daily connection data.
- Keep identifiers reusable but context-specific evidence separate.
- Use feed responses as the source of truth for display.
- Do not infer career-wide metrics from daily connection payloads.
From connections to user-facing features
The most useful front-end patterns are usually the simplest ones. A racecard can show the booked jockey beside the runner, a trainer tag beneath the horse name, and a compact note that the associated statistics are supplied for the selected daily feed. That gives users immediate context without overstating what the API knows.
You can also use connection data to power comparison tools, shortlist views or stable filters, as long as the feature language stays accurate. Say “today’s booking” or “feed-scoped trainer association” rather than “complete profile” or “career record”. That precision matters because developers, traders and analysts all rely on the UI text to understand the limits of the underlying data.
- Use clear labels such as booking, association or feed-scoped stat.
- Let the UI explain scope instead of overpromising completeness.
- Keep racecard design tied to declared runners and selected feed context.
Key takeaways
- RacingAPI.net connection data is feed-scoped: it reflects daily declarations, not a universal career record.
- Use jockey and trainer endpoints for current bookings, stable linkage and supplied stats only where present.
- Keep your cache keys, labels and UI copy aligned with the selected region and date to avoid overstating completeness.
Feed-family explorer
What each family covers, with links to the documentation that defines it. Plan availability is listed on the pricing page.
Racecards
All plans- UK and Irish meetings, races and declared runners
- Supplied identifiers for joining detail requests
- Going, distance and race context as supplied
Frequently asked questions
Are jockey and trainer connections full career profiles?
No. The endpoints are scoped to the selected daily feed and its declared runners. They provide bookings and horse-specific connection statistics where present, but they are not sold as complete career-history databases. Build your product copy and data model around that narrower, feed-based scope.
Can I use these endpoints to show who is riding or training a horse today?
Yes. That is the intended use. The endpoints are designed to surface current bookings and stable linkage from the daily declarations, so they fit racecards, runner pages and live previews. Just avoid presenting the output as if it were a full historical profile.
Should I cache connection data for reuse across days?
Only with care. Because the data is tied to region and date, cache entries should include that feed context. A jockey or trainer can appear with different runners on another day, so reusing stale cached data without a scoped key can produce incorrect racecard displays.
What should I do if a horse has limited supplied connection stats?
Display only what the feed returns and keep the wording modest. Some horses will have richer supplied information than others, and availability varies by runner. The safest approach is to render the booking or stable association plainly and avoid implying a missing statistic was omitted by mistake.
Related guides
All guides
Racing dataHorse form and statistics API: using supplied records
Learn how to read RacingAPI.net horse form and statistics as supplied daily-feed summaries, with sensible handling of missing values, sample size and regional context.
Racing dataHorse racing odds API: prices with context
Learn how RacingAPI.net delivers observed horse racing odds with timestamps, price formats, missing-price handling and useful context for own-site comparison.
Racing dataHorse racing racecards API: building a race-day page
Build a race-day page with meeting, race and runner data, careful declaration handling, and reliable detail fetching from RacingAPI.net.