What data does the Unibet UK API provide?
PulseScore provides pre-match and live odds from Unibet's UK sportsbook (unibet.co.uk) across 25 sports, plus horse, greyhound and harness racing cards and a 30-day results archive. Each event includes normalized market data with canonical market types and selections carrying decimal odds, alongside Unibet's English market names and its own market and selection IDs.
Which sports are covered?
Twenty-five: Soccer, Tennis, Table Tennis, Esports, American Football, Ice Hockey, Basketball, Handball, Baseball, Cricket, Rugby Union, Rugby League, MMA, Boxing, Darts, Snooker, Australian Rules, Volleyball, Badminton, Field Hockey, Water Polo, Golf, Formula 1, Motorsports and Cycling. Each exposes /leagues, /leagues/:league/events, /events and /events/:eventId, and all 25 are subscribable on the WebSocket. Golf, Formula 1, motorsports and cycling are outright-only at the moment; fixtures appear as their calendars start. Horse racing, greyhounds and harness racing sit alongside under /horse-racing/races, /greyhounds/races and /harness/races.
How deep are the market boards?
Soccer fixtures average 91 markets and peak at 504, and the top leagues run far deeper than the average - LaLiga and the Championship around 230 per fixture, Serie A 175, Ligue 1 170, Bundesliga 155, Premier League 140 - with the three-way line, double chance, draw no bet, Asian and 3-way handicaps, totals and team totals for the match and both halves, both teams to score, correct score, half-time/full-time, winning margin, corners and cards totals, goalscorer cards, a player-props card and Result-and-Total combinations. Baseball averages 48 markets, ice hockey 43, American football 28 (up to 176), cricket 21, tennis 15 and basketball 14. moreInfo.propositionCount counts market types while marketsBuilt counts the lines in the document.
How are markets and selections identified?
rawName is Unibet's English display name (Full Time Result, Asian Handicap, Total Goals) and every market also carries a canonicalMarket - 41 distinct types on soccer alone - with canonicalOutcome (HOME / DRAW / AWAY / OVER / UNDER / YES / NO) on every selection, so you never parse a name. eventId is Kindred's 32-character hex key, marketId is eventId:propositionKey:line (…:total:2.5) and selectionId adds the participant. Odds are decimal numbers only - there is no fractional or American string. Lined markets carry a numeric line on the market and on each selection.
What does the country field contain?
An English name title-cased from the site path - Germany, Czech Republic, but also Usa and Uefa Club - with International and International Clubs for cross-border competitions. On the tour sports it is the tour or tournament rather than a nation: Challenger, Itf Women and Wta 125 on tennis, Esoccer or Esportcounterstrike on esports, Tt Cup on table tennis, Dp Tour or The Majors on golf. Seven sports - American football, boxing, darts, field hockey, MMA, snooker and water polo - carry no country at all. Tennis leagues are the tournament city (Cassis, Genoa) and badminton and table tennis leagues are the draw (Men Singles), with the tournament in country.
Where are the outright markets?
Outright and futures boards are stored with the fixtures of their sport and flagged explicitly: both home and away are empty strings, moreInfo.classification is Outright and moreInfo.outright is true, and the board is one or a few OTHER markets whose rawName carries the competition (UEFA EURO 2028 - Winner, NBL 2026/27 - Regular Season - Top 4). startTime is the tournament date, which can be years ahead or, on a stale board, in the past, so an outright can sit at either end of /events. Filter on a non-empty away for fixtures only.
What do the racing endpoints return?
Upcoming horse, greyhound and harness races in off-time order with the book's compound id (202609091200.T.GBR.redcar.1), the meeting, an ISO-3 country and a region code, the start time, each-way terms, active and settled flags and the runners - number, name, jockey and trainer with a decimal price under EW and a FixedWin market on horse and harness races, and trap and name in a greyhounds array on greyhound races. Prices are decimal only; EW.fractional is always empty, and SP-only runners carry an unknown status and no price. Horse racing spans fourteen countries from British and Irish cards to Japan, Hong Kong, Australia and the USA; greyhounds are British, Irish and Australian; harness runs in Australia, New Zealand, the USA, France and Germany. Racing is prematch-only and not on the WebSocket.
Does Unibet UK support live in-play data?
Yes. Live in-play events are available via REST (/live-events, /live-events/sports, /live-events/events/:eventId) and via WebSocket at wss://api.pulsescore.net/api/unibet-uk/ws/live. Live documents carry the in-play board, a settlement block, and - on the sports that publish them - the running score, a match clock with Unibet's descriptive period names and a machine periodId (SecondHalf / PART_2, ThirdSet / SET_3, SixthInningTop), elapsed minute and second on soccer and tennis, cards and corners in statistics.football on soccer and set scores in statistics.sets on tennis. Esports, cricket, darts, snooker and table tennis run with the market board only and no score. Tennis, soccer and esports dominate the in-play slate.
Is there a WebSocket feed for live events?
Yes. PRO, MAX, and ULTRA plans get access to wss://api.pulsescore.net/api/unibet-uk/ws/live, which pushes every in-play event for the subscribed sport every ~1 second. Pass key and sport as query parameters, with sport in kebab-case (ice-hockey, table-tennis) - the WebSocket rejects the underscore form with close code 4004. All 25 sports are subscribable; a sport with nothing in play simply pushes count: 0. PRO supports 1 concurrent connection, MAX supports 3, ULTRA supports 6.
Does the API include match results?
Yes. Every match Unibet UK takes in-play is mirrored into a 30-day archive from its first sighting and updated in place, and the settlement block is the finished marker: state in_play while it runs, then state final with final: true, a finalAt timestamp and a reason (status when the book marks it Concluded, period when the clock reaches Ended), or state unresolved with delisted: true when an event dropped off the live board without a final. Results filter by sport, league, country and team, and /results/sports, /results/countries and /results/leagues expose the exact filter values. Result documents carry no markets; score is present on the sports that publish one in play.
Can I access Unibet UK alongside other bookmakers with the same key?
Yes. A single API key gives you access to every bookmaker included in your plan - Unibet UK, Unibet FR, Sky Bet, Betway, NetBet, Betfair, Bet365, PS3838, and more. No need for separate keys or accounts.
Is there a free tier?
Yes. The BASIC plan is free and includes 500 API requests per month. Upgrade to PRO, MAX, or ULTRA for unlimited requests.
How do I authenticate with the API?
Sign up for a free account, generate an API key from your dashboard, and pass it via the X-Secret header. The same key works for every bookmaker API.