Sports Odds API: BetRivers, Unibet, Paf, Svenska Spel, ATG
Pricing
Pay per event
Sports Odds API: BetRivers, Unibet, Paf, Svenska Spel, ATG
Live odds from 24 Kambi-powered sportsbooks in one call: BetRivers (12 US states + Ontario), Unibet (7 countries), Paf, Svenska Spel and ATG. One row per game with every book's price and the best price per outcome.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Public Records
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Share
Live odds from every open Kambi-powered sportsbook in one call. You get one row per game with each book's price for every outcome and the best price across the books you chose.
Books covered (24 books, verified open on 2026-10-21): BetRivers in 12 US states (NJ, NY, PA, IL, IN, CO, MI, AZ, LA, MD, OH, WV) and Ontario; Unibet in GB, Ontario, Sweden, Denmark, Belgium, Netherlands and Romania; Paf (Finland, Spain); Svenska Spel; ATG.
Not covered: DraftKings, FanDuel, BetMGM, Caesars and other books that do not run on Kambi. LeoVegas, Norsk Tipping, Napoleon and Bally Bet run on Kambi but refuse these requests, so they are not offered.
What you get
| Mode | What each game row contains |
|---|---|
main | The headline markets each book lists for the game (NBA: moneyline, point spread, total points) |
all | The game's full board, often 500+ markets on an NBA game, including player props and alternate lines |
Each outcome carries every book's price (decimal, American, fractional, status, last change time) and bestPrice (highest decimal price among open prices, with every book tied at that price). American odds are the book's own published price, not a conversion.
Input
{"leagues": ["basketball/nba", "american_football/nfl"],"operators": ["rsiusnj", "rsiusny", "ubuk", "paf"],"markets": "main","includeLive": true,"startsWithinHours": 24,"maxEvents": 50}
leagues takes Kambi paths at league or sport level: basketball/nba, american_football/nfl, ice_hockey/nhl, baseball/mlb, football/england/premier_league, basketball/ncaab, american_football/ncaaf, or a whole sport such as tennis or ufc_mma. A mistyped path returns suggestions (basketball/nbaa → basketball/nba) and is not charged.
Output (one game, trimmed)
{"eventId": 1028754195,"name": "ATL Hawks @ ORL Magic","start": "2026-10-21T23:00:00Z","state": "NOT_STARTED","league": "NBA","path": "basketball/nba","operators": { "requested": ["rsiusnj", "ubuk"], "served": ["rsiusnj", "ubuk"], "missing": [] },"markets": [{"market": "Point Spread - Including Overtime","mainLine": true,"outcomes": [{"label": "Orlando Magic", "line": -1.5,"prices": [{ "operator": "rsiusnj", "oddsDecimal": 1.85, "oddsAmerican": -118, "status": "OPEN", "changedAt": "2026-10-21T17:33:37Z" },{ "operator": "ubuk", "oddsDecimal": 1.86, "oddsAmerican": -117, "status": "OPEN", "changedAt": "2026-10-21T17:33:37Z" }],"bestPrice": { "oddsDecimal": 1.86, "oddsAmerican": -117, "operators": ["ubuk"], "brands": ["Unibet"] }}]}]}
When a book does not price a game, operators.missing says why: event_not_offered, denied, unavailable, or contract_drift. A missing book is never shown as a price.
Pricing
| Event | Price |
|---|---|
| Run started | $0.005 |
| Game with main-line odds (all selected books) | $0.01 |
| Game with every market (all selected books) | $0.03 |
You pay only for games returned with at least one priced market. Errors, unknown leagues and empty results are free.
Speed
Requests are paced to what Kambi serves reliably (about two per second). A run of 5 leagues × 9 books in main mode takes about 25 seconds. In all mode each game costs one request per book: 50 games × 9 books ≈ 5 minutes. all mode allows up to 12 books per run, because a game's full board from more books exceeds Apify's row size.
FAQ
Are these live in-play prices? Yes, when includeLive is on: games already started are returned with the prices open at the moment of the run.
Do Kambi books really price differently? Often by a few cents. On 2026-10-21, three books disagreed on 178 of 818 outcomes on one NBA game's full board.
Do I need a proxy? It is on by default. Kambi limits how often one IP may ask, so your run switches to a fresh Apify Proxy IP whenever it is slowed down. If your account has no proxy access the run continues without one.
What if a run is slow? The run stops fetching 45 seconds before your run timeout and returns the games it has priced, each listing any book it did not reach. You are charged only for games returned.
Is this affiliated with Kambi or any sportsbook? No. It reads the public odds feeds the books' own websites load. Bet responsibly and only where legal.