Tipsport Data API

Tipsport API for Pre-Match, Live Odds & Results

Access odds from Tipsport, the largest Czech bookmaker, across 18 sports. Normalized markets, paginated REST endpoints, a real-time WebSocket feed, and a 30-day results archive with final scores and statistics. One API key for all bookmakers.

What a Tipsport API Response Looks Like

GET /api/tipsport/soccer/events?page=1&limit=5
{
  "total": 709,
  "page": 1,
  "limit": 5,
  "totalPages": 142,
  "hasNextPage": true,
  "events": [
    {
      "sport": "soccer",
      "league": "Evropská liga kvalifikace",
      "eventId": "8359686",
      "home": "Iberia 1999",
      "away": "Larne",
      "live": false,
      "startTime": "2026-08-11T16:00:00.000Z",
      "markets": [
        {
          "canonicalMarket": "MATCH_RESULT",
          "rawName": "Výsledek zápasu",
          "period": "FULL_TIME",
          "isActive": true,
          "marketId": "2260743182",
          "selections": [
            {
              "canonicalOutcome": "HOME",
              "rawName": "1",
              "odds": 1.69,
              "isActive": true,
              "selectionId": "2677747413"
            },
            {
              "canonicalOutcome": "DRAW",
              "rawName": "0",
              "odds": 3.58,
              "isActive": true,
              "selectionId": "2677747414"
            },
            {
              "canonicalOutcome": "AWAY",
              "rawName": "2",
              "odds": 5.11,
              "isActive": true,
              "selectionId": "2677747415"
            }
          ]
        }
      ]
    }
  ]
}

Results — Every Selection Settled WON or LOST

GET /api/tipsport/results?sport=soccer&final=true&limit=1
{
  "total": 8318,
  "page": 1,
  "limit": 1,
  "totalPages": 8318,
  "hasNextPage": true,
  "hasPrevPage": false,
  "results": [
    {
      "eventId": "8288462",
      "away": "Pardubice",
      "home": "Sparta Praha",
      "league": "Česká Chance Liga",
      "matchClock": {
        "period": "Ukončeno",
        "periodId": "ENDED",
        "running": false
      },
      "score": {
        "home": "2",
        "away": "0",
        "info": "2:0"
      },
      "sport": "soccer",
      "startTime": "2026-10-11T16:00:00.000Z",
      "statistics": {
        "football": {
          "home": {
            "yellowCards": 0,
            "redCards": 0,
            "corners": 5
          },
          "away": {
            "yellowCards": 2,
            "redCards": 0,
            "corners": 6
          }
        }
      },
      "externalIds": {
        "matchId": "8288462",
        "competitionId": 120,
        "competitionAnnualId": 266198,
        "superSportId": 16,
        "matchNumber": 506
      },
      "nameFull": "Sparta Praha - Pardubice",
      "participants": {
        "home": [
          {
            "name": "Sparta Praha",
            "abbreviation": "Sparta Praha",
            "teamId": 550
          }
        ],
        "away": [
          {
            "name": "Pardubice",
            "abbreviation": "Pardubice",
            "teamId": 84
          }
        ]
      },
      "periodScores": {
        "home": [
          "1",
          "1"
        ],
        "away": [
          "0",
          "0"
        ],
        "text": [
          "1",
          "2"
        ]
      },
      "settledOpportunities": [
        {
          "market": "MATCH_RESULT",
          "period": "FULL_TIME",
          "outcome": "HOME",
          "selection": "Sparta Praha",
          "result": "WON"
        },
        {
          "market": "MATCH_RESULT",
          "period": "FULL_TIME",
          "outcome": "DRAW",
          "selection": "Remíza",
          "result": "LOST"
        },
        {
          "market": "MATCH_RESULT",
          "period": "FULL_TIME",
          "outcome": "AWAY",
          "selection": "Pardubice",
          "result": "LOST"
        },
        {
          "market": "OVER_UNDER",
          "period": "FULL_TIME",
          "line": 2.5,
          "outcome": "UNDER",
          "selection": "Méně než 2.5",
          "result": "WON"
        },
        {
          "market": "OVER_UNDER",
          "period": "FULL_TIME",
          "line": 2.5,
          "outcome": "OVER",
          "selection": "Více než 2.5",
          "result": "LOST"
        }
      ],
      "settlement": {
        "source": "vysledky",
        "final": true,
        "inPlay": false,
        "settledSelections": 623,
        "totalSelections": 874,
        "settledMarkets": 186,
        "totalMarkets": 261,
        "scrapedAt": "2026-10-11T17:53:56.624Z"
      }
    }
  ]
}

Why Use PulseScore for Tipsport Data

18 Sports With Full Market Coverage

Pre-match odds from Tipsport across 18 sports — Soccer, Tennis, Basketball, Ice Hockey, Esports, MMA, Boxing, Handball, Table Tennis, Snooker, Padel, and more — 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, per-period scores, match clock and per-sport statistics for 30 days, plus Tipsport's own settlement of the board — every selection marked WON or LOST, the results Tipsport pays out on. Filter settled matches with ?final=true, 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, match clock, 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 — Tipsport, Bet365, Betfair, Cloudbet, BetOnline, Fanduel, Bwin, and more. No separate accounts or rotation logic.

Frequently Asked Questions

What data does the Tipsport API provide?

PulseScore provides pre-match odds, live in-play odds, and finished-match results from Tipsport, the largest Czech bookmaker, across 18 sports. Each event includes normalized market data with canonical market types, selections, and decimal odds, plus the raw market names as Tipsport displays them.

What sports are covered?

The 18 sports Tipsport publishes pre-match markets for: Soccer, Tennis, Basketball, Ice Hockey, Baseball, American Football, Esports, MMA, Boxing, Handball, Table Tennis, Badminton, Snooker, Padel, Beach Volleyball, Rugby League, Rugby Union, and Australian Rules. Each sport exposes /leagues, /leagues/:league/events, /events (paginated), and /events/:eventId.

Does it include match results?

Yes, settled by Tipsport itself. /api/tipsport/results returns finished events with their final score, per-period scores, match clock, and statistics, most recent first, and settledOpportunities lists every settled selection with its canonical market, period, line and WON or LOST — the results Tipsport pays out on, about 115 selections on a soccer match and up to 860. Add ?final=true for settled matches only, filter by sport, league, or team (exact name, case-insensitive), look up a single result with /results/events/:eventId, or discover what to filter on with /results/sports and /results/leagues. Results are retained for 30 days after the match ends.

How are the markets structured?

All sport 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 used across all sports and bookmakers. Raw market and selection names are in Czech as Tipsport displays them — the canonical fields are language-independent, so you never need to parse Czech text.

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 Tipsport alongside other bookmakers with the same API key?

Yes. A single API key gives you access to every bookmaker included in your plan — Tipsport, Bet365, Betfair, Cloudbet, BetOnline, Fanduel, Bwin, and more. No need for separate keys or accounts.

Does the Tipsport API support live in-play data?

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

Start Using the Tipsport API Today

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