Quickstart
Get valid race form data from the FormFav API in four steps.
Sign up and get an API key
Go to formfav.com/get-api-key (or click Get API Key in the header). Sign in with Google, GitHub or email via Replit, and the key dialog opens straight away. Your key starts with fk_ followed by 64 hex characters.
Free tier included
Find a race with the meetings endpoint
Before requesting form, list what's actually running on your date. The meetings endpoint returns every track and race for a given day — copy a slug and raceNumber straight into the next step. Skipping this is the most common cause of 404 responses.
const meetings = await fetch(
'https://api.formfav.com/v1/form/meetings?' +
new URLSearchParams({
date: '2026-01-15',
race_code: 'gallops'
}),
{
headers: {
'X-API-Key': 'your_api_key_here'
}
}
).then((r) => r.json());
// Pick a track slug and race number from the response
const { slug } = meetings.meetings[0];
const { raceNumber } = meetings.meetings[0].races[0];{
"date": "2026-01-15",
"raceType": "gallops",
"meetings": [
{
"track": "Flemington",
"slug": "flemington",
"country": "au",
"races": [
{ "raceNumber": 7, "raceName": "Lexus Handicap", "distance": "2000m" }
]
}
]
}Request the race form
Pass the slug and raceNumber from the meetings response into the track and race parameters. Include your API key in the X-API-Key header.
const response = await fetch(
'https://api.formfav.com/v1/form?' +
new URLSearchParams({
date: '2026-01-15',
track: 'flemington',
race: '7'
}),
{
headers: {
'X-API-Key': 'your_api_key_here'
}
}
);
const data = await response.json();
console.log(data);Explore the response
The API returns race metadata and a runners array with form, stats, and more.
{
"date": "2026-01-15",
"track": "Flemington",
"raceNumber": 7,
"raceName": "Lexus Handicap",
"distance": "2000m",
"condition": "Good 4",
"raceClass": "BM78",
"numberOfRunners": 12,
"runners": [
{
"number": 1,
"name": "Star Runner",
"jockey": "J. McDonald",
"trainer": "C. Waller",
"weight": 58.5,
"barrier": 5,
"form": "1121x32141",
"stats": {
"overall": { "starts": 20, "wins": 8, "winPercent": 40.0 },
"track": { "starts": 5, "wins": 3, "winPercent": 60.0 },
"distance": { "starts": 8, "wins": 4, "winPercent": 50.0 }
}
}
]
}Interactive API Explorer
Browse the live OpenAPI specification, try requests against the API in your browser, and generate client code from the schema.