Sports Betting Intelligence - Odds & Arbitrage AI
Pricing
from $10.50 / 1,000 event scrapeds
Sports Betting Intelligence - Odds & Arbitrage AI
Real-time odds comparison across 20+ bookmakers. Arbitrage detection.
Pricing
from $10.50 / 1,000 event scrapeds
Rating
5.0
(3)
Developer
viralanalyzer
Maintained by CommunityActor stats
1
Bookmarked
68
Total users
11
Monthly active users
6 days ago
Last modified
Share
⚽ Sports Betting Intelligence — Live Odds, Arbitrage & Value Bets Across 60+ Bookmakers
🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português
Fetch live and pre-match sports betting odds from The Odds API — covering 60+ bookmakers (Bet365, DraftKings, FanDuel, Pinnacle, and more) across soccer, basketball, MMA, tennis, esports, and 40+ sports. The actor detects arbitrage opportunities (guaranteed-profit combinations across bookmakers) and value bets (odds significantly above the market average), and returns a full per-outcome market summary. No API key? It automatically falls back to a free ESPN public data source for major soccer and US leagues. Pure HTTP — no browser needed.
✨ Features
- 🎯 Multi-bookmaker odds — Compare prices from 60+ bookmakers (Bet365, DraftKings, FanDuel, Pinnacle, etc.) via The Odds API
- 🔥 Arbitrage detection — Finds combinations where the best odds across bookmakers guarantee profit regardless of outcome, with the optimal stake split for a $1,000 total bet
- 💎 Value bet detection — Flags outcomes priced above the cross-bookmaker market average by a configurable threshold
- 📊 Market summary — Best / worst / average odds and bookmaker count per outcome
- 🆓 Free ESPN fallback — Runs with zero setup using ESPN's public scoreboard (Brazilian Série A, EPL, La Liga, MLS, NFL, NBA) when no API key is provided
- 🌍 Region & market control — Choose bookmaker regions (
us,eu,uk,au) and markets (h2h,spreads,totals) - 🔢 Odds format conversion — Decimal or American odds, with implied-probability calculation
- ⚡ Pure HTTP — Lightweight, fast, runs on 256 MB; no browser required
- 🛡️ Zero fake data — Events with no real odds are skipped; empty runs emit a diagnostic setup guide instead of charging
📥 Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
sports | string[] | ✅ | — | Sport keys to fetch (e.g. "soccer_brazil_serie_a", "basketball_nba", "mma_mixed_martial_arts"). If empty and no API key is set, the ESPN free fallback is used. |
regions | string[] | ❌ | ["eu","us"] | Bookmaker regions: us (DraftKings/FanDuel), eu (Bet365/Pinnacle), uk, au |
markets | string[] | ❌ | ["h2h"] | Markets to fetch: h2h (moneyline/match winner), spreads (handicap), totals (over/under) |
oddsFormat | string | ❌ | "decimal" | decimal (1.50, 2.10) or american (+150, -200) |
enableArbitrage | boolean | ❌ | true | Scan for arbitrage opportunities across bookmakers |
minArbitrageProfit | number | ❌ | 0.5 | Minimum profit % to report an arbitrage (0–20) |
enableValueBets | boolean | ❌ | true | Identify bets priced above the market average |
valueBetThreshold | number | ❌ | 5 | Minimum % above market average to flag a value bet (1–50) |
oddsApiKey | string (secret) | ❌ | — | API key from the-odds-api.com (free tier: 500 requests/month). Without it, the ESPN free fallback is used. |
daysFrom | integer | ❌ | 3 | Only include events starting within this many days (1–14) |
proxyConfiguration | object | ❌ | — | Optional proxy configuration |
Input Example
{"sports": ["soccer_brazil_serie_a","soccer_epl","basketball_nba"],"regions": ["eu", "us"],"markets": ["h2h"],"oddsFormat": "decimal","enableArbitrage": true,"minArbitrageProfit": 0.5,"enableValueBets": true,"valueBetThreshold": 5,"daysFrom": 3,"oddsApiKey": "YOUR_THE_ODDS_API_KEY"}
📤 Output
Each dataset item is one event for one market (events with no odds are skipped):
| Field | Type | Description |
|---|---|---|
sport | string | Sport/league key (e.g. soccer_epl, soccer_eng.1) |
sportTitle | string | League/sport display name |
eventId | string | Unique event identifier |
homeTeam | string | Home team name |
awayTeam | string | Away team name |
commenceTime | string | Event start time (ISO 8601) |
status | string | Event status (Scheduled, Live, etc.) — ESPN source only |
market | string | Market type: h2h, spreads, or totals |
bookmakerCount | number | Number of bookmakers with odds for this market |
marketSummary | object | Per outcome: bestOdds, worstOdds, avgOdds, bookmakerCount |
bookmakers | object[] | Per bookmaker: bookmaker, bookmakerKey, lastUpdate, outcomes[{name, price, point}] |
arbitrage | object | null | Arbitrage details if found: profitPercent, guaranteedProfit, totalStake, inverseSum, and stakes per outcome (bookmaker, odds, stake, payout) |
valueBets | object[] | Value bets: bookmaker, outcome, odds, marketAverage, valuePct, impliedProb, marketImpliedProb |
dataSource | string | espn-live (free fallback) or The Odds API source |
scrapedAt | string | ISO 8601 timestamp |
Output Example
{"sport": "soccer_epl","sportTitle": "EPL","eventId": "a1b2c3d4e5f6","homeTeam": "Arsenal","awayTeam": "Chelsea","commenceTime": "2026-06-09T14:00:00Z","market": "h2h","bookmakerCount": 8,"marketSummary": {"Arsenal": { "bestOdds": 2.10, "worstOdds": 1.95, "avgOdds": 2.02, "bookmakerCount": 8 },"Chelsea": { "bestOdds": 3.80, "worstOdds": 3.40, "avgOdds": 3.60, "bookmakerCount": 8 }},"bookmakers": [{"bookmaker": "Pinnacle","bookmakerKey": "pinnacle","lastUpdate": "2026-06-06T11:30:00Z","outcomes": [{ "name": "Arsenal", "price": 2.10, "point": null },{ "name": "Chelsea", "price": 3.80, "point": null }]}],"arbitrage": {"type": "ARBITRAGE","profitPercent": 1.24,"guaranteedProfit": 12.25,"totalStake": 1000,"inverseSum": 0.98774,"stakes": {"Arsenal": { "bookmaker": "Pinnacle", "odds": 2.10, "stake": 482.05, "payout": 1012.31 },"Chelsea": { "bookmaker": "Bet365", "odds": 3.80, "stake": 266.41, "payout": 1012.36 }}},"valueBets": [{"type": "VALUE_BET","bookmaker": "Bet365","outcome": "Chelsea","odds": 3.80,"marketAverage": 3.60,"valuePct": 5.56,"impliedProb": 26.32,"marketImpliedProb": 27.78}],"dataSource": "odds-api","scrapedAt": "2026-06-06T12:00:00.000Z"}
📋 Use Cases
- Arbitrage trading — Spot guaranteed-profit opportunities across bookmakers with ready-to-place stake splits
- Value betting — Identify outcomes priced above the consensus market average
- Odds comparison — Compare best/worst/average prices per outcome across many bookmakers
- Line shopping — Always find the bookmaker offering the best price for a given bet
- Pre-match scouting — Pull upcoming fixtures within a chosen window across soccer, basketball, MMA, tennis, and more
- Quant & modeling — Feed historical odds snapshots and implied probabilities into betting models
- Free monitoring — Track major soccer and US-league odds with zero setup via the ESPN fallback
❓ FAQ
Q: Do I need a The Odds API key?
A: Not to get started. Without a key, the actor uses a free ESPN public data source covering Brazilian Série A, English Premier League, Spanish La Liga, MLS, NFL, and NBA. To unlock 60+ bookmakers across 40+ sports, provide a free oddsApiKey from the-odds-api.com (free tier: 500 requests/month).
Q: How does arbitrage detection work?
A: For each event, the actor finds the best available odds for every outcome across all bookmakers and sums their inverse probabilities. If the sum is below 1, an arbitrage exists. It then reports the guaranteed profit % and the optimal stake split for a $1,000 total bet (only arbitrages above minArbitrageProfit are reported).
Q: What is a value bet?
A: An outcome whose odds at one bookmaker exceed the cross-bookmaker average by at least valueBetThreshold percent (it requires at least 3 bookmakers quoting that outcome). Each value bet includes the implied probability vs. the market implied probability.
Q: Which markets and sports are supported?
A: Markets: h2h (moneyline/match winner), spreads (handicap), and totals (over/under). Sports: use The Odds API sport keys such as soccer_brazil_serie_a, soccer_epl, basketball_nba, mma_mixed_martial_arts, tennis_atp_french_open, and 40+ more.
Q: What happens if no odds are found? A: The actor never returns fake data. Events without real odds are skipped, and if a whole run yields zero events it saves a diagnostic setup guide (likely causes + remediations) and finishes successfully without charging you.
Q: Decimal or American odds?
A: Both. Set oddsFormat to decimal (1.50, 2.10) or american (+150, -200). The actor also computes implied probabilities for value-bet analysis.
💰 Pricing
This actor uses Pay Per Event (PPE) pricing. You are charged per event scraped (event-scraped). Diagnostic-only runs (zero events) are not charged, and internal ViralAnalyzer runs are skipped.
👉 See the current per-event price on the actor page: apify.com/viralanalyzer/sports-betting-intelligence
🔗 Related Actors
- Yahoo Finance Intelligence — Stock quotes, fundamentals & analyst ratings
- TradingView Screener — Technical analysis & market scanner
- CoinGecko Crypto Intelligence — Crypto market data
- RSS News Intelligence — News & headline monitoring
⚖️ Legal
This actor aggregates publicly available odds data. It does not facilitate betting or transactions. Use responsibly and in compliance with local gambling laws.
📝 Changelog
v1.0 (Current)
- ✅ Live & pre-match odds from The Odds API v4 (60+ bookmakers)
- ✅ Free ESPN public fallback (Série A, EPL, La Liga, MLS, NFL, NBA)
- ✅ Arbitrage detection with optimal stake split for $1,000
- ✅ Value bet detection vs. cross-bookmaker market average
- ✅ Per-outcome market summary (best/worst/avg odds)
- ✅ Decimal/American odds + implied-probability conversion
- ✅
h2h,spreads, andtotalsmarkets across multiple regions - ✅ Zero-fake-data guardrails + diagnostic setup guide (no charge on empty runs)
- ✅ PPE billing with owner-skip
⚽ Sports Betting Intelligence — Odds ao Vivo, Arbitragem & Value Bets em 60+ Casas de Apostas
🇺🇸 English | 🇧🇷 Português
Busque odds de apostas esportivas ao vivo e pré-jogo da The Odds API — cobrindo 60+ casas de apostas (Bet365, DraftKings, FanDuel, Pinnacle e mais) em futebol, basquete, MMA, tênis, esports e 40+ esportes. O actor detecta oportunidades de arbitragem (combinações de lucro garantido entre casas) e value bets (odds bem acima da média de mercado), e retorna um resumo completo de mercado por resultado. Sem chave de API? Ele recorre automaticamente a uma fonte pública gratuita da ESPN para grandes ligas de futebol e dos EUA. HTTP puro — sem navegador.
✨ Funcionalidades
- 🎯 Odds de múltiplas casas — Compare preços de 60+ casas (Bet365, DraftKings, FanDuel, Pinnacle, etc.) via The Odds API
- 🔥 Detecção de arbitragem — Encontra combinações onde as melhores odds entre casas garantem lucro independente do resultado, com a divisão ótima de aposta para um total de $1.000
- 💎 Detecção de value bets — Sinaliza resultados com odds acima da média do mercado por um limiar configurável
- 📊 Resumo de mercado — Melhor / pior / média de odds e contagem de casas por resultado
- 🆓 Fallback gratuito ESPN — Roda sem configuração usando o placar público da ESPN (Série A, EPL, La Liga, MLS, NFL, NBA) quando nenhuma chave é fornecida
- 🌍 Controle de região & mercado — Escolha regiões de casas (
us,eu,uk,au) e mercados (h2h,spreads,totals) - 🔢 Conversão de formato de odds — Decimal ou americano, com cálculo de probabilidade implícita
- ⚡ HTTP puro — Leve, rápido, roda em 256 MB; sem navegador
- 🛡️ Zero dados falsos — Eventos sem odds reais são ignorados; execuções vazias emitem um guia de diagnóstico em vez de cobrar
📥 Entrada
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
|---|---|---|---|---|
sports | string[] | ✅ | — | Chaves de esporte (ex: "soccer_brazil_serie_a", "basketball_nba", "mma_mixed_martial_arts"). Se vazio e sem chave de API, usa o fallback gratuito da ESPN. |
regions | string[] | ❌ | ["eu","us"] | Regiões das casas: us (DraftKings/FanDuel), eu (Bet365/Pinnacle), uk, au |
markets | string[] | ❌ | ["h2h"] | Mercados: h2h (moneyline/vencedor), spreads (handicap), totals (mais/menos) |
oddsFormat | string | ❌ | "decimal" | decimal (1.50, 2.10) ou american (+150, -200) |
enableArbitrage | boolean | ❌ | true | Procurar oportunidades de arbitragem entre casas |
minArbitrageProfit | number | ❌ | 0.5 | Lucro mínimo % para reportar uma arbitragem (0–20) |
enableValueBets | boolean | ❌ | true | Identificar apostas com odds acima da média do mercado |
valueBetThreshold | number | ❌ | 5 | % mínimo acima da média do mercado para sinalizar um value bet (1–50) |
oddsApiKey | string (secreto) | ❌ | — | Chave da the-odds-api.com (gratuito: 500 requisições/mês). Sem ela, usa o fallback gratuito da ESPN. |
daysFrom | integer | ❌ | 3 | Incluir apenas eventos que começam dentro deste número de dias (1–14) |
proxyConfiguration | objeto | ❌ | — | Configuração de proxy opcional |
Exemplo de Entrada
Veja o exemplo de entrada em inglês (o formato JSON é idêntico).
📤 Saída
Cada item do dataset é um evento para um mercado (eventos sem odds são ignorados):
| Campo | Tipo | Descrição |
|---|---|---|
sport | string | Chave do esporte/liga (ex: soccer_epl, soccer_eng.1) |
sportTitle | string | Nome de exibição da liga/esporte |
eventId | string | Identificador único do evento |
homeTeam | string | Time da casa |
awayTeam | string | Time visitante |
commenceTime | string | Início do evento (ISO 8601) |
status | string | Status do evento (Scheduled, Live, etc.) — apenas fonte ESPN |
market | string | Tipo de mercado: h2h, spreads ou totals |
bookmakerCount | number | Número de casas com odds para este mercado |
marketSummary | objeto | Por resultado: bestOdds, worstOdds, avgOdds, bookmakerCount |
bookmakers | objeto[] | Por casa: bookmaker, bookmakerKey, lastUpdate, outcomes[{name, price, point}] |
arbitrage | objeto | null | Detalhes da arbitragem se houver: profitPercent, guaranteedProfit, totalStake, inverseSum e stakes por resultado (bookmaker, odds, stake, payout) |
valueBets | objeto[] | Value bets: bookmaker, outcome, odds, marketAverage, valuePct, impliedProb, marketImpliedProb |
dataSource | string | espn-live (fallback gratuito) ou fonte The Odds API |
scrapedAt | string | Timestamp ISO 8601 |
Exemplo de Saída
Veja o exemplo de saída em inglês (a estrutura JSON é idêntica).
📋 Casos de Uso
- Trading de arbitragem — Encontre oportunidades de lucro garantido entre casas com divisão de aposta pronta
- Value betting — Identifique resultados com preço acima da média de consenso do mercado
- Comparação de odds — Compare melhor/pior/média de preços por resultado em várias casas
- Line shopping — Encontre sempre a casa com o melhor preço para uma aposta
- Scouting pré-jogo — Liste jogos futuros dentro de uma janela escolhida em futebol, basquete, MMA, tênis e mais
- Quant & modelagem — Alimente snapshots históricos de odds e probabilidades implícitas em modelos de apostas
- Monitoramento gratuito — Acompanhe odds de grandes ligas de futebol e dos EUA sem configuração via fallback ESPN
❓ Perguntas Frequentes
P: Preciso de uma chave da The Odds API?
R: Não para começar. Sem chave, o actor usa uma fonte pública gratuita da ESPN cobrindo Série A do Brasil, Premier League inglesa, La Liga, MLS, NFL e NBA. Para liberar 60+ casas em 40+ esportes, forneça uma oddsApiKey gratuita da the-odds-api.com (gratuito: 500 requisições/mês).
P: Como funciona a detecção de arbitragem?
R: Para cada evento, o actor encontra as melhores odds disponíveis para cada resultado entre todas as casas e soma as probabilidades inversas. Se a soma for menor que 1, existe arbitragem. Ele então reporta o lucro garantido % e a divisão ótima de aposta para um total de $1.000 (apenas arbitragens acima de minArbitrageProfit são reportadas).
P: O que é um value bet?
R: Um resultado cujas odds em uma casa excedem a média entre casas em pelo menos valueBetThreshold por cento (requer ao menos 3 casas cotando esse resultado). Cada value bet inclui a probabilidade implícita vs. a probabilidade implícita do mercado.
P: Quais mercados e esportes são suportados?
R: Mercados: h2h (moneyline/vencedor), spreads (handicap) e totals (mais/menos). Esportes: use as chaves da The Odds API como soccer_brazil_serie_a, soccer_epl, basketball_nba, mma_mixed_martial_arts, tennis_atp_french_open e 40+ outras.
P: O que acontece se nenhuma odd for encontrada? R: O actor nunca retorna dados falsos. Eventos sem odds reais são ignorados, e se uma execução inteira não trouxer eventos, ele salva um guia de diagnóstico (causas prováveis + soluções) e finaliza com sucesso sem cobrar você.
P: Odds decimais ou americanas?
R: Ambas. Defina oddsFormat como decimal (1.50, 2.10) ou american (+150, -200). O actor também calcula probabilidades implícitas para a análise de value bets.
💰 Preços
Este actor usa precificação Pay Per Event (PPE). A cobrança é por evento extraído (event-scraped). Execuções apenas de diagnóstico (zero eventos) não são cobradas, e execuções internas da ViralAnalyzer são puladas.
👉 Veja o preço atual por evento na página do actor: apify.com/viralanalyzer/sports-betting-intelligence
🔗 Actors Relacionados
- Yahoo Finance Intelligence — Cotações, fundamentos & ratings de analistas
- TradingView Screener — Análise técnica & scanner de mercado
- CoinGecko Crypto Intelligence — Dados de mercado cripto
- RSS News Intelligence — Monitoramento de notícias & manchetes
⚖️ Aviso Legal
Este actor agrega dados de odds publicamente disponíveis. Ele não facilita apostas ou transações. Use com responsabilidade e em conformidade com as leis locais de jogos de azar.
📝 Changelog
v1.0 (Atual)
- ✅ Odds ao vivo & pré-jogo da The Odds API v4 (60+ casas)
- ✅ Fallback público gratuito da ESPN (Série A, EPL, La Liga, MLS, NFL, NBA)
- ✅ Detecção de arbitragem com divisão ótima de aposta para $1.000
- ✅ Detecção de value bets vs. média de mercado entre casas
- ✅ Resumo de mercado por resultado (melhor/pior/média de odds)
- ✅ Conversão odds decimal/americano + probabilidade implícita
- ✅ Mercados
h2h,spreadsetotalsem múltiplas regiões - ✅ Guardrails zero-dados-falsos + guia de diagnóstico (sem cobrança em execuções vazias)
- ✅ Cobrança PPE com owner-skip