# Horse Racing API UK > UK racing data, course by course. 46 REST endpoints covering every race in Great Britain and Northern Ireland since 2017: courses, cards, results, prices, race reports, and the trainers, jockeys and owners behind every runner. > Factual data only: no predictions, ratings or tips. ## Complete reference - [Full manual, one file](https://horseracingapi.co.uk/documentation/manual.md): every endpoint, parameter, sample response and guide in a single markdown document. - [OpenAPI](https://horseracingapi.co.uk/openapi.json): machine-readable API description. - [MCP server](https://horseracingapi.co.uk/mcp): Model Context Protocol endpoint. ## Agent skill - [Horse Racing API UK agent skill](https://horseracingapi.co.uk/.well-known/agent-skills/horseracingapi-uk/SKILL.md): how agents use Horse Racing API UK. Index: https://horseracingapi.co.uk/.well-known/agent-skills/index.json ## Guides - [Quick start](https://horseracingapi.co.uk/documentation/quick-start): A key, your first call and how to read the answer, in two minutes. - [Authentication](https://horseracingapi.co.uk/documentation/authentication): Your key, the two headers that carry it, and rotating it. - [Plans and limits](https://horseracingapi.co.uk/documentation/plans-and-limits): What each plan reads, its rate limit and its monthly calls. - [Pagination](https://horseracingapi.co.uk/documentation/pagination): Reading long lists a page at a time with limit and next_cursor. - [Errors](https://horseracingapi.co.uk/documentation/errors): Every error code, what it means and what to do. - [Courses](https://horseracingapi.co.uk/documentation/courses): Every UK course: where it is, which way round, what it races and its fixtures. - [Racecards and results](https://horseracingapi.co.uk/documentation/racecards-and-results): Meetings, cards and results by day, and how race times work. - [Races and markets](https://horseracingapi.co.uk/documentation/races-and-markets): One race in full, its market and moves, dividends and upsets. - [Race reports](https://horseracingapi.co.uk/documentation/race-reports): Written accounts of UK races since 2020, on Complete. - [Horses](https://horseracingapi.co.uk/documentation/horses): Finding a horse, its record, form, breeding and head to heads. - [Trainers, jockeys and owners](https://horseracingapi.co.uk/documentation/trainers-jockeys-and-owners): Search, profiles and form for the people behind every runner. - [Statistics](https://horseracingapi.co.uk/documentation/statistics): Strike rate, A/E and level stakes, split by course, going, rider and more, on Complete. - [MCP server](https://horseracingapi.co.uk/documentation/mcp): Add the API to Claude, ChatGPT, Cursor or Claude Code and ask in plain English. - [MCP tools](https://horseracingapi.co.uk/documentation/mcp-tools): Every MCP tool: what it does, its inputs, the endpoint it calls and the plan it needs. - [Agent skill](https://horseracingapi.co.uk/documentation/agent-skill): One file that teaches an AI agent to use the API well. - [Changelog](https://horseracingapi.co.uk/documentation/changelog): What changed, newest first. ## Endpoints - [GET /v1/courses](https://horseracingapi.co.uk/documentation/courses-list): Every UK course - [GET /v1/courses/{course_id}](https://horseracingapi.co.uk/documentation/course): One course - [GET /v1/courses/{course_id}/fixtures](https://horseracingapi.co.uk/documentation/course-fixtures): A course's fixtures ahead - [GET /v1/meetings/calendar](https://horseracingapi.co.uk/documentation/meetings-calendar): The meetings calendar - [GET /v1/meetings/{date}](https://horseracingapi.co.uk/documentation/meetings-by-date): Meetings on a date - [GET /v1/meetings/{meeting_id}](https://horseracingapi.co.uk/documentation/meeting): One meeting - [GET /v1/racecards/today](https://horseracingapi.co.uk/documentation/racecards-today): Today's UK racecards - [GET /v1/racecards/upcoming](https://horseracingapi.co.uk/documentation/racecards-upcoming): Upcoming racecards - [GET /v1/racecards/{date}](https://horseracingapi.co.uk/documentation/racecards-by-date): Racecards for a date - [GET /v1/results/latest](https://horseracingapi.co.uk/documentation/results-latest): Latest results - [GET /v1/results/yesterday](https://horseracingapi.co.uk/documentation/results-yesterday): Yesterday's results - [GET /v1/results/{date}](https://horseracingapi.co.uk/documentation/results-by-date): Results for a date - [GET /v1/races/search](https://horseracingapi.co.uk/documentation/races-search): Search races - [GET /v1/races/{race_id}](https://horseracingapi.co.uk/documentation/race): One race - [GET /v1/races/{race_id}/runners](https://horseracingapi.co.uk/documentation/race-runners): A race's runners - [GET /v1/races/{race_id}/result](https://horseracingapi.co.uk/documentation/race-result): A race's result - [GET /v1/races/{race_id}/market](https://horseracingapi.co.uk/documentation/race-market): A race's market - [GET /v1/races/{race_id}/dividends](https://horseracingapi.co.uk/documentation/race-dividends): A race's dividends - [GET /v1/races/{race_id}/analysis](https://horseracingapi.co.uk/documentation/race-analysis): A race's analysis - [GET /v1/upsets](https://horseracingapi.co.uk/documentation/upsets): The day's upsets - [GET /v1/upsets/{race_id}](https://horseracingapi.co.uk/documentation/race-upset): One race's upset score - [GET /v1/reports](https://horseracingapi.co.uk/documentation/reports-search): Search race reports - [GET /v1/reports/{race_id}](https://horseracingapi.co.uk/documentation/race-report): One race report - [GET /v1/search](https://horseracingapi.co.uk/documentation/search): Search everything - [GET /v1/horses/search](https://horseracingapi.co.uk/documentation/horses-search): Search horses - [GET /v1/horses/compare](https://horseracingapi.co.uk/documentation/horses-compare): Compare horses - [GET /v1/horses/{horse_id}](https://horseracingapi.co.uk/documentation/horse): One horse - [GET /v1/horses/{horse_id}/form](https://horseracingapi.co.uk/documentation/horse-form): A horse's form - [GET /v1/horses/{horse_id}/pedigree](https://horseracingapi.co.uk/documentation/horse-pedigree): A horse's pedigree - [GET /v1/trainers/search](https://horseracingapi.co.uk/documentation/trainers-search): Search trainers - [GET /v1/trainers/{trainer_id}](https://horseracingapi.co.uk/documentation/trainer): One trainer - [GET /v1/trainers/{trainer_id}/form](https://horseracingapi.co.uk/documentation/trainer-form): A trainer's form - [GET /v1/jockeys/search](https://horseracingapi.co.uk/documentation/jockeys-search): Search jockeys - [GET /v1/jockeys/{jockey_id}](https://horseracingapi.co.uk/documentation/jockey): One jockey - [GET /v1/jockeys/{jockey_id}/form](https://horseracingapi.co.uk/documentation/jockey-form): A jockey's form - [GET /v1/owners/search](https://horseracingapi.co.uk/documentation/owners-search): Search owners - [GET /v1/owners/{owner_id}](https://horseracingapi.co.uk/documentation/owner): One owner - [GET /v1/trainers/{trainer_id}/stats](https://horseracingapi.co.uk/documentation/trainer-stats): A trainer's statistics - [GET /v1/trainers/{trainer_id}/courses](https://horseracingapi.co.uk/documentation/trainer-courses): A trainer by course - [GET /v1/trainers/{trainer_id}/jockeys](https://horseracingapi.co.uk/documentation/trainer-jockeys): A trainer's jockeys - [GET /v1/jockeys/{jockey_id}/stats](https://horseracingapi.co.uk/documentation/jockey-stats): A jockey's statistics - [GET /v1/jockeys/{jockey_id}/trainers](https://horseracingapi.co.uk/documentation/jockey-trainers): A jockey's trainers - [GET /v1/owners/{owner_id}/stats](https://horseracingapi.co.uk/documentation/owner-stats): An owner's statistics - [GET /v1/owners/{owner_id}/courses](https://horseracingapi.co.uk/documentation/owner-courses): An owner by course - [GET /v1/owners/{owner_id}/jockeys](https://horseracingapi.co.uk/documentation/owner-jockeys): An owner's jockeys - [GET /v1/usage](https://horseracingapi.co.uk/documentation/usage): Your usage