owlsinsight-com Stake (v2) API

The Stake (v2) API from owlsinsight-com — 1 operation(s) for stake (v2).

Operations 1

GET /api/v2/stake/bets Returns a sample of Stake's public bet feed: recent sportsbook bets with real… #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/owlsinsight-com:owlsinsight-com-stake-v2-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

owlsinsight-com-stake-v2-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Generated from the Owls Insight API manifest and the owls-insight-ts SDK types. Schemas are deliberately lenient: every field is optional, enums are open (x-extensible-enum), and unknown fields may appear. Decode accordingly.'
  title: Owls Insight Stake (v2) API
  version: 0.78.0
  x-owls-manifest-commit: c93b0756
servers:
- url: https://api.owlsinsight.com
security:
- bearerAuth: []
tags:
- name: Stake (v2)
paths:
  /api/v2/stake/bets:
    get:
      description: 'Returns a sample of Stake''s public bet feed: recent sportsbook bets with real stake amounts and their legs, joined to the same market and outcome ids as the Stake v2 board.


        A sample, not a ledger. The source caps each query at 50 rows and gives no cursor, so completeness can never be asserted; above roughly 200 bets a minute the cap binds and the window is undersampled. Do not derive total handle from it.


        Every meta key is present on every response shape. On no-data and partial-miss, timestamp, ageSeconds, hash and the bet times are null (there is no data to date) and now is the response clock; never read freshness from a null timestamp.


        Every response carries meta.sampling, and sampling.complete is always false. sourceLimit is always present. On an empty response the measured fields windowSeconds and observedNewPerMinute are null; the configured fields pollIntervalMs, configuredWindowMs and configuredMaxEntries are still reported when the feed has run within the last day, and are null only when even that is unknown. observedNewPerMinute is also null on a healthy response until a rate has been measured, which is normal right after a restart.


        Legs join to the Stake v2 board on outcome.id and market.id, never on fixture.id, which is a UUID in a different id space. For a fixture-level join use fixture.slug: its numeric prefix appears to be the board fixture id ("46853667-sporting-galatasaray-istanbul" matched board fixture 46853667). Verify that against your own data rather than assuming it.


        Each leg carries fixture.tournament { id, name, slug, category } so a wager can be attributed to a competition without matching it to a board first. Observed on every leg sampled. There is no sport field and no tournament-to-sport lookup: category is a grouping (UEFA Champions League gives "International Clubs"), not a sport.


        The feed is not filtered by sport, so bets on any sport Stake books can appear, including sports the per-sport board endpoint does not carry (cricket and handball both occur). There is no sport path segment. Any one response is a bounded rolling window of a few minutes, so a low-volume sport may be absent from it.


        data[].amount and currency are null when the bettor hid their stake; payout, payoutMultiplier, potentialMultiplier and each leg''s odds are nullable too. Skip those rows rather than coercing them to zero.


        data[].createdAt and updatedAt pass through in the source''s RFC 1123 format; the meta timestamps are ISO 8601.


        Bettor identity is never included.'
      operationId: getStakeBets
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StakeBetsResponse'
          description: OK
      summary: 'Returns a sample of Stake''s public bet feed: recent sportsbook bets with real…'
      tags:
      - Stake (v2)
      x-owls-access: All paying tiers
      x-owls-sdk-method: getStakeBets
components:
  schemas:
    StakeBetsMeta:
      properties:
        ageSeconds:
          description: Seconds since `timestamp`. null whenever `timestamp` is null; never derive freshness from a null timestamp.
          format: double
          type:
          - number
          - 'null'
        cached:
          type: boolean
        hash:
          description: null on no-data and partial-miss.
          type:
          - string
          - 'null'
        newestBetTime:
          type:
          - string
          - 'null'
        now:
          description: Response clock, ISO, present on every shape.
          type: string
        oldestBetTime:
          description: ISO-8601, unlike the RFC-1123 `createdAt` inside `data[]`. null on empty shapes.
          type:
          - string
          - 'null'
        sampling:
          $ref: '#/components/schemas/StakeBetsSampling'
          description: Present on every shape.
        source:
          type: string
          x-extensible-enum:
          - stake-bets
        status:
          type: string
          x-extensible-enum:
          - no-data
          - ok
          - partial-miss
          - stale
        timestamp:
          description: 'ISO time of the worker write this response serves. null on no-data and partial-miss: there is no data to date.'
          type:
          - string
          - 'null'
      type: object
      x-owls-required:
      - source
      - cached
      - status
      - timestamp
      - ageSeconds
      - oldestBetTime
      - newestBetTime
      - sampling
      - hash
      - now
    StakeBetLeg:
      description: One leg of a public Stake bet. `amount` is on the SLIP, not the leg.
      properties:
        fixture:
          properties:
            id:
              type: string
            name:
              type: string
            startTime:
              type:
              - string
              - 'null'
          type: object
          x-owls-required:
          - id
        id:
          type: string
        market:
          properties:
            id:
              type: string
            name:
              type: string
          type: object
          x-owls-required:
          - id
        odds:
          description: Decimal odds AT PLACEMENT for this leg.
          format: double
          type:
          - number
          - 'null'
        outcome:
          description: 'outcome.id and market.id share a namespace with `getStakeV2()`, so a leg joins

            directly to a board outcome. `fixture.id` does NOT join: the board uses a different

            identifier for the same fixture. Join on outcome or market id, never fixture id.'
          properties:
            id:
              type: string
            name:
              type: string
          type: object
          x-owls-required:
          - id
        status:
          type: string
      type: object
      x-owls-required:
      - id
      - odds
    StakeBet:
      description: One public sportsbook bet from Stake. Bettor identity is never returned.
      properties:
        active:
          type: boolean
        amount:
          description: Stake on the whole slip, in `currency`. null when the bettor hid it.
          format: double
          type:
          - number
          - 'null'
        cashoutMultiplier:
          format: double
          type:
          - number
          - 'null'
        createdAt:
          description: RFC-1123, passed through from upstream (e.g. 'Tue, 01 Sep 2026 16:10:32 GMT').
          type: string
        currency:
          description: The bettor's own currency, fiat or crypto (usdt, inr, sol, ngn, ...). NOT converted.
          type:
          - string
          - 'null'
        feed:
          type: string
          x-extensible-enum:
          - all
          - high
        id:
          type: string
        outcomes:
          description: More than one leg means a parlay, so `amount` cannot be attributed to one market.
          items:
            $ref: '#/components/schemas/StakeBetLeg'
          type: array
        payout:
          format: double
          type:
          - number
          - 'null'
        payoutMultiplier:
          format: double
          type:
          - number
          - 'null'
        potentialMultiplier:
          format: double
          type:
          - number
          - 'null'
        status:
          type: string
        updatedAt:
          type: string
      type: object
      x-owls-required:
      - id
      - amount
      - currency
      - payout
      - payoutMultiplier
      - potentialMultiplier
      - outcomes
      - feed
    StakeBetsSampling:
      description: 'Capture-rate facts. `complete` is always false: upstream caps each query at 50 rows

        with no cursor and the feed turns over faster than that, so the window is a SAMPLE.

        Total handle is NOT derivable from it.'
      properties:
        complete:
          type: boolean
        configuredMaxEntries:
          format: double
          type:
          - number
          - 'null'
        configuredWindowMs:
          format: double
          type:
          - number
          - 'null'
        observedNewPerMinute:
          description: 'Measured: null on empty shapes, and on a healthy response until a rate has been measured (normal right after a restart).'
          format: double
          type:
          - number
          - 'null'
        pollIntervalMs:
          description: Worker poll interval. Reported on empty shapes too while the feed has run in the last day; null only when even that is unknown.
          format: double
          type:
          - number
          - 'null'
        sourceLimit:
          format: double
          type: number
        windowSeconds:
          description: 'Measured: null on no-data and partial-miss.'
          format: double
          type:
          - number
          - 'null'
      type: object
      x-owls-required:
      - sourceLimit
      - pollIntervalMs
      - windowSeconds
      - configuredWindowMs
      - configuredMaxEntries
      - observedNewPerMinute
      - complete
    StakeBetsResponse:
      properties:
        count:
          format: double
          type: number
        data:
          items:
            $ref: '#/components/schemas/StakeBet'
          type: array
        meta:
          $ref: '#/components/schemas/StakeBetsMeta'
        success:
          type: boolean
      type: object
      x-owls-required:
      - success
      - count
      - data
      - meta
  securitySchemes:
    bearerAuth:
      description: Your Owls Insight API key.
      scheme: bearer
      type: http
x-owls-v2-books:
- book: 4casters
  sports:
  - cfl
  - esports
  - mlb
  - mma
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  - wnba
  wsEvent: 4casters-v2-update
- book: 888sport
  sports:
  - mlb
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  - wnba
  wsEvent: null
- book: ballybet
  sports:
  - aussie-rules
  - boxing
  - cricket
  - cycling
  - darts
  - formula1
  - golf
  - handball
  - mlb
  - mma
  - motorsport
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - rugby-league
  - rugby-union
  - snooker
  - soccer
  - specials
  - surfing
  - table-tennis
  - tennis
  - wnba
  wsEvent: ballybet-v2-update
- book: bet105
  sports:
  - alpine-skiing
  - archery
  - athletics
  - aussie-rules
  - badminton
  - bandy
  - baseball
  - basketball
  - basketball-3x3
  - biathlon
  - bowls
  - boxing
  - cfl
  - chess
  - cricket
  - curling
  - cycling
  - darts
  - esports
  - fencing
  - field-hockey
  - floorball
  - football
  - formula1
  - futsal
  - gaelic-sports
  - golf
  - greyhounds
  - handball
  - hockey
  - horse-racing
  - hurling
  - judo
  - kabaddi
  - kbo
  - lacrosse
  - mlb
  - mma
  - motorbikes
  - motorsport
  - nascar
  - nba
  - ncaab
  - ncaaf
  - netball
  - nfl
  - nhl
  - npb
  - olympics
  - padel
  - pool
  - rugby-league
  - rugby-union
  - sailing
  - ski-jumping
  - snooker
  - soccer
  - softball
  - speedway
  - squash
  - sumo
  - supercars
  - surfing
  - table-tennis
  - taekwondo
  - tennis
  - triathlon
  - trotting
  - ultimate
  - volleyball
  - water-polo
  - wnba
  wsEvent: bet105-v2-update
- book: bet365
  sports:
  - mlb
  - nba
  - nfl
  - nhl
  - soccer
  wsEvent: bet365-v2-update
- book: betonline
  sports:
  - mlb
  - nba
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  wsEvent: betonline-realtime
- book: betrivers
  sports:
  - aussie-rules
  - boxing
  - cricket
  - cycling
  - darts
  - formula1
  - golf
  - handball
  - mlb
  - mma
  - motorsport
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - rugby-league
  - rugby-union
  - snooker
  - soccer
  - specials
  - surfing
  - table-tennis
  - tennis
  - wnba
  wsEvent: betrivers-v2-update
- book: betus
  sports:
  - alpine-skiing
  - archery
  - athletics
  - aussie-rules
  - badminton
  - bandy
  - baseball
  - basketball
  - basketball-3x3
  - biathlon
  - bowls
  - boxing
  - cfl
  - chess
  - cricket
  - curling
  - cycling
  - darts
  - esports
  - fencing
  - field-hockey
  - floorball
  - football
  - formula1
  - futsal
  - gaelic-sports
  - golf
  - greyhounds
  - handball
  - hockey
  - horse-racing
  - hurling
  - judo
  - kabaddi
  - kbo
  - lacrosse
  - mlb
  - mma
  - motorbikes
  - motorsport
  - nascar
  - nba
  - ncaab
  - ncaaf
  - netball
  - nfl
  - nhl
  - npb
  - olympics
  - padel
  - pool
  - rugby-league
  - rugby-union
  - sailing
  - ski-jumping
  - snooker
  - soccer
  - softball
  - speedway
  - squash
  - sumo
  - supercars
  - surfing
  - table-tennis
  - taekwondo
  - tennis
  - triathlon
  - trotting
  - ultimate
  - volleyball
  - water-polo
  - wnba
  wsEvent: betus-v2-update
- book: bookmaker
  sports:
  - alternative-sports
  - aussie-rules
  - baseball
  - basketball
  - boxing
  - cricket
  - darts
  - e-gaming
  - entertainment
  - esports
  - football
  - futsal
  - futures
  - golf
  - ice-hockey
  - mma
  - motorsport
  - politics
  - rugby
  - soccer
  - surfing
  - table-tennis
  - tennis
  wsEvent: null
- book: bovada
  sports:
  - mlb
  - mma
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  wsEvent: null
- book: draftkings
  sports:
  - mlb
  - mma
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - soccer
  - wnba
  wsEvent: draftkings-v2-update
- book: fanaticsmarkets
  sports:
  - boxing
  - cs2
  - dota2
  - golf
  - lol
  - mlb
  - mma
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  - valorant
  - wnba
  wsEvent: fanaticsmarkets-v2-update
- book: fanduel
  sports:
  - mlb
  - mma
  - nba
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  - wnba
  wsEvent: fanduel-v2-update
- book: hardrock
  sports:
  - AMERICAN_FOOTBALL
  - AUSSIE_RULES
  - BASEBALL
  - BASKETBALL
  - BOXING
  - CRICKET
  - DARTS
  - HANDBALL
  - ICE_HOCKEY
  - MMA
  - RUGBY
  - SNOOKER
  - SOCCER
  - TABLE_TENNIS
  - TENNIS
  - VOLLEYBALL
  wsEvent: null
- book: kalshi
  sports:
  - cs2
  - dota2
  - lol
  - mlb
  - mma
  - nba
  - ncaaf
  - nfl
  - nhl
  - overwatch
  - pubg
  - rainbow6
  - rocketleague
  - soccer
  - tennis
  - valorant
  - wnba
  wsEvent: kalshi-v2-update
- book: lowvig
  sports:
  - boxing
  - cricket
  - darts
  - golf
  - mlb
  - mma
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - soccer
  - table-tennis
  - tennis
  - wnba
  wsEvent: lowvig-v2-update
- book: mybookie
  sports:
  - mlb
  - nba
  wsEvent: mybookie-v2-update
- book: novig
  sports:
  - mlb
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  wsEvent: null
- book: pinnacle
  sports:
  - esports
  - handball
  - mlb
  - mma
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  - wnba
  wsEvent: pinnacle-v2-update
- book: polymarket
  sports:
  - cs2
  - dota2
  - lol
  - mlb
  - mma
  - nba
  - ncaaf
  - nfl
  - nhl
  - overwatch
  - pubg
  - rainbow6
  - rocketleague
  - soccer
  - tennis
  - valorant
  - wnba
  wsEvent: polymarket-v2-update
- book: propbuilder
  sports:
  - mlb
  - nba
  - ncaaf
  - nfl
  - nhl
  - wnba
  wsEvent: propbuilder-v2-update
- book: stake
  sports:
  - baseball
  - basketball
  - cs2
  - ice-hockey
  - mma
  - soccer
  - table-tennis
  - tennis
  wsEvent: null
- book: thescore
  sports:
  - mlb
  - nba
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  wsEvent: null
- book: thunderpick
  sports:
  - american-football
  - baseball
  - basketball
  - cs2
  - dota2
  - lol
  - soccer
  - tennis
  - valorant
  wsEvent: thunderpick-v2-update
- book: tippmixpro
  sports:
  - boxing
  - cs2
  - dota2
  - lol
  - mlb
  - mma
  - nba
  - ncaab
  - ncaaf
  - nfl
  - nhl
  - soccer
  - tennis
  - valorant
  wsEvent: tippmixpro-v2-update
- book: underdog
  sports:
  - cs2
  - kbo
  - lol
  - mlb
  - mma
  - nba
  - ncaaf
  - nfl
  - nhl
  - npb
  - pga
  - soccer
  - tennis
  - valorant
  - wnba
  wsEvent: null
- book: versus
  sports:
  - afl
  - badminton
  - basketball
  - boxing
  - cricket
  - darts
  - esports
  - golf
  - handball
  - mlb
  - mma
  - nfl
  - nhl
  - padel
  - soccer
  - table-tennis
  - tennis
  - volleyball
  wsEvent: versus-v2-update