Hard Rock Bet Data API

Hard Rock Bet API for Pre-Match, Live Odds & Results

Access odds from Hard Rock Bet's US sportsbook across 22 sports — a player-prop-heavy board with ~85 markets on a typical soccer match and full American football, basketball, and baseball coverage. Normalized markets with decimal odds, paginated REST endpoints, a real-time WebSocket feed with live statistics, and a 30-day results archive. One API key for all bookmakers.

What a Hard Rock Bet API Response Looks Like

GET /api/hardrock/soccer/events?page=1&limit=5
{
  "total": 812,
  "page": 1,
  "limit": 5,
  "totalPages": 163,
  "hasNextPage": true,
  "events": [
    {
      "sport": "soccer",
      "league": "England - EFL Cup",
      "country": "England",
      "eventId": "1021916836092051720",
      "home": "Newcastle United",
      "away": "West Bromwich",
      "live": false,
      "startTime": "2026-08-26T18:45:00.000Z",
      "markets": [
        {
          "canonicalMarket": "MATCH_RESULT",
          "rawName": "Game Result (90 Minutes + Stoppage Time)",
          "period": "FULL_TIME",
          "isActive": true,
          "marketId": "423168513868431611",
          "selections": [
            {
              "canonicalOutcome": "HOME",
              "rawName": "Newcastle United",
              "odds": 1.23529412,
              "rawOdds": "1.23529412",
              "isActive": true,
              "selectionId": "6913277789374382331"
            },
            {
              "canonicalOutcome": "DRAW",
              "rawName": "Tie",
              "odds": 6.5,
              "rawOdds": "6.5",
              "isActive": true,
              "selectionId": "2748574033963516155"
            },
            {
              "canonicalOutcome": "AWAY",
              "rawName": "West Bromwich",
              "odds": 11,
              "rawOdds": "11",
              "isActive": true,
              "selectionId": "3167408799308972283"
            }
          ],
          "moreInfo": { "type": "SOCCER:FT:AXB", "subtype": "M" }
        },
        {
          "canonicalMarket": "OVER_UNDER",
          "rawName": "Total Goals",
          "period": "FULL_TIME",
          "line": 2.5,
          "isActive": true,
          "marketId": "2297791858761400571",
          "selections": [
            {
              "canonicalOutcome": "OVER",
              "rawName": "Over 2.5",
              "odds": 1.36363636,
              "rawOdds": "1.36363636",
              "isActive": true,
              "selectionId": "1273222943534612731"
            },
            {
              "canonicalOutcome": "UNDER",
              "rawName": "Under 2.5",
              "odds": 3,
              "rawOdds": "3",
              "isActive": true,
              "selectionId": "2839349713952702715"
            }
          ],
          "moreInfo": { "type": "SOCCER:FT:OU", "subtype": "M#2.5" }
        }
      ],
      "moreInfo": {
        "competitionId": "1917995060863697155",
        "category": "England"
      }
    }
  ]
}

Live Events — Score, Clock & Statistics

GET /api/hardrock/live-events?sport=soccer&limit=1
{
  "total": 41,
  "page": 1,
  "limit": 1,
  "sport": "soccer",
  "events": [
    {
      "sport": "soccer",
      "league": "UEFA - Champions League (W)",
      "country": "UEFA",
      "eventId": "119933479415841201",
      "home": "Ajax (W)",
      "away": "Real Madrid (W)",
      "startTime": "2026-08-26T17:30:00.000Z",
      "score": {
        "home": "0",
        "away": "1"
      },
      "matchClock": {
        "minute": 46,
        "second": 11,
        "period": "IN_SECOND_HALF",
        "running": true
      },
      "statistics": {
        "football": {
          "home": { "yellowCards": 0, "redCards": 0, "corners": 3 },
          "away": { "yellowCards": 1, "redCards": 0, "corners": 3 }
        }
      },
      "moreInfo": {
        "competitionId": "691187891304005633",
        "category": "International Clubs",
        "betradarId": "73655044"
      },
      "markets": [ /* ... */ ]
    }
  ]
}

Match Results — Final Scores for 30 Days

GET /api/hardrock/results?sport=soccer&page=1&limit=5
{
  "total": 6647,
  "page": 1,
  "limit": 5,
  "totalPages": 1330,
  "hasNextPage": true,
  "results": [
    {
      "sport": "soccer",
      "league": "Denmark - DBU Pokalen",
      "country": "Denmark",
      "eventId": "6282649118913462698",
      "home": "Odense Kammeraternes SK",
      "away": "Middelfart",
      "startTime": "2026-08-25T15:30:00.000Z",
      "score": {
        "home": "0",
        "away": "1"
      },
      "matchClock": {
        "minute": 94,
        "second": 5,
        "period": "AT_FULL_TIME",
        "running": false
      },
      "statistics": {
        "football": {
          "home": { "yellowCards": 3, "redCards": 1, "corners": 0 },
          "away": { "yellowCards": 2, "redCards": 0, "corners": 16 }
        }
      },
      "moreInfo": {
        "competitionId": "6231533165563609336",
        "category": "Denmark"
      }
    }
  ]
}

Why Use PulseScore for Hard Rock Bet Data

22 Sports With Full Market Coverage

Pre-match odds from Hard Rock Bet's US sportsbook across 22 sports — Soccer, American Football, Basketball, Baseball, Tennis, Table Tennis, Ice Hockey, Handball, Golf, Rugby Union, Rugby League, MMA, Boxing, Motorsports, Formula 1, Snooker, Futsal, Cricket, Volleyball, Lacrosse, Darts, and Cycling — with paginated league and event endpoints and the complete market list for every fixture.

Player Props on Every Fixture

A US-style board where player props dominate: a soccer match averages ~85 markets and the biggest run past 550, with anytime goalscorer, shots on target, to-score-or-assist, corners, and team totals alongside the core 1X2, totals, and Asian handicap lines — plus the American football, basketball, and baseball depth you expect from a US book. Odds are decimal, league names follow the board's 'Country - Competition' convention, and every league carries a country field.

Live Scores, Clock & Statistics

Live events carry the current score, a match clock with minute, second, a running flag, and Hard Rock Bet's period codes (IN_FIRST_HALF, AT_HALF_TIME, IN_FOURTH_QUARTER, AT_TOP_9TH_INNING), and — where the board publishes them — a statistics block: yellow and red cards plus corners for soccer, per-set scores and the current server for tennis, table tennis, and volleyball.

Live WebSocket Streaming

Real-time push of every in-play event for the chosen sport, broadcast roughly every second with live scores, the match clock, and statistics. PRO, MAX, and ULTRA plans only — connect once and receive each update as it happens.

30-Day Match Results Feed

Every event that leaves the in-play board keeps its last published score and match clock for 30 days across the 16 sports Hard Rock Bet streams live, with a statistics block on soccer, tennis, table tennis, and volleyball — filter by sport, league, or team name to settle bets, grade models, or backfill your own database.

Canonical Market Structure

All markets use canonical naming (MATCH_RESULT, OVER_UNDER, ASIAN_HANDICAP, ANYTIME_GOALSCORER) with periods, decimal odds, and handicap lines where applicable — plus the raw market names, Hard Rock Bet's own market and selection IDs, and its moreInfo.type market codes. Write your integration once and reuse it across every bookmaker.

Frequently Asked Questions

What data does the Hard Rock Bet API provide?

PulseScore provides pre-match odds, live in-play odds, and match results from Hard Rock Bet's US sportsbook (hardrock.bet, mirrored from its New Jersey board) across 22 sports. Each event includes normalized market data with canonical market types, selections, and decimal odds, plus the raw market and outcome names as Hard Rock Bet displays them.

What sports are covered?

The 22 sports Hard Rock Bet publishes pre-match markets for: Soccer, American Football, Basketball, Baseball, Tennis, Table Tennis, Ice Hockey, Handball, Golf, Rugby Union, Rugby League, MMA, Boxing, Motorsports, Formula 1, Snooker, Futsal, Cricket, Volleyball, Lacrosse, Darts, and Cycling. Every sport exposes /leagues, /leagues/:league/events, /events (paginated), and /events/:eventId.

How are leagues and outcomes named?

Everything is in English. League names follow Hard Rock Bet's 'Country - Competition' convention — for example 'England - Premier League', 'Denmark - Superliga', or 'UEFA - Champions League' — and leagues, events, and results also carry a country field with the board's category (a country, a confederation such as UEFA, or a grouping such as Grand Slam or eSoccer). Market rawName values are the board's own labels such as 'Game Result (90 Minutes + Stoppage Time)' and 'Total Goals', outcome rawName values use the team names with 'Tie' for the draw, and every market carries Hard Rock Bet's numeric marketId and selectionId plus a moreInfo.type code like SOCCER:FT:AXB. Odds are decimal with the original string kept in rawOdds. The canonical fields — canonicalMarket, canonicalOutcome, and period — are identical across every bookmaker on PulseScore.

Does it include match results?

Yes. /api/hardrock/results returns events that left Hard Rock Bet's in-play board with the last score and match clock the board published, 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 and cover the 16 sports Hard Rock Bet streams live; soccer, tennis, table tennis, and volleyball also carry a statistics block.

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.

Does the Hard Rock Bet API support live in-play data?

Yes. Live in-play events are available via REST (/api/hardrock/live-events, /live-events/sports, /live-events/events/:eventId) and via WebSocket at wss://api.pulsescore.net/api/hardrock/ws/live. The WebSocket pushes every in-play event for the subscribed sport roughly every second, including the live score, a match clock with period codes such as IN_SECOND_HALF or AT_HALF_TIME, and statistics — cards and corners for soccer, per-set scores for tennis, table tennis, and volleyball. PRO, MAX, and ULTRA plans only.

Start Using the Hard Rock Bet API Today

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