FormFav LogoFormFav

    Quickstart

    Get valid race form data from the FormFav API in four steps.

    1

    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.

    2

    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.

    javascript
    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];
    200
    Response
    json
    {
      "date": "2026-01-15",
      "raceType": "gallops",
      "meetings": [
        {
          "track": "Flemington",
          "slug": "flemington",
          "country": "au",
          "races": [
            { "raceNumber": 7, "raceName": "Lexus Handicap", "distance": "2000m" }
          ]
        }
      ]
    }
    3

    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.

    javascript
    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);
    4

    Explore the response

    The API returns race metadata and a runners array with form, stats, and more.

    200
    Response
    json
    {
      "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.