FanDuel API endpoint
Lists the tracks that have past results. With `date` it returns the tracks that ran that day with their race count and race types; with `track` it returns that track and the dates it ran (newest first, paged by `page` and `limit`, back to 2008); with neither it returns every track (786 on 2026-10-24). An unknown track returns 404.
/fanduel/racing/past-tracksLists the tracks that have past results: the tracks that ran on a date, one track with every date it ran, or all of them.
date (optional): the day as YYYY-MM-DD, from 2008-01-01. Returns the tracks that ran that day with races_on_date. A malformed date or one before 2008 returns 400.track (optional): a track code such as BEL. Returns that track with dates, every day it ran, newest first, and dates_total; page and limit page the dates. An unknown code returns 404.page (optional): 1 to 10000; default 1. limit (optional): 1 to 200; default 50.date nor track the route lists every track (786 on 2026-10-24).race_types (T Thoroughbred, H Harness, Q QuarterHorse, L Thoroughbred LARC; a track can have more than one) is filled when listing by date and empty when track is given, because the service returns it only for the date listing. country, state and city are given when the service has them.races_on_date counts the races the service lists for that track and day; it can be a few higher than the races returned by past-races (571 against 558 on 2026-10-02) when a race was refunded or cancelled.Data is read from FanDuel Racing's own public service and is shown as published at the time of the request. 503 on upstream failure.
| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| code | 40 | |
| name | 40 | “AR - Hipodromo Palermo” and 39 other values |
| country | 40 | “ARG” and 8 other values |
| race_types | 40 | median 1 entry |
| races_on_date | 40 | 3 to 17, median 9 |
| state | 15 | “NY” and 12 other values |
| city | 12 | “Elmont” and 11 other values |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| date | string | No | Day as `YYYY-MM-DD`, from `2008-01-01` | ||
| track | string | No | Track code such as `BEL`; adds the dates the track ran | ||
| page | integer | No | Page number, from 1; default 1, at most 10000 Minimum: 1. Maximum: 10000. | ||
| limit | integer | No | Items per page, 1 to 200; default 50 Minimum: 1. Maximum: 200. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/fanduel/racing/past-tracks?page=1&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"data": {
"track": "BEL",
"total": 1,
"page": 1,
"limit": 3,
"tracks": [
{
"code": "BEL",
"name": "Belmont",
"country": "USA",
"state": "NY",
"city": "Elmont",
"race_types": [],
"dates": [
"2026-10-24",
"2026-10-23",
"2026-10-22"
],
"dates_total": 1586
}
],
"fetched_at": "2026-10-24T07:00:00Z"
},
"msg": "OK"
}Request schema
No body schema
Response schema
#/definitions/fanduel.racingPastTracksResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | fanduel.RacingPastTracksResponse | No | ||||
| data.date | string | No | ||||
| data.fetched_at | string | No | ||||
| data.limit | integer | No | ||||
| data.page | integer | No | ||||
| data.total | integer | No | ||||
| data.track | string | No | ||||
| data.tracks | array | No | ||||
| data.tracks[].city | string | No | ||||
| data.tracks[].code | string | No | ||||
| data.tracks[].country | string | No | ||||
| data.tracks[].dates | array | No | ||||
| data.tracks[].dates_total | integer | No | ||||
| data.tracks[].name | string | No | ||||
| data.tracks[].race_types | array | No | ||||
| data.tracks[].races_on_date | integer | No | ||||
| data.tracks[].state | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/fanduel/racing/past-tracks?page=1&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"