What data does the Unibet FR API provide?
PulseScore provides pre-match and live odds from Unibet France (unibet.fr) across 20 sports — Soccer, Tennis, Ice Hockey, Basketball, Rugby Union, Rugby League, Handball, Baseball, Badminton, American Football, Snooker, MMA, Boxing, Golf, Cycling, Motorsports, Formula 1, Volleyball, Australian Rules and Table Tennis. Each event includes normalized market data with canonical market types, selections, and decimal odds, plus a 30-day results archive.
Is Unibet FR the same feed as Unibet AU?
No. They are separate books on separate licences with separate boards, and PulseScore carries them as two independent APIs. Unibet FR is the ARJEL-licensed French storefront with a French-language board led by Ligue 1 and Ligue 2; Unibet AU is the Australian book with racing-first coverage. Both are available under the same API key, but do not treat one as a regional mirror of the other.
Which sports are covered?
All 20 sports Unibet FR publishes: Soccer, Tennis, Ice Hockey, Basketball, Rugby Union, Rugby League, Handball, Baseball, Badminton, American Football, Snooker, MMA, Boxing, Golf, Cycling, Motorsports, Formula 1, Volleyball, Australian Rules and Table Tennis. Each sport exposes /leagues, /leagues/:league/events, /events (paginated), and /events/:eventId, and all 20 are subscribable on the WebSocket.
Are the league and market names in French?
Yes — they are passed through exactly as Unibet publishes them, so you get 'Ligue 1 McDonalds', 'Ligue des Champions', '1 N 2', 'Face à Face', 'Score Exact' and countries like 'Allemagne' and 'Etats-Unis'. Alongside those raw names, every market carries a canonicalMarket value (MATCH_RESULT, OVER_UNDER, …) and every selection a canonicalOutcome (HOME, DRAW, AWAY), which are identical across every bookmaker on PulseScore. Integrate against the canonical fields and the language never matters.
Why do some events only have one market?
Read moreInfo.source. A fixture marked board has had its full market board fetched, and marketsHeld equals boardSize. A fixture marked coupon was discovered on a competition coupon and carries exactly one headline market, while boardSize still reports how many markets Unibet has open for it — so you may see boardSize 350 with marketsHeld 1. Boards are deep-fetched a bounded number per cycle, so a new fixture fills out from coupon to board over the following cycles.
How are outrights and futures returned?
They live in the same collections as match fixtures rather than a separate endpoint. Outright events are flagged moreInfo.outright: true and carry empty home and away strings — their identity is in the league name plus the final segment of slug. Filter on moreInfo.outright if you only want head-to-head fixtures. Cycling, Formula 1, golf and motorsports are largely outright boards; soccer, tennis, basketball, ice hockey and rugby mix a few futures into an otherwise head-to-head board.
Why do odds appear twice on each selection?
Each selection carries odds as a number (2.55) and rawOdds as the string Unibet prints on the site, which uses the French decimal comma ('2,55'). Always read odds; rawOdds is there for display parity with the French site and will not parse as a float.
How are the markets structured?
All markets use a canonical format: each market has a type (e.g., MATCH_RESULT, OVER_UNDER), period (FULL_TIME, FIRST_HALF, FIRST_SET), and selections with decimal odds. The same structure is shared across all sports and all bookmakers on PulseScore — write your integration once.
Does Unibet FR 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-fr/ws/live. The WebSocket pushes every in-play event for the subscribed sport every ~1 second, across all 20 sports. Live documents add the running score and a match clock; the set-based sports (tennis, badminton, snooker, table tennis) also carry per-period scores with their labels and a statistics block, while soccer and baseball instead get minute and second on the match clock.
Is there a WebSocket feed for live events?
Yes. PRO, MAX, and ULTRA plans get access to wss://api.pulsescore.net/api/unibet-fr/ws/live, which pushes every in-play event for the subscribed sport every ~1 second. Pass key and sport as query parameters. PRO supports 1 concurrent connection, MAX supports 3, ULTRA supports 6.
Does the API include match results?
Yes. Every event that goes in-play is stored for 30 days with the last score and match clock the board published — plus per-period scores and statistics on the set-based sports. Entries also carry a settlement block (state, final, inPlay, lastSeenAt), so you can distinguish a finished match from one still running. Filter by sport, league, country and team at /api/unibet-fr/results, and discover valid filter values at /results/sports, /results/countries and /results/leagues.
Can I access Unibet FR alongside other bookmakers with the same key?
Yes. A single API key gives you access to every bookmaker included in your plan — Unibet FR, Betclic, Bet365, Pinnacle, Betfair, 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.