Fitzdares Data API

Fitzdares API for UK Pre-Match, Live, Racing & Results Data

Access Fitzdares' sportsbook through one API — the Premier League, the Championship, League One and League Two, the EFL Cup and the National League, Serie A, LaLiga, the Bundesliga, the Scottish Premiership, the NBA, the NFL, the NHL, ATP and WTA tennis, Counter-Strike and League of Legends across 24 sports, plus British and Irish horse and greyhound cards. Every price comes as a fraction and a decimal, the next round of the big leagues runs to 256–303 markets with goalscorers, player shots, tackles, cards and corners, and every market has a canonical type. Socket-fed in-play boards, 30 days of results graded by the book itself, REST and WebSocket, one API key.

What a Fitzdares API Response Looks Like

GET /api/fitzdares-uk/soccer/events/6797936
{
  "data": {
    "sport": "soccer",
    "league": "England Premier League",
    "eventId": "6797936",
    "home": "Manchester City",
    "away": "Brighton & Hove Albion",
    "live": false,
    "markets": [
      {
        "canonicalMarket": "MATCH_RESULT",
        "rawName": "Match Result",
        "period": "FULL_TIME",
        "isActive": true,
        "selections": [
          {
            "canonicalOutcome": "DRAW",
            "rawName": "Draw",
            "odds": 4.333333333,
            "isActive": true,
            "selectionId": "637597765",
            "rawOdds": "4.333333333",
            "fractional": "10/3",
            "moreInfo": {
              "type": "X"
            }
          },
          {
            "canonicalOutcome": "HOME",
            "rawName": "Manchester City",
            "odds": 1.615384615,
            "isActive": true,
            "selectionId": "637597763",
            "rawOdds": "1.615384615",
            "fractional": "8/13",
            "moreInfo": {
              "type": "A"
            }
          },
          {
            "canonicalOutcome": "AWAY",
            "rawName": "Brighton & Hove Albion",
            "odds": 4.5,
            "isActive": true,
            "selectionId": "637597767",
            "rawOdds": "4.5",
            "fractional": "7/2",
            "moreInfo": {
              "type": "B"
            }
          }
        ],
        "marketId": "200484970",
        "moreInfo": {
          "type": "SOCCER:FT:AXB",
          "subtype": "M"
        }
      },
      {
        "canonicalMarket": "ASIAN_HANDICAP",
        "rawName": "Handicap",
        "period": "FULL_TIME",
        "isActive": true,
        "selections": [
          {
            "canonicalOutcome": "HOME",
            "rawName": "Manchester City -1.5",
            "odds": 2.625,
            "isActive": true,
            "selectionId": "637609086",
            "rawOdds": "2.625",
            "fractional": "13/8",
            "moreInfo": {
              "type": "AH"
            },
            "line": -1.5
          },
          {
            "canonicalOutcome": "AWAY",
            "rawName": "Brighton & Hove Albion +1.5",
            "odds": 1.444444444,
            "isActive": true,
            "selectionId": "637609090",
            "rawOdds": "1.444444444",
            "fractional": "4/9",
            "moreInfo": {
              "type": "BH"
            },
            "line": 1.5
          }
        ],
        "marketId": "200488360",
        "line": -1.5,
        "moreInfo": {
          "type": "SOCCER:FT:HCP",
          "subtype": "M#-1.5"
        }
      },
      {
        "canonicalMarket": "OVER_UNDER",
        "rawName": "Total Goals",
        "period": "FULL_TIME",
        "isActive": true,
        "selections": [
          {
            "canonicalOutcome": "OVER",
            "rawName": "Over 2.5",
            "odds": 1.4,
            "isActive": true,
            "selectionId": "637604612",
            "rawOdds": "1.4",
            "fractional": "2/5",
            "moreInfo": {
              "type": "Over"
            },
            "line": 2.5
          },
          {
            "canonicalOutcome": "UNDER",
            "rawName": "Under 2.5",
            "odds": 2.7,
            "isActive": true,
            "selectionId": "637604616",
            "rawOdds": "2.7",
            "fractional": "17/10",
            "moreInfo": {
              "type": "Under"
            },
            "line": 2.5
          }
        ],
        "marketId": "200486939",
        "line": 2.5,
        "moreInfo": {
          "type": "SOCCER:FT:OU",
          "subtype": "M#2.5"
        }
      },
      {
        "canonicalMarket": "BOTH_TEAMS_TO_SCORE",
        "rawName": "Both Teams to Score",
        "period": "FULL_TIME",
        "isActive": true,
        "selections": [
          {
            "canonicalOutcome": "YES",
            "rawName": "Yes",
            "odds": 1.444444444,
            "isActive": true,
            "selectionId": "637603536",
            "rawOdds": "1.444444444",
            "fractional": "4/9",
            "moreInfo": {
              "type": "Yes"
            }
          },
          {
            "canonicalOutcome": "NO",
            "rawName": "No",
            "odds": 2.5,
            "isActive": true,
            "selectionId": "637603540",
            "rawOdds": "2.5",
            "fractional": "6/4",
            "moreInfo": {
              "type": "No"
            }
          }
        ],
        "marketId": "200486599",
        "moreInfo": {
          "type": "SOCCER:FT:BTS",
          "subtype": "M"
        }
      },
      {
        "canonicalMarket": "ANYTIME_GOALSCORER",
        "rawName": "Player To Score",
        "period": "FULL_TIME",
        "isActive": true,
        "selections": [
          {
            "canonicalOutcome": "OTHER",
            "rawName": "Philip Walter Foden",
            "odds": 3.1,
            "isActive": true,
            "selectionId": "648982287",
            "rawOdds": "3.1",
            "fractional": "21/10",
            "moreInfo": {
              "type": "A:13152"
            }
          },
          {
            "canonicalOutcome": "OTHER",
            "rawName": "Rico Lewis",
            "odds": 11,
            "isActive": true,
            "selectionId": "648982284",
            "rawOdds": "11",
            "fractional": "10/1",
            "moreInfo": {
              "type": "A:23094"
            }
          },
          {
            "canonicalOutcome": "OTHER",
            "rawName": "Abdukodir Khikmatovich Khusanov",
            "odds": 12,
            "isActive": true,
            "selectionId": "648982280",
            "rawOdds": "12",
            "fractional": "11/1",
            "moreInfo": {
              "type": "A:31925"
            }
          }
        ],
        "marketId": "203905120",
        "moreInfo": {
          "type": "SOCCER:FT:PPROPSC",
          "subtype": "M101"
        }
      },
      {
        "canonicalMarket": "CORNERS_OVER_UNDER",
        "rawName": "Total Corners",
        "period": "FULL_TIME",
        "isActive": true,
        "selections": [
          {
            "canonicalOutcome": "OVER",
            "rawName": "Over 10.5",
            "odds": 1.952380952,
            "isActive": true,
            "selectionId": "649176356",
            "rawOdds": "1.952380952",
            "fractional": "20/21",
            "moreInfo": {
              "type": "Over"
            },
            "line": 10.5
          },
          {
            "canonicalOutcome": "UNDER",
            "rawName": "Under 10.5",
            "odds": 1.727272727,
            "isActive": true,
            "selectionId": "649176360",
            "rawOdds": "1.727272727",
            "fractional": "8/11",
            "moreInfo": {
              "type": "Under"
            },
            "line": 10.5
          }
        ],
        "marketId": "203931417",
        "line": 10.5,
        "moreInfo": {
          "type": "SOCCER:FT:COU",
          "subtype": "M#10.5"
        }
      }
    ],
    "moreInfo": {
      "sportCode": "SOCCER",
      "competitionId": "203387",
      "categoryId": "202448",
      "category": "England"
    },
    "country": "England",
    "startTime": "2026-10-31T15:00:00.000Z",
    "slug": "/en/sports/soccer/england/england-premier-league/manchester-city-v-brighton-&-hove-albion/6797936",
    "updatedAt": "2026-10-27T20:02:31.778Z"
  }
}

Racing Cards — Fractional Prices & Each-Way Terms

GET /api/fitzdares-uk/horse-racing/races/6918648
{
  "data": {
    "id": "6918648",
    "settled": false,
    "isInPlay": "false",
    "active": "true",
    "name": "16:45 Kempton",
    "EW": "EW: 1/5 odds 3 places",
    "horses": [
      {
        "id": "647890920",
        "name": "Girls Allowed",
        "jockey": "Dylan Hogan",
        "trainer": "J & S Birkett",
        "active": true,
        "EW": {
          "status": "active",
          "fractional": "1/1",
          "decimal": "2"
        },
        "number": "1"
      },
      {
        "id": "647890924",
        "name": "Upsomdowns",
        "jockey": "Paddy Bradley",
        "trainer": "P Phelan",
        "active": true,
        "EW": {
          "status": "active",
          "fractional": "6/1",
          "decimal": "7"
        },
        "number": "2"
      },
      {
        "id": "647890928",
        "name": "Blue Hill",
        "jockey": "K S McHugh",
        "trainer": "I Mohammed & J Santos",
        "active": true,
        "EW": {
          "status": "active",
          "fractional": "17/2",
          "decimal": "9.5"
        },
        "number": "3"
      },
      {
        "id": "647890932",
        "name": "Gatlinburg",
        "jockey": "S C Cronin",
        "trainer": "M J Attwater",
        "active": true,
        "EW": {
          "status": "active",
          "fractional": "18/1",
          "decimal": "19"
        },
        "number": "4"
      }
    ],
    "onlySP": false,
    "startDate": "2026-10-28T16:45:00.000Z",
    "country": "UK",
    "region": "Kempton",
    "meetingId": "6918641",
    "slug": "/en/racing/horse_racing/kempton/kempton-28-oct/16:45-kempton/6918648",
    "moreInfo": {
      "raceTitle": "Unibet's New VAR Goal Guarantee Handicap (Div 1)",
      "raceType": "Horse_Race_Flat",
      "going": "Standard/Slow",
      "raceNumber": "2"
    },
    "updatedAt": "2026-10-27T20:05:29.074Z"
  }
}

In-Play — Score, Clock, Cards & Grades as They Settle

GET /api/fitzdares-uk/live-events?sport=soccer&limit=1
{
  "total": 86,
  "page": 1,
  "limit": 1,
  "totalPages": 86,
  "hasNextPage": true,
  "hasPrevPage": false,
  "sport": "soccer",
  "events": [
    {
      "eventId": "6892068",
      "sport": "soccer",
      "league": "England EFL Trophy",
      "home": "Shrewsbury Town",
      "away": "Everton U21",
      "markets": [
        {
          "canonicalMarket": "MATCH_RESULT",
          "rawName": "Match Result",
          "period": "FULL_TIME",
          "isActive": true,
          "selections": [
            {
              "canonicalOutcome": "HOME",
              "rawName": "Shrewsbury Town",
              "odds": 1.3,
              "isActive": true,
              "selectionId": "645452445",
              "rawOdds": "1.3",
              "fractional": "3/10",
              "moreInfo": {
                "type": "A"
              }
            },
            {
              "canonicalOutcome": "DRAW",
              "rawName": "Draw",
              "odds": 4,
              "isActive": true,
              "selectionId": "645452450",
              "rawOdds": "4",
              "fractional": "3/1",
              "moreInfo": {
                "type": "X"
              }
            },
            {
              "canonicalOutcome": "AWAY",
              "rawName": "Everton U21",
              "odds": 13,
              "isActive": true,
              "selectionId": "645452454",
              "rawOdds": "13",
              "fractional": "12/1",
              "moreInfo": {
                "type": "B"
              }
            }
          ],
          "marketId": "202826994",
          "moreInfo": {
            "type": "SOCCER:FT:AXB",
            "subtype": "M"
          }
        },
        {
          "canonicalMarket": "OVER_UNDER",
          "rawName": "Total Goals",
          "period": "FULL_TIME",
          "isActive": true,
          "selections": [
            {
              "canonicalOutcome": "UNDER",
              "rawName": "Under 2.5",
              "odds": 1.3,
              "isActive": true,
              "selectionId": "645453441",
              "rawOdds": "1.3",
              "fractional": "3/10",
              "moreInfo": {
                "type": "Under"
              },
              "line": 2.5
            },
            {
              "canonicalOutcome": "OVER",
              "rawName": "Over 2.5",
              "odds": 3.25,
              "isActive": true,
              "selectionId": "645453436",
              "rawOdds": "3.25",
              "fractional": "9/4",
              "moreInfo": {
                "type": "Over"
              },
              "line": 2.5
            }
          ],
          "marketId": "202827318",
          "line": 2.5,
          "moreInfo": {
            "type": "SOCCER:FT:OU",
            "subtype": "M#2.5"
          }
        },
        {
          "canonicalMarket": "BOTH_TEAMS_TO_SCORE",
          "rawName": "Both Teams to Score",
          "period": "FULL_TIME",
          "isActive": true,
          "selections": [
            {
              "canonicalOutcome": "NO",
              "rawName": "No",
              "odds": 1.615384615,
              "isActive": true,
              "selectionId": "645453106",
              "rawOdds": "1.615384615",
              "fractional": "8/13",
              "moreInfo": {
                "type": "No"
              }
            },
            {
              "canonicalOutcome": "YES",
              "rawName": "Yes",
              "odds": 2.2,
              "isActive": true,
              "selectionId": "645453100",
              "rawOdds": "2.2",
              "fractional": "6/5",
              "moreInfo": {
                "type": "Yes"
              }
            }
          ],
          "marketId": "202827201",
          "moreInfo": {
            "type": "SOCCER:FT:BTS",
            "subtype": "M"
          }
        }
      ],
      "slug": "/en/sports/soccer/england/england-efl-trophy/shrewsbury-town-v-everton-u21/6892068",
      "country": "England",
      "startTime": "2026-10-27T19:00:00.000Z",
      "moreInfo": {
        "sportCode": "SOCCER",
        "competitionId": "246291",
        "categoryId": "202448",
        "category": "England"
      },
      "score": {
        "home": "1",
        "away": "0"
      },
      "matchClock": {
        "minute": 69,
        "second": 21,
        "period": "IN_SECOND_HALF",
        "running": true
      },
      "statistics": {
        "football": {
          "home": {
            "yellowCards": 0,
            "redCards": 0,
            "corners": 7
          },
          "away": {
            "yellowCards": 1,
            "redCards": 0,
            "corners": 5
          }
        }
      },
      "periodScores": {
        "home": [
          0,
          0
        ],
        "away": [
          0,
          0
        ],
        "labels": [
          "H1",
          "H2"
        ]
      },
      "settlement": {
        "source": "fitzdares",
        "state": "in_play",
        "final": false,
        "inPlay": true,
        "lastSeenAt": "2026-10-27T20:25:00.000Z",
        "settledSelections": 164,
        "settledMarkets": 50,
        "lastGradeAt": "2026-10-27T20:21:52.951Z"
      },
      "settledOpportunities": [
        {
          "market": "AWAY_ODD_EVEN",
          "period": "FIRST_HALF",
          "outcome": "ODD",
          "selection": "Odd",
          "result": "LOST"
        },
        {
          "market": "AWAY_ODD_EVEN",
          "period": "FIRST_HALF",
          "outcome": "EVEN",
          "selection": "Even",
          "result": "WON"
        },
        {
          "market": "OTHER",
          "period": "FULL_TIME",
          "outcome": "OTHER",
          "selection": "Everton U21",
          "result": "LOST",
          "rawMarket": "Match Result after 5 Minutes"
        }
      ],
      "updatedAt": "2026-10-27T20:26:04.869Z"
    }
  ]
}

Results — Graded by the Book, Market by Market

GET /api/fitzdares-uk/results?sport=soccer&league=England%20Premier%20League&country=England&limit=1
{
  "total": 9,
  "page": 1,
  "limit": 1,
  "totalPages": 9,
  "hasNextPage": true,
  "hasPrevPage": false,
  "results": [
    {
      "eventId": "6701747",
      "away": "Leeds United",
      "country": "England",
      "home": "Sunderland",
      "league": "England Premier League",
      "matchClock": {
        "minute": 90,
        "second": 0,
        "period": "AT_FULL_TIME",
        "running": false,
        "periodId": "ENDED"
      },
      "moreInfo": {
        "sportCode": "SOCCER",
        "competitionId": "203387",
        "categoryId": "202448",
        "category": "England",
        "ended": true
      },
      "periodScores": {
        "home": [
          0,
          0
        ],
        "away": [
          0,
          0
        ],
        "labels": [
          "H1",
          "H2"
        ]
      },
      "score": {
        "home": "0",
        "away": "0"
      },
      "settlement": {
        "source": "fitzdares",
        "state": "final",
        "final": true,
        "inPlay": false,
        "lastSeenAt": "2026-10-25T18:23:00.000Z",
        "settledSelections": 414,
        "settledMarkets": 118,
        "reason": "status",
        "finalAt": "2026-10-25T18:23:16.662Z",
        "lastGradeAt": "2026-10-25T18:23:51.862Z"
      },
      "slug": "/en/sports/soccer/england/england-premier-league/sunderland-v-leeds-united/6701747",
      "sport": "soccer",
      "startTime": "2026-10-25T16:30:00.000Z",
      "statistics": {
        "football": {
          "home": {
            "yellowCards": 1,
            "redCards": 0,
            "corners": 4
          },
          "away": {
            "yellowCards": 2,
            "redCards": 0,
            "corners": 5
          }
        }
      },
      "updatedAt": "2026-10-25T18:33:30.266Z",
      "settledOpportunities": [
        {
          "market": "MATCH_RESULT",
          "period": "FULL_TIME",
          "outcome": "HOME",
          "selection": "Sunderland",
          "result": "LOST"
        },
        {
          "market": "MATCH_RESULT",
          "period": "FULL_TIME",
          "outcome": "AWAY",
          "selection": "Leeds United",
          "result": "LOST"
        },
        {
          "market": "MATCH_RESULT",
          "period": "FULL_TIME",
          "outcome": "DRAW",
          "selection": "Draw",
          "result": "WON"
        },
        {
          "market": "BOTH_TEAMS_TO_SCORE",
          "period": "FULL_TIME",
          "outcome": "NO",
          "selection": "No",
          "result": "WON"
        },
        {
          "market": "BOTH_TEAMS_TO_SCORE",
          "period": "FULL_TIME",
          "outcome": "YES",
          "selection": "Yes",
          "result": "LOST"
        },
        {
          "market": "CORRECT_SCORE",
          "period": "FULL_TIME",
          "outcome": "OTHER",
          "selection": "0-0",
          "result": "WON"
        },
        {
          "market": "OTHER",
          "period": "FULL_TIME",
          "outcome": "OTHER",
          "selection": "No",
          "result": "WON",
          "rawMarket": "Leeds United to Score in Both Halves"
        }
      ]
    }
  ]
}

Why Use PulseScore for Fitzdares Data

Fractional and Decimal on Every Price

Fitzdares is a British book and prices on fractional ladders: every selection carries the fraction the site shows (4/6, 11/8, 150/1) next to the decimal odds, on sports and racing alike, so you can display UK prices without converting them.

Up to 303 Markets on the Next Round

The round about to be played runs to 256–303 markets in the big leagues — anytime, first and last goalscorer, player shots, shots on target, tackles, fouls, cards and goalkeeper saves, corners — while later rounds keep a 140-market core. NBA games on the night carry up to 493 markets of player props.

British and Irish Racing Cards

Horse racing from Britain, Ireland, the USA, Australia, France, Hong Kong and Chile, and greyhounds from fourteen British and two Irish tracks: runners with saddle cloth or trap, jockey and trainer, fractional and decimal prices, each-way terms, the going and the race type.

Socket-Fed In-Play Boards

In-play prices come from Fitzdares' own price socket, up to 208 markets on a soccer match, with the score, the clock to the second, period scores, cards and corners, per-set scores on tennis and volleyball, and the Betradar match ID on most sports.

Results Graded by the Book

Fitzdares settles markets as the match is played, and every grade is stored: each result lists the selections the book marked won or lost — 173 on an average soccer match — kept for 30 days with the final score and filterable by sport, league, country and team.

REST Plus WebSocket Streaming

Poll the REST endpoints for prematch boards, leagues, racing cards and results, or subscribe over WebSocket for in-play pushes roughly every second. All 24 prematch sports are subscribable on PRO, MAX and ULTRA plans, and one PulseScore API key works across Fitzdares (UK) and every other bookmaker on the platform.

Frequently Asked Questions

What data does the Fitzdares API provide?

Pre-match odds for 24 sports with every market's canonical type, horse and greyhound racing cards, in-play boards with the score and clock, and 30 days of results with Fitzdares' own grades — via REST, plus a WebSocket for live events. Every price carries both the fraction and the decimal.

Which sports are covered?

Soccer, tennis, basketball, ice hockey, American football, handball, volleyball, esports, baseball, rugby union, rugby league, futsal, cricket, Australian rules, water polo, boxing and MMA as fixtures, plus darts, snooker, golf, Formula 1, motorsports, cycling and lacrosse as outrights, and horse racing and greyhounds as race cards. Small sports carry few events at a time — call /sport-availability for what is on.

How deep are the Fitzdares soccer boards?

The round about to be played carries the full board: the Premier League 256–278 markets, the Championship 264–282, Serie A up to 303, with goalscorers, player shots, tackles, fouls, cards and saves and the corners books. Later rounds keep a core of about 140 markets, and smaller leagues 5–130. There are 55 canonical types on soccer; a third of the markets, mostly combos and minute windows, are OTHER.

Are fractional odds included?

Yes. Fitzdares prices every selection on a fractional ladder, and each one carries fractional (the fraction fitzdares.com shows, such as 4/6 or 11/8), the decimal odds as a number and rawOdds as a decimal string. Racing runners carry both under EW: { fractional, decimal }.

Is horse racing included?

Yes. /api/fitzdares-uk/horse-racing/races lists horse races from Britain, Ireland, the USA, Australia, Chile, France, Hong Kong and more, and /api/fitzdares-uk/greyhounds/races British and Irish greyhound cards. Each card has the runners with saddle cloth or trap, jockey and trainer, the fixed price as a fraction and a decimal, the each-way terms and, for horses, the going and race type. Cards without fixed prices yet are flagged onlySP: true.

How do lines and handicaps work?

Each line is its own market: a Handicap or Total Goals market quotes one line, carried on the market and on every selection. Handicap lines are home-relative — the home selection carries -0.5 and the away selection +0.5 — so read the selection's line rather than the number in rawName.

Is live in-play data available?

Yes — /api/fitzdares-uk/live-events over HTTP and a WebSocket for streaming. Live documents keep the prematch eventId; prices come from Fitzdares' price socket, up to 208 markets on a soccer match, with the score as strings, the match clock, period scores, cards and corners, per-set scores, and the grades of every market the book has settled so far.

Does the Fitzdares API include results?

Yes. Every match Fitzdares takes in play is kept for 30 days with its last score, clock and statistics, and with the book's own grades — every selection it marked won or lost, 173 on an average soccer match. Basketball, ice hockey and American football rows often stop a minute or two before the end and stay in_play, so check settlement.final. /results/sports, /results/countries and /results/leagues list what is stored.

How do I connect to the Fitzdares WebSocket?

Open wss://api.pulsescore.net/api/fitzdares-uk/ws/live?key=YOUR_KEY&sport=soccer. The sport parameter is kebab-case (ice-hockey, american-football, rugby-union, australian-rules) and all 24 prematch sports are valid. The server sends a connected frame with your plan and the valid sport list, then pushes live events roughly every second. WebSocket access requires PRO, MAX or ULTRA.

How often is the data updated?

A prematch board is re-read every minute within an hour of the start, then every 2 to 30 minutes the further away it is, and a fixture is closed in place at kick-off. In play, the price socket updates the boards as the book changes them and a changed match is written within about half a second; frames go out over WebSocket roughly every second, and a match leaves /live-events within 120 seconds of leaving the in-play list. Racing cards are re-read every 20 seconds in the last 15 minutes before the off.

Can I use this data commercially?

Yes. PulseScore plans cover commercial use — odds comparison sites, trading models, in-play dashboards and internal tooling. Rate limits and WebSocket connection counts scale with the plan, and one API key works across Fitzdares (UK) and every other bookmaker on the platform.

Start Using the Fitzdares API Today

Free tier available. No credit card required. Get your API key in 30 seconds.