[
{
"name": "Wolverhampton",
"races": [
{
"id": 902071,
"name": "Join The Midnite Movement Handicap",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "6"
},
{
"id": 902072,
"name": "Midnite A Next Generation Betting App Novice Stakes",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "4"
},
{
"id": 902073,
"name": "Daily Profit Boosts At betmgm.co.uk Classified Stakes (Div 1)",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "6"
},
{
"id": 902074,
"name": "Daily Profit Boosts At betmgm.co.uk Classified Stakes (Div 2)",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "6"
},
{
"id": 902075,
"name": "Bet 10 Get 40 With BetMGM Handicap",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "6"
},
{
"id": 902076,
"name": "Read Meg Nicholls' Blog At betmgm.co.uk Handicap",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "6"
},
{
"id": 901536,
"name": "Midnite: Built For 2026 Not 2006 Handicap (GBBPlus Race)",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "2"
},
{
"id": 902077,
"name": "Midnite Are Upping The Betting Game Handicap (GBBPlus Race)",
"course_shortcode": "WOL",
"course_name": "Wolverhampton",
"surface": "ALLWEATHER",
"race_class": "3"
}
]
},
{
"name": "Newcastle",
"races": [
{
"id": 902078,
"name": "Friday Night Live With SBK Handicap",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "5"
},
{
"id": 902079,
"name": "SBK: Betting Without The Bull Handicap (Div 1)",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "5"
},
{
"id": 901537,
"name": "SBK: Betting Without The Bull Handicap (Div 2)",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "5"
},
{
"id": 901538,
"name": "SBK: Dont Settle For Less Handicap (Div 1)",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "5"
},
{
"id": 901539,
"name": "SBK: Dont Settle For Less Handicap (Div 2)",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "5"
},
{
"id": 901540,
"name": "SBK: No Casino Just Sports Handicap",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "3"
},
{
"id": 901541,
"name": "Tipping Tom On SBK Bet Feed Handicap",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "4"
},
{
"id": 901542,
"name": "SBK Betting Podcast Handicap",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "4"
},
{
"id": 901543,
"name": "Bet Responsibly With SBK Handicap",
"course_shortcode": "NCS",
"course_name": "Newcastle",
"surface": "ALLWEATHER",
"race_class": "4"
}
]
},
{
"name": "Dundalk",
"races": [
{
"id": 901728,
"name": "Dundalk Winter Series Leading Trainer & Jockey Championship Handicap",
"course_shortcode": null,
"course_name": "Dundalk",
"surface": "POLYTRACK",
"race_class": ""
},
{
"id": 901729,
"name": "Book Online At DundalkStadium.com Race",
"course_shortcode": null,
"course_name": "Dundalk",
"surface": "POLYTRACK",
"race_class": ""
},
{
"id": 901730,
"name": "Irishinjuredjockeys.com Handicap",
"course_shortcode": null,
"course_name": "Dundalk",
"surface": "POLYTRACK",
"race_class": ""
},
{
"id": 901731,
"name": "BAR 1 Betting Bet 10 Get 50 Free Bets Race",
"course_shortcode": null,
"course_name": "Dundalk",
"surface": "POLYTRACK",
"race_class": ""
},
{
"id": 901732,
"name": "Put The Fun In Fundraising At Dundalk Handicap",
"course_shortcode": null,
"course_name": "Dundalk",
"surface": "POLYTRACK",
"race_class": ""
},
{
"id": 901733,
"name": "Dundalkstadium.com Apprentice Handicap (0-60)",
"course_shortcode": null,
"course_name": "Dundalk",
"surface": "POLYTRACK",
"race_class": ""
},
{
"id": 901734,
"name": "Find Us On Facebook At dundalkstadium Handicap",
"course_shortcode": null,
"course_name": "Dundalk",
"surface": "POLYTRACK",
"race_class": ""
}
]
},
{
"name": "Sandown",
"races": [
{
"id": 901517,
"name": "Hampton Court Palace Handicap Chase (GBB Race)",
"course_shortcode": "SAN",
"course_name": "Sandown",
"surface": "TURF",
"race_class": "3"
},
{
"id": 901518,
"name": "Arthur Gregory Memorial Novices' Limited Handicap Chase (GBB Race)",
"course_shortcode": "SAN",
"course_name": "Sandown",
"surface": "TURF",
"race_class": "3"
},
{
"id": 901519,
"name": "Grand Military Gold Cup (A Chase For Military Amateur Jockeys)",
"course_shortcode": "SAN",
"course_name": "Sandown",
"surface": "TURF",
"race_class": "3"
},
{
"id": 901520,
"name": "More Lane Novices' Handicap Chase (GBB Race)",
"course_shortcode": "SAN",
"course_name": "Sandown",
"surface": "TURF",
"race_class": "4"
},
{
"id": 901521,
"name": "Worshipful Company Of Loriners Handicap Chase (GBB Race)",
"course_shortcode": "SAN",
"course_name": "Sandown",
"surface": "TURF",
"race_class": "3"
},
{
"id": 901522,
"name": "Weatherbys Cheltenham Festival Betting Guide Handicap Chase (GBB Race)",
"course_shortcode": "SAN",
"course_name": "Sandown",
"surface": "TURF",
"race_class": "4"
}
]
}
]
curl --location --request GET 'https://zylalabs.com/api/12486/horse+races+api/23757/racecards?date=2026-02-06&country=UK-Ireland' --header 'Authorization: Bearer YOUR_API_KEY'
{
"trainer": "K Bishop",
"recent_runs_summary": {
"total_runs": 40,
"wins": 2,
"places_top3": 7,
"pulled_up_or_fell": 14
},
"recent_form_examples": [
"Geordies Betty: 2nd/10 (Bangor-on-Dee, 2026-02-25)",
"Bradman: 1st/14 (Fontwell, 2026-01-11)",
"Spring Serenade: 2nd/9 (Huntingdon, 2026-02-19)",
"Multiple PU results across hurdles/chases in 2026 season"
],
"next_runner": {
"horse": "Bradman",
"race": "Download The At The Races App Conditional Jockeys' Handicap Hurdle",
"course": "Fontwell",
"date": "2026-05-06",
"time": "16:42"
}
}
curl --location --request GET 'https://zylalabs.com/api/12486/horse+races+api/23758/trainer+info?id=432' --header 'Authorization: Bearer YOUR_API_KEY'
{"person_details":{"person_reference":{"id":5120,"external_reference":[]},"name":"C Beel"},"run_previous_results":[{"horse_summary":{"horse_reference":{"id":49153,"external_reference":[]},"name":"Shalisatys (FR)"},"horse_entry":{"race_id":66649,"date":"2010-04-02","time":"14:40:00","course_name":"Fontainebleau","course_shortcode":"FNT","distance":"1m 2f 205y","run_type":"FLAT","weight":"10-1","position":0,"casualty":[],"runner_count":11,"race_name":"Prix General Blacque-belair (5yo Claiming Stakes)","going":"Soft","going_shortcode":"SFT","odds":"50\/1"},"formattedPosition":"-"},{"horse_summary":{"horse_reference":{"id":49153,"external_reference":[]},"name":"Shalisatys (FR)"},"horse_entry":{"race_id":56036,"date":"2009-06-08","time":"15:05:00","course_name":"Saint-Cloud","course_shortcode":"SAI","distance":"1m 2f 96y","run_type":"FLAT","weight":"9-5","position":0,"casualty":[],"runner_count":19,"race_name":"Prix De La Chalosse","going":"Soft","going_shortcode":"SFT","odds":"33\/1"},"formattedPosition":"-"},{"horse_summary":{"horse_reference":{"id":49153,"external_reference":[]},"name":"Shalisatys (FR)"},"horse_entry":{"race_id":41933,"date":"2008-05-16","time":"13:50:00","course_name":"Dieppe","distance":"1m 1f 0y","run_type":"FLAT","weight":"10-1","position":0,"casualty":[],"runner_count":14,"race_name":"Prix Du Club Des Gentlemen Et Cavalieres Claimer","going":"Good to Soft","going_shortcode":"GS","odds":"40\/1"},"formattedPosition":"-"},{"horse_summary":{"horse_reference":{"id":32664,"external_reference":[]},"name":"Fixboard"},"horse_entry":{"race_id":41229,"date":"2008-05-01","time":"14:30:00","course_name":"Saint-Cloud","course_shortcode":"SAI","distance":"1m 2f 110y","run_type":"FLAT","weight":"9-4","position":0,"casualty":[],"runner_count":13,"bha":97,"race_name":"Prix Des Muses Stakes","going":"Soft","going_shortcode":"SFT","odds":"14\/1"},"formattedPosition":"-"}]}
curl --location --request GET 'https://zylalabs.com/api/12486/horse+races+api/23759/jockey+info?id=5120' --header 'Authorization: Bearer YOUR_API_KEY'
{
"race_summary": {
"id": 902072,
"name": "Midnite A Next Generation Betting App Novice Stakes",
"course": {
"name": "Wolverhampton",
"code": "WOL",
"surface": "ALLWEATHER"
},
"date": "2026-02-06",
"time": "13:42",
"off_time": "13:43:04",
"distance": "6f 20y",
"class": "4",
"age_band": "4YO plus",
"going": "Standard",
"handicap": false,
"stage": "WEIGHEDIN",
"video_available": true,
"verdict": "Only four runners but not the easiest novice to assess..."
},
"runner": {
"race_position": 2,
"cloth_number": 1,
"draw": 2,
"horse": {
"id": 1187398,
"name": "Correspondence",
"age": 4,
"sex": "g",
"form": "33240-8",
"official_rating": 65
},
"jockey": {
"id": 32109,
"name": "Tyrese Cameron",
"claim": 5
},
"trainer": {
"id": 132,
"name": "A W Carroll"
},
"owner": {
"name": "Mr P G Shorrock"
},
"weight": "9-7",
"odds": "5/1",
"betting_movement": "op 9/2 tchd 7/2",
"comments": "Fair maiden... showed promise last time and can improve.",
"ride_summary": "Took keen hold in third, kept on final furlong, finished second."
}
}
curl --location --request GET 'https://zylalabs.com/api/12486/horse+races+api/23760/racecards+info?race_id=902072&date=2026-02-06&summary=1' --header 'Authorization: Bearer YOUR_API_KEY'
After signing up, every developer is assigned a personal API access key, a unique combination of letters and digits provided to access to our API endpoint. To authenticate with the Horse Races API simply include your bearer token in the Authorization header.
| Header | Description |
|---|---|
Authorization
|
Required
Should be Bearer access_key. See "Your API Access Key" above when you are subscribed.
|
No long-term commitment. Upgrade, downgrade, or cancel anytime. Free Trial includes up to 50 requests.
(Save 2 months with annual billing 🎉)
Comprehensive horse racing information covering upcoming and past events, including details on horses, jockeys, rides, and trainer profiles. It spans racing in the UK, Ireland, and internationally, offering in-depth insights, performance statistics, and data to help users analyze races, compare competitors, and stay informed about global racing activity.
Each endpoint returns specific horse racing data. The GET Racecards endpoint provides daily race listings, while GET Trainer info offers detailed trainer profiles and statistics. GET Jockey info delivers jockey profiles and performance history, and GET Racecards info gives comprehensive details for individual races, including conditions, entries, and form data.
Key fields vary by endpoint. For GET Racecards, fields include race name, course, and race class. GET Trainer info includes total runs, wins, and recent form examples. GET Jockey info features jockey name, career statistics, and recent results. GET Racecards info provides race summary, runner details, and jockey/trainer information.
Response data is structured in JSON format. Each endpoint returns an array or object containing relevant fields. For example, GET Racecards returns an array of race objects, while GET Racecards info returns a detailed race summary object with nested runner details, allowing for easy data access and analysis.
The GET Racecards endpoint provides race schedules and entries. GET Trainer info includes trainer statistics and performance history. GET Jockey info offers insights into jockey performance and career stats. GET Racecards info details race conditions, distances, and full runner lists, enabling comprehensive race analysis.
Users can customize requests by specifying parameters such as race date, course, or trainer name. For example, when using GET Racecards, users can filter results by date to retrieve races for a specific day. Each endpoint may support different parameters, so refer to the API documentation for details.
The Horse Races API aggregates data from various reputable sources within the horse racing industry, including official racing bodies and event organizers. This ensures a comprehensive and accurate representation of global horse racing events, trainers, and jockeys.
Typical use cases include analyzing race performance, comparing trainers and jockeys, and making informed betting decisions. Users can leverage the data to track horse form, evaluate trainer statistics, and assess jockey performance across different races and seasons.
Users can utilize the returned data by analyzing key performance indicators such as win rates, recent form, and race conditions. For instance, by examining the recent runs of a trainer or jockey, users can identify trends and make data-driven decisions for upcoming races.
To obtain your API key, first sign in to your account and navigate to the API you want to use. From the API's Pricing section, choose a plan and complete the subscription process. Once subscribed, return to the API page and you will see your API Access Key displayed at the top of the documentation page. You can use this key to authenticate your requests.
You can’t switch APIs during the free trial. If you subscribe to a different API, your trial will end and the new subscription will start as a paid plan.
The free trial lasts for 7 days and allows you to make up to 50 API requests.
No, the free trial is available only once, so we recommend using it on the API that interests you the most. Most of our APIs offer a free trial, but some may not include this option.
Yes. If the API offers a free trial, you will see a "Free 7-Day Trial" option in its Pricing section. The trial lasts for 7 days and allows up to 50 API requests, enabling you to evaluate the API before subscribing to a paid plan.
Zyla API Hub is like a big store for APIs, where you can find thousands of them all in one place. We also offer dedicated support and real-time monitoring of all APIs. Once you sign up, you can pick and choose which APIs you want to use. Just remember, each API needs its own subscription. But if you subscribe to multiple ones, you'll use the same key for all of them, making things easier for you.
You can monitor your API usage through the response headers included with every request:
x-zyla-api-calls-monthly-used: Shows the total number of API requests you have used during the current billing period.
x-zyla-api-calls-monthly-remaining: Shows the number of API requests you have remaining for the current billing period.
Yes, you can cancel your subscription at any time. Simply go to the Pricing section of the API you're subscribed to and click the "Unsubscribe" button.
Please note that upgrades, downgrades, and cancellations take effect immediately. Once your subscription is canceled, access to the service will end immediately, regardless of any remaining API calls in your quota.
Please have a look at our Refund Policy: https://zylalabs.com/terms#refund