Endpoint Playground
Returns a horse's career record (starts, wins, top-three finishes, win percentage) and its past races newest first, each with the race conditions and the horse's own result line: finish position, post-race report, beaten lengths and starting price when the track reports them. Needs the horse's `id` from the `search` route; an unknown id returns 404.
25 Oct 2026: 6 races; 16 fields had a value in every checked item.
Sample value profiles: date: 2021-04-24 to 2022-11-05; number: 7 to 11, median 9; track_name: “BC Keeneland” and 3 other values.
curl 'https://api.crawlora.net/api/v1/fanduel/racing/horse?id=1002257' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 1002257 | Horse id (`id` of a `runner` result of the `search` route), such as `1002257` |
| page | integer | No | Page of races, from 1; default 1, at most 10000 | |
| limit | integer | No | Races per page, 1 to 200; default 50 |
{
"code": 200,
"data": {
"id": "1002257",
"starts": 6,
"wins": 6,
"top3": 6,
"win_percentage": 100,
"total": 6,
"page": 1,
"limit": 1,
"races": [
{
"id": "KEE-11-2022-11-05T00:00:00",
"track_code": "KEE",
"track_name": "BC Keeneland",
"number": "11",
"date": "2022-11-05",
"post_time": "2022-11-05T21:40:00Z",
"distance": {
"value": 10,
"unit": "Furlongs",
"code": "F"
},
"purse": 6000000,
"runner_count": 8,
"surface": {
"code": "D",
"name": "Dirt"
},
"race_type": {
"code": "T",
"name": "Thoroughbred"
},
"race_class": {
"code": "STK",
"name": "Stakes"
},
"result": {
"position": 1,
"number": "4",
"runner": "Flightline",
"entry": 4,
"timeform": {
"beaten_lengths": 0,
"total_beaten_lengths": 0,
"starting_price": 1.44,
"post_race_report": "press early,4p 1st,stalked,bid 1/4,took over upper,romped stretch"
}
}
}
],
"fetched_at": "2026-10-24T07:00:00Z"
},
"msg": "OK"
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.