FormFav LogoFormFav
    Free Horse Racing Form Data, Career Stats & Strike Rates

    Horse Racing APIForm, stats and racing data as JSON

    Form, career stats, results and predictions for horse, harness and greyhound racing. Ask about them in ChatGPT or Claude, or pull them into your own app through the API and the horse racing data feed.

    Ask your AI assistant

    Add FormFav to ChatGPT or Claude, sign in, and ask about any race. No code and no API key.

    Connect in 2 minutes

    Build with the API

    JSON over REST: runner form and career stats free, with results and predictions on Pro.

    · View documentation

    Sign in with Google, GitHub or email, via Replit. No credit card needed.

    Career
    Stats & Strike Rates
    No code
    in ChatGPT & Claude
    Free
    Forever

    Ask About Any Race in Plain English

    With FormFav connected, ChatGPT or Claude looks up the form, stats and, on Pro, class fit, speed maps and track bias, then answers your question.

    Your AI assistant · FormFav connected
    Illustrative example
    Look at Flemington race 7 today. Tell me the track condition, then rank the runners with my rules: penalise any runner carrying more than 58kg that's drawn wider than barrier 9, and favour runners with a strong first-up record.
    Used FormFav get_race_card · Flemington, race 7

    Flemington Race 7 is a 1400m BM78 on a Good 4 track. Applying your rules:

    RunnerWeightBarrierFirst-up
    1#4 Silent Anthem54.5kg33 wins from 4
    2#2 Golden Reef56kg61 win from 3
    3#6 Night Ledger57.5kg80 wins from 2

    Penalised: #1 Top Hand (59kg, barrier 11) and #3 Bold Venture (59.5kg, barrier 14), both over 58kg and drawn wider than barrier 9.

    This applies your rules to the form data; it isn't a FormFav prediction. Barriers are after scratchings.

    Illustrative example with invented runners and figures, not real FormFav output. Real answers depend on the race, the data available and your plan.

    How It Works

    Two ways in: ask your AI assistant, or call the API from your own code

    In ChatGPT or Claude

    No code
    1

    Add the Connector

    Paste https://api.formfav.com/mcp as a custom connector in ChatGPT or Claude.

    2

    Sign In

    Sign in to FormFav and approve access. The free plan is enough, and there's no key to copy.

    3

    Ask

    Ask about any race in plain English and get answers from FormFav's form and stats.

    Connect your assistant

    In your own app

    For developers
    1

    Get API Key

    Sign up for free and receive your API key instantly. No credit card required.

    2

    Make Request

    Include your API key in the X-API-Key header and call our API with race parameters (date, track, race).

    3

    Display Form

    Receive comprehensive JSON data and display beautiful form guides to your users.

    Live API Demo

    Try our API with real parameters and see the race form data instantly

    https://api.formfav.com/v1/form?date=2026-10-04&track=&race=1&race_code=gallops&country=au&timezone=Australia/Sydney

    Required Parameters

    Dates are Australian Eastern time (Australia/Sydney), so overseas evening cards can appear on the next day. The API accepts any timezone parameter.

    Loading...

    Optional Parameters

    Ready to start?

    Sign up free, grab your API key, and make your first request in under a minute.

    Horse Racing API Features by Plan

    Runner form and career stats are free, forever. For $10 a month, Pro turns form into a read on the race. Premium adds the market as it moves.

    Free

    Forever. No credit card.

    • Runner form: barrier, weight, jockey, trainer and form string
    • Career, track, distance and condition strike rates
    • First-up and second-up records
    • Meetings and venues across 24+ countries
    • 1,000 requests a day

    Pro

    7-day free trial

    $10/month

    The analysis layer: pace, class, form signals and predictions on every runner, plus the results to check them against.

    Everything in Free · 20,000 requests a day · 5 API keys

    Speed maps & pace

    Each runner's running style and likely settling position, plus a pace rating for the race from slow to very fast. Pace decides which runners a race suits.

    Speed map docs →

    Form badges

    Two to five badges per runner, such as Track Specialist, each backed by the numbers ("5 wins from 12 starts") and marked for or against. Recalculated for today's track, distance, conditions and barrier.

    Form badge docs →

    Class profiles

    Current, peak and highest-winning class on one 0–100 scale for gallops, harness and greyhounds, with a trend, so a runner stepping up or dropping back stands out.

    Class profile docs →

    Win & place predictions (beta)

    Machine-learning win and place probabilities for every runner across thoroughbred, harness and greyhound racing, with win chances summing to 1 across the race. Set them against the market and see where you disagree.

    Horse racing predictions API →

    Track bias & connections

    Win rates by barrier at every venue, by distance band or a range you choose, plus jockey and trainer records at the track you're looking at.

    Track bias docs →

    Results & margins

    Finishing positions, margins and the official starting price, for one race or a whole meeting in a single call, so every selection can be checked against what happened.

    Horse racing results API →
    Start a 7-day free trial

    Then $10 a month, or $100 a year. Cancel any time.

    Premium

    $50/month

    Race day as it moves: live prices, results as races settle, and scratchings as they're declared.

    Everything in Pro · 100,000 requests a day

    Live bookmaker prices

    Win and place prices for every runner, by bookmaker and market, with opening, high and low prices and recent moves. Small enough to poll every few seconds into the jump.

    Horse racing odds API →

    Real-time results

    Positions arrive as races settle instead of on the 2–3-hourly batch run, each tagged interim or correct weight so you know how final it is.

    Result stages docs →

    Live scratchings & conditions

    A scratching, track downgrade or weather change reaches race form as it's declared, so the runners you're pricing are the ones that jump.

    Race form docs →
    See Premium

    Compare every plan or see what's in the horse racing data feed.

    Built for Every Racing Platform

    From tipping services to analytics tools, our horse racing API powers diverse applications across the racing industry

    Tipping & Form Guide Services

    Power tipping services and form guide products with horse racing form stats, derived ratings, and form history. Our racing API provides the analysis-ready data you need for pre-race research and selections.

    tipping service APIform guide dataracing form data

    Mobile Racing Apps

    Create engaging mobile applications for iOS and Android with horse form stats, jockey performance tracking, and trainer records. Perfect for racing enthusiasts who want race form data on the go.

    mobile racing appiOS racing dataAndroid horse racing

    Racing Analytics & Predictions

    Power data-driven prediction models and racing analytics platforms with comprehensive historical horse racing statistics. Build algorithms using jockey records, trainer performance, and horse form data.

    racing analyticsprediction modelsracing data feedhorse racing statistics API

    Fantasy Racing Games

    Develop fantasy racing platforms where users can create teams, compete in leagues, and make selections based on form data. Our API provides comprehensive stats for fantasy sports applications.

    fantasy racingracing game APIfantasy sports data

    Racing Media & News Sites

    Enhance racing news websites and media platforms with horse and greyhound profiles, form guides, and race form displays, then close the loop with race results — finishing positions and margins for every runner, a whole meeting at a time. Keep your audience engaged before and after the race.

    racing news APIrace results datahorse racing results APIgreyhound results APImedia platform integration

    Racing Community Platforms

    Build social platforms for racing fans with form data insights, discussion forums powered by accurate stats, and community prediction contests. Engage users with reliable race form information.

    racing communitysocial racing platformfan engagement

    API Documentation

    Get started with FormFav API in minutes

    Code Examples

    // Fetch race form data with API key
    const response = await fetch(
      'https://api.formfav.com/v1/form?' +
      new URLSearchParams({
        date: '2025-01-15',
        track: 'flemington',
        race: '7',
        race_code: 'gallops',  // optional
        country: 'au',         // optional
        timezone: 'Australia/Sydney'  // optional
      }),
      {
        headers: {
          'X-API-Key': 'your_api_key_here'
        }
      }
    );
    
    const data = await response.json();
    console.log(data);

    Response Format

    {
      "date": "2025-01-15",
      "track": "Flemington",
      "raceNumber": 7,
      "raceName": "Lexus Handicap",
      "distance": "2000m",
      "condition": "Good 4",
      "weather": "Fine",
      "raceClass": "BM78",
      "startTime": "2025-01-15T14:30:00",
      "numberOfRunners": 12,
      "runners": [
        {
          "number": 1,
          "name": "Star Runner",
          "jockey": "J. McDonald",
          "trainer": "C. Waller",
          "weight": 58.5,
          "claim": 2.0,
          "barrier": 5,
          "age": 4,
          "form": "1121x32141",
          "last20Starts": "1121x321412231x4152",
          "scratched": false,
          "stats": {
            "overall": {
              "starts": 20, "wins": 8, "seconds": 4,
              "thirds": 3, "places": 15,
              "winPercent": 40.0, "placePercent": 75.0
            },
            "track": {
              "starts": 5, "wins": 3, "places": 4,
              "winPercent": 60.0, "placePercent": 80.0
            },
            "distance": {
              "starts": 8, "wins": 4, "places": 6,
              "winPercent": 50.0, "placePercent": 75.0
            },
            "trackDistance": {
              "starts": 3, "wins": 2, "places": 3,
              "winPercent": 66.7, "placePercent": 100.0
            },
            "condition": {
              "starts": 6, "wins": 3, "places": 5,
              "winPercent": 50.0, "placePercent": 83.3
            },
            "firstUp": {
              "starts": 4, "wins": 2, "places": 3,
              "winPercent": 50.0, "placePercent": 75.0
            },
            "secondUp": {
              "starts": 4, "wins": 1, "places": 3,
              "winPercent": 25.0, "placePercent": 75.0
            }
          }
        }
        // ... more runners
      ]
    }

    Interactive API Explorer

    Prefer to explore the API directly? Browse the live OpenAPI schema, try endpoints from your browser, and generate client code.

    Authentication

    All API requests require authentication using an API key. Include your API key in the request header.

    Don't have an API key? by logging in.

    API Parameters

    Parameter
    Type
    Required
    Description
    date
    string
    Yes
    Race date (YYYY-MM-DD format)
    track
    string
    Yes
    Track identifier (slug format)
    race
    integer
    Yes
    Race number (1-12)
    race_code
    string
    No
    Race type: gallops, harness, or greyhounds (default: gallops)
    country
    string
    No
    Two-letter country code, e.g. au, nz, hk, gb, us, jp, sg, fr, ie (default: au)
    timezone
    string
    No
    IANA timezone for date interpretation, e.g. Europe/London, America/New_York (default: Australia/Sydney)

    Form String Reference

    The form and last20Starts fields contain the runner's finishing positions (most recent last).

    1-9
    Finishing position
    0
    Finished 10th or worse
    x
    Spell (rest period)

    Statistics Fields

    Each runner includes comprehensive career statistics broken down by context:

    overall
    Full career statistics across all races
    track
    Performance at this specific track/venue
    distance
    Performance at this race distance
    trackDistance
    Performance at this track and distance combination
    condition
    Performance on this track condition (Good, Soft, Heavy, etc.)
    firstUp
    Performance first-up after a spell (fresh)
    secondUp
    Performance second-up (second run back from a spell)

    Thoroughbred-Specific Fields

    weight
    Allocated handicap weight in kilograms
    claim
    Apprentice jockey weight allowance in kg (null if no claim). Actual weight carried = weight - claim.

    Frequently Asked Questions

    Everything you need to know about integrating horse racing data into your application