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.
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.
Request
- Base URL: https://api.owlsinsight.com
- URL: https://api.owlsinsight.com/api/v2/stake/bets
- Auth: HTTP bearer
Response
OK
Changes
No recorded changes to this operation across all 1 revision of this API.