Skip to content

PulseScore API Review 2026

A developer-to-developer review of PulseScore, an odds API that serves live and pre-match data from 65 bookmakers through REST, per-bookmaker WebSocket feeds and a delta Stream API, with a free tier.

PulseScore at a Glance

PulseScore API Logo
PulseScore
💲 to 💲💲💲
Free Tier
Pregame Live Bet365 Pinnacle Closing SGP Futures Deeplinks Settlement Stats Schedules Websocket MCP Discord

Streaming from: Pro, €79/mo (WebSocket and delta Stream API)

Green = available · amber = unverified or varies by plan · crossed out = not available. Pricing: 💲 ≈ $20/mo up to 💲💲💲💲💲 = $1,000+/mo. From our directory research.

PulseScore Coverage

From the provider's docs, checked : 56 books, 47 leagues, 3 markets, +1 other market.

US sportsbooks

US-facing offshore

Global books

Bet365 1xBet Cloudbet Stake BC.Game PS3838 Thunderpick

UK and Ireland

Betway Ladbrokes Paddy Power William Hill Sky Bet Betfred Star Sports 10bet

Europe

bwin Betclic Betano Interwetten NetBet PMU Winamax Eurobet Merkur Bets

Australia and New Zealand

TAB BetRight Unibet (AU)

Exchanges and prediction markets

18 more books as the provider labels them
AdmiralBet(DE) Bet-at-home BetDeluxe(AU) Betpoint(IT) Betway MW Chance Eplay24(IT) Fitzdares(UK) Melbet Mozzart NEO.bet Polymarket Sisal Sportsbet AU Tipsport Tipwin(DE) Unibet FR Unibet UK

Boxing

Boxing
46 more leagues as the provider labels them
alpine-skiing american-football australian-rules badminton bandy baseball basketball beach-volley cricket cycling darts esports field-hockey floorball formula-1 futsal gaelic-football gaelic-games golf greyhounds handball harness horse-racing hurling ice-hockey lacrosse martial-arts mma motorsports netball padel pickleball politics pro-wrestling rugby rugby-league rugby-union snooker soccer squash table-tennis tennis trotting tv-specials volleyball water-polo
Markets by family
Family Markets
Mainlines 2
Game props 1
Other markets 1

Each market counts once, however many leagues carry it. Other markets are the provider's own market labels that we have not matched to our market names yet. The extra book and league labels come straight from the provider and are not matched to our book and league names yet. These labels still count in the totals.

Live odds: yes, per the provider's docs.

What PulseScore Is

PulseScore is a sports odds API that aggregates live and pre-match data from 65 bookmakers, including Bet365, PS3838, DraftKings, FanDuel, BetMGM and Betfair. It delivers odds through REST endpoints, a WebSocket feed per bookmaker, and a Stream API that sends a full board once and then only the changes.

The focus is on speed and normalization. Each bookmaker gets its own base URL path, but the response schema stays the same across all of them. You write one parser and reuse it whether you are pulling from Bet365 or Bwin. Every plan, the free one included, unlocks every bookmaker and every sport. The plans differ only in request volume, request rate and streaming connections.

Coverage and Data Model

PulseScore lists 40+ sports across its books. Soccer, tennis, basketball, ice hockey, American football, baseball, cricket, rugby, esports, horse racing and greyhounds are the core set, and many books add darts, snooker, MMA, golf, motorsports and more. Sport lists vary by bookmaker, and the docs list them per book.

Bookmaker coverage sits at 65. The set mixes major international operators (Bet365, Paddy Power, Betfred, Bwin, Sky Bet, Betano, Winamax), US books (FanDuel, DraftKings, BetMGM, BetRivers, Hard Rock Bet, Bovada) and prediction markets (Kalshi, Polymarket).

Markets use a canonical naming scheme: canonicalMarket (for example MATCH_RESULT or OVER_UNDER), a normalized period, and canonicalOutcome on each selection. A rawName fallback carries the bookmaker's own label for anything the normalization layer has not mapped yet. The pricing page says that every plan gets full market boards, player props included, plus results and deep links through the bookmaker's own event slugs.

Odds are returned in decimal format. If your application needs American odds, you will convert on your side.

REST, WebSocket and the Stream API

REST endpoints cover live and pre-match data. Live events come from /live-events; pre-match data is organized by sport and league (/{sport}/leagues, /{sport}/events). Authentication uses an X-Secret header. Each book has its own path prefix, so a request to /api/v3/bet365/live-events returns Bet365 data only.

Rate limits count per bookmaker, not per key. On Pro (1 request a second per bookmaker), you can call Bet365, FanDuel and PS3838 once a second each, all at the same time. PulseScore told us that a Pro key can reach 30 requests a second in total that way. So the per-book URL model does not slow you down when you track many books.

The WebSocket feed (wss://api.pulsescore.net/api/{bookmaker}/ws/live) pushes a frame about every second with every live event for one bookmaker and sport.

The Stream API is the newer and better option for most apps. You open one socket and declare what you want in the URL, for example bookmakers=bet365,bwin and kinds=live. The server sends the full board for each stream once, then once a second it sends only what changed, keyed by market and selection. That keeps bandwidth at a few KB a second. Pre-match, live and racing all stream, and on Ultra you can ask for every bookmaker and every sport in one declaration. If the socket drops, you reconnect with the last sequence number and the stream resumes without a new snapshot (within 120 seconds). An official JavaScript SDK wraps REST, the WebSocket and the delta streams.

PulseScore Pricing and the Free Tier

Pricing is published in euros. Every plan includes all 65 bookmakers and every sport, and all rate limits count per bookmaker:

  • Basic (free): 500 requests per month, 1 request a second per bookmaker, REST only. No card required.
  • Starter, EUR 20/mo: 30,000 requests a month, 1 request a minute per bookmaker, REST only.
  • Pro, EUR 79/mo: unlimited requests, 1 request a second per bookmaker, 1 WebSocket connection per bookmaker, and 1 Stream API connection for 1 sport across all bookmakers. A 7-day free trial on monthly billing.
  • Max, EUR 149/mo: unlimited requests, 3 requests a second per bookmaker, 3 WebSocket connections per bookmaker, and 2 Stream API connections for 3 sports across all bookmakers.
  • Ultra, EUR 249/mo: unlimited requests, 6 requests a second per bookmaker, 6 WebSocket connections per bookmaker, and 3 Stream API connections for all sports and all bookmakers.

Six-month billing costs five months, and twelve-month billing costs nine. The free tier is enough to test the response shape across every book. Streaming starts at Pro, and the Pro trial lets you try the Stream API before you pay.

Starter's 1 request a minute per bookmaker suits pre-match boards that do not move fast. For live data, Pro is the realistic starting point.

What Is Missing

PulseScore focuses on live and pre-match odds delivery. A few things that other odds APIs include are not here:

  • No closing lines or historical odds archive. Results are included, but there is no endpoint for closing prices or historical line movement. If your workflow depends on historical odds for backtesting or CLV analysis, you will need a second provider.
  • No full stats feed. Live events carry the current score, and 20+ bookmakers expose /results with final scores, period breakdowns and match stats where the book publishes them (checked November 2026). There are no standings or schedules beyond the odds boards.
  • No MCP server. There is no Claude or AI-assistant integration yet.

That makes PulseScore an odds pipe, not an all-in-one data platform. The team ships new books and features often, so check the docs for what has landed since this review.

Getting an API Key

Create a free account at pulsescore.net, open the dashboard and choose Generate New Key. The same dashboard revokes keys. The Basic plan is free, and the pricing FAQ says it needs no credit card. REST calls carry the key in an X-Secret header. The WebSocket endpoints take it as a ?key= query parameter instead.

The docs say to keep the key on the server and out of client-side code. They also ask your client to send Accept-Encoding: gzip, which shrinks a board 6 to 14 times on the wire. Python's requests does that by default (checked November 2026).

A First Request in Python

This sample asks Bet365 for its next three pre-match soccer events. Bet365 has its own prefix, /api/v3/bet365, and other books use /api/{bookmaker} with the same paths and response shape. The reply is a paginated envelope: total counts the upcoming events and events holds the page. Each event has home, away, startTime and a markets list, and each market lists selections with decimal odds (from the docs, checked November 2026).

import os
import requests

resp = requests.get(
    "https://api.pulsescore.net/api/v3/bet365/soccer/events",
    headers={"X-Secret": os.environ["PULSESCORE_API_KEY"]},
    params={"limit": 3},
    timeout=30,
)
resp.raise_for_status()
data = resp.json()
print(data["total"], "upcoming events")
for event in data["events"]:
    print(event["home"], "v", event["away"], event["startTime"], len(event["markets"]), "markets")

List endpoints default to 5 items a page and cap limit at 30.

Rate Limits, Docs and SDKs

The plan table above gives the per-bookmaker numbers. The docs add the failure mode. Successful responses carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and going over the limit returns a 429. Ten rejections within ten seconds on one bookmaker pause the key there for 60 seconds, with a Retry-After header. Back off on the first 429 and the pause does not start. The Stream API has its own limits and ignores the pause.

The API docs cover REST, WebSocket and delta streams with curl, Python and Node.js examples, and each bookmaker has its own Swagger page. The one official SDK is JavaScript and TypeScript: @pulsescore/sdk, MIT licensed. Python users get a reference stream client, apply.py. We found no status page or changelog; the X account posts new books and API changes. Support is pulsescore@gmail.com or the Telegram link on the site (checked November 2026).

Who PulseScore Is For

PulseScore fits live odds display and cross-book comparison. If you are building an odds-comparison site, a live alerting tool or a trading model and you need second-by-second prices from Bet365, the US majors and a long list of European books, the Stream API delivers that over one socket.

It also suits developers who want international coverage beyond the US-only providers. Horse racing, greyhounds, cricket, rugby and Australian rules are not common in the US-focused odds API market, and PulseScore covers them.

Look elsewhere if your work depends on closing lines or historical data. For other live feeds, compare options in the live sports odds API guide.

Verdict

PulseScore is a clean, fast odds pipe. One normalized schema across 65 bookmakers, rate limits that count per book, and a delta Stream API that keeps an exact copy of every board for a few KB a second solve the core problem of getting live prices into your application without scraping.

The gaps are history and stats. If those matter, pair PulseScore with a second source. If you need a live odds feed with Bet365 and a wide book list, the free tier costs nothing to test, and the Pro trial covers the stream.

Last updated: · How providers get listed

Frequently Asked Questions

Yes. The Basic plan is free with no credit card required. It gives you 500 requests per month at 1 request per second per bookmaker, with every bookmaker and sport included, but no streaming. That is enough to test the API shape before you move to a paid plan.
Five tiers priced in euros: Basic (free, 500 requests a month), Starter (EUR 20/mo, 30,000 requests a month), Pro (EUR 79/mo), Max (EUR 149/mo) and Ultra (EUR 249/mo). Pro, Max and Ultra have unlimited requests at 1, 3 and 6 requests a second per bookmaker, and they include the WebSocket feed and the Stream API. Pro has a 7-day free trial.
PulseScore lists 40+ sports, including soccer, tennis, basketball, ice hockey, baseball, American football, cricket, rugby league and union, volleyball, handball, table tennis, esports, horse racing, and greyhounds. Availability varies by bookmaker.
Yes. Bet365 is one of the 65 bookmakers in the feed. It has its own versioned API path (/api/v3/bet365) and supports REST, WebSocket and the Stream API. Other books include PS3838, FanDuel, DraftKings, BetMGM and Paddy Power.
Yes, from the Pro tier (EUR 79/mo). There are two options. The WebSocket feed pushes every live event for one bookmaker and sport about every second. The Stream API uses one socket for many bookmakers and sports: it sends the full board once and then only the changes. Pro gets 1 stream connection for 1 sport, Max 2 connections for 3 sports, and Ultra 3 connections for every sport, all across every bookmaker.
No. PulseScore includes results, but it has no closing-line or historical line-movement endpoints. For backtesting, you will need a separate provider. Compare historical odds sources →
Create a free account at pulsescore.net, open the dashboard and choose Generate New Key. The Basic plan needs no credit card. Send the key in an X-Secret header on REST calls, or as a key query parameter on WebSocket connections. You can revoke a key from the same dashboard.
You get a 429. Successful responses carry X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers, so you can pace yourself. Ten rejections within ten seconds on one bookmaker pause your key there for 60 seconds, and the 429 then includes a Retry-After header. Backing off on the first 429 avoids the pause.

PulseScore Alternatives

Similar providers from the directory worth shortlisting alongside PulseScore.

Want to test the live feed?

Sign up for the free tier (no card required), pull odds from all 65 bookmakers, and test the response shape before you move to a plan with streaming.

Are You the Team Behind PulseScore?

Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.

Each of these works best on a reviews or "As cited on SportsAPIs.dev" page that your homepage links to, or in a testimonial strip on the homepage.

Badge

PulseScore is listed on SportsAPIs.dev
<a href="https://sportsapis.dev/apis/pulsescore" title="PulseScore on SportsAPIs.dev">
  <img src="https://sportsapis.dev/assets/images/badges/listed-on-sportsapis.svg"
       alt="PulseScore is listed on SportsAPIs.dev" width="220" height="48">
</a>

Text link

<a href="https://sportsapis.dev/apis/pulsescore">Read the PulseScore review on SportsAPIs.dev</a>

Review quote

<blockquote>
  Live and pre-match odds from 65 bookmakers via WebSocket and delta
  streams.
</blockquote>
<p><a href="https://sportsapis.dev/apis/pulsescore">SportsAPIs.dev review</a></p>

Want a Featured Partner spot or to update your listing? Partner with us →