What are Arbitrage Bets?
An arbitrage (or “arb”) is a price gap across bookmakers: the best odds for every outcome of a market, taken from different bookmakers, imply a total probability below 100%. The/v3/arbitrage-bets endpoint returns these price gaps for the bookmakers you choose, with the calculated margin and a calculated stake split per leg that gives an equal modelled return at the quoted prices.
How Arbitrage Bets Work
For every prematch market line (for exampleTotals 2.5 or Spread -1.5), we compare the best prices across bookmakers on each side:
- Take the best prices for every outcome of the line
- Add up the implied probabilities (
1 / odds) of one price per outcome - Keep the combinations where the total is below 1
- Exchange fees are included. On exchanges and prediction markets, the price you keep after commission or taker fees is lower than the quoted price. Those legs carry
netOdds, andprofitMargin,impliedProbabilityandoptimalStakesare all computed onnetOdds. - Stakes respect bookmaker limits. When a bookmaker reports a maximum stake for a price, the leg carries
maxStakeand the whole split is scaled down so no leg goes over it.totalStakeis 1000 by default and can be lower when a limit caps it. - Prematch only. Opportunities are refreshed every few seconds and removed as soon as a price moves or the match starts.
Query Parameters
Fetching Arbitrage Bets
Filtering
Filters run on our side, so only the opportunities you care about come back.- Providing
leaguewithoutsportreturns400. - Unknown
sportslug returns400. - Unknown
leaguefor a valid sport returns404. minProfitoutside 0 to 100, or not a number, returns400.
One Combination per Line, or All of Them
The same line often arbs with more than one pair (or trio) of bookmakers. By default you get one row per event, market and line: the combination with the highestprofitMargin among those that use only your bookmakers. Adding a bookmaker to bookmakers can therefore change which combination you see for a line.
Set allCombinations=true to get every combination for each line, best first. This is useful when one of your accounts is limited at a bookmaker and you want the next best way to cover the same line.
Response Format
Understanding the Response
Scaling Stakes to Your Bankroll
optimalStakes are calculated for totalStake. To stake a different amount, multiply every leg by the same factor, and keep each leg under its maxStake:
Polling for New Opportunities
Opportunities are recalculated every few seconds, but match your polling interval to your rate limit rather than to our refresh rate. Useid to spot new combinations and firstSeenAt to see how long one has been open:
Limitations & Considerations
Next Steps
Value Bets
Prices above a fair-odds estimate
Best Practices
Optimize your API usage