BetRivers Data API

BetRivers API for Pre-Match, Live Odds & Results

Access odds from Rush Street's betrivers.com sportsbook across 16 sports. Normalized markets, paginated REST endpoints, a real-time WebSocket feed, and a 30-day results archive with final scores and per-period breakdowns. One API key for all bookmakers.

What a BetRivers API Response Looks Like

GET /api/betrivers/soccer/events?page=1&limit=5
{
  "total": 718,
  "page": 1,
  "limit": 5,
  "totalPages": 144,
  "hasNextPage": true,
  "events": [
    {
      "sport": "soccer",
      "country": "Saudi Arabia",
      "league": "Professional League",
      "eventId": "1028515770",
      "home": "Neom SC",
      "away": "Al Feiha",
      "live": false,
      "startTime": "2026-08-14T16:50:00.000Z",
      "markets": [
        {
          "canonicalMarket": "MATCH_RESULT",
          "rawName": "Full Time",
          "period": "FULL_TIME",
          "isActive": true,
          "marketId": "1000316018",
          "selections": [
            {
              "canonicalOutcome": "HOME",
              "rawName": "1",
              "odds": 1.65,
              "isActive": true,
              "selectionId": "4292899906"
            },
            {
              "canonicalOutcome": "DRAW",
              "rawName": "X",
              "odds": 3.45,
              "isActive": true,
              "selectionId": "4292899907"
            },
            {
              "canonicalOutcome": "AWAY",
              "rawName": "2",
              "odds": 4.4,
              "isActive": true,
              "selectionId": "4292899908"
            }
          ]
        }
      ]
    }
  ]
}

Match Results — Final Scores for 30 Days

GET /api/betrivers/results?sport=baseball&page=1&limit=5
{
  "total": 15,
  "page": 1,
  "limit": 5,
  "totalPages": 3,
  "hasNextPage": true,
  "results": [
    {
      "sport": "baseball",
      "country": "South Korea",
      "league": "KBO League",
      "eventId": "1026099832",
      "home": "KIA Tigers",
      "away": "Samsung Lions",
      "startTime": "2026-08-13T10:00:00.000Z",
      "score": {
        "home": "8",
        "away": "9",
        "info": "0-0 | 0-0 | 0-0 | 1-1 | 4-0 | 2-3 | 1-3 | 0-0 | 0-2"
      }
    }
  ]
}

Why Use PulseScore for BetRivers Data

16 Sports With Full Market Coverage

Pre-match odds from BetRivers' betrivers.com sportsbook across 16 sports — Soccer, Tennis, Basketball, Ice Hockey, Baseball, American Football, Cricket, MMA, Boxing, Rugby League, Rugby Union, Table Tennis, Volleyball, Handball, Darts, and Snooker — with paginated league and event endpoints and the complete market list for every fixture.

30-Day Match Results Feed

Every finished event keeps its final score and per-period breakdown for 30 days — filter by sport, league, or team name to settle bets, grade models, or backfill your own database.

Live WebSocket Streaming

Real-time push of every in-play event for the chosen sport, broadcast roughly every second with scores and statistics. PRO, MAX, and ULTRA plans only — connect once and receive each update as it happens. All markets use canonical naming (MATCH_RESULT, OVER_UNDER, ASIAN_HANDICAP) so there are no mapping headaches.

One Key, All Bookmakers

A single API key unlocks every bookmaker included in your plan — BetRivers, BetMGM(US), Bet365, Betfair, BetOnline, Fanduel, and more. No separate accounts or rotation logic.

Frequently Asked Questions

What data does the BetRivers API provide?

PulseScore provides pre-match odds, live in-play odds, and finished-match results from Rush Street Interactive's betrivers.com sportsbook across 16 sports. Each event includes normalized market data with canonical market types, selections, and decimal odds, plus the raw market names as BetRivers displays them.

What sports are covered?

The 16 sports BetRivers publishes pre-match markets for: Soccer, Tennis, Basketball, Ice Hockey, Baseball, American Football, Cricket, MMA, Boxing, Rugby League, Rugby Union, Table Tennis, Volleyball, Handball, Darts, and Snooker. Each sport exposes /leagues, /leagues/:league/events, /events (paginated), and /events/:eventId.

Is golf covered?

Golf on BetRivers is live-only: in-play golf events appear in the live-events endpoints and finished tournaments appear in the results feed, but there are no pre-match golf endpoints and golf cannot be subscribed to over WebSocket.

Does it include match results?

Yes. /api/betrivers/results returns finished events with their final score and per-period breakdown (innings, sets, or halves depending on the sport), most recent first. Filter by sport, league, or team (exact name, case-insensitive), look up a single result with /results/events/:eventId, or discover covered sports with /results/sports. Results are retained for 30 days after the match ends.

How are the markets structured?

All markets use a canonical format: each market has a type (e.g., MATCH_RESULT, OVER_UNDER, ASIAN_HANDICAP), period (FULL_TIME, FIRST_HALF), and selections with decimal odds and handicap lines where applicable. The same structure is shared across all sports and all bookmakers on PulseScore — write your integration once.

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.

Can I access BetRivers alongside other bookmakers with the same API key?

Yes. A single API key gives you access to every bookmaker included in your plan — BetRivers, BetMGM(US), Bet365, Betfair, BetOnline, Fanduel, and more. No need for separate keys or accounts.

Does the BetRivers API support live in-play data?

Yes. Live in-play events are available via REST (/api/betrivers/live-events, /live-events/sports, /live-events/events/:eventId) and via WebSocket at wss://api.pulsescore.net/api/betrivers/ws/live. The WebSocket pushes every in-play event for the subscribed sport roughly every second, including live scores and statistics. PRO, MAX, and ULTRA plans only.

Start Using the BetRivers API Today

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