SharpAPI is a real-time sports betting odds API covering 40+ sportsbooks with sub-100ms SSE streaming, +EV detection, arbitrage, middles, and low-hold opportunities. ## Endpoints - `/odds` — current odds across books, filterable by sport, market, event - `/ev` — positive expected value opportunities - `/arb` — arbitrage opportunities - `/middles` and `/low-hold` - `/closing-lines` — closing-line…

16 subscribers
8/10 popularity
399 ms avg latency
100% success rate
68 endpoints
The in-depth APIMemo review for this API hasn't been published yet — the data below comes straight from the public marketplace listing.

SharpAPI endpoints

MethodEndpointDescription
Health
GET getHealth
/health
Returns service health status, Redis connectivity, data freshness, and schema compatibility. No authentication required.
Reference Data
GET listSportsbooks
/sportsbooks
Returns available sportsbooks with status, capabilities, and event counts. Use `catalog=true` for a config-based catalog that doesn't require live data.
GET listSports
/sports
Returns available sports with event and live counts. Public endpoint with optional API key for higher rate limits.
GET listTeams
/teams
Returns teams aggregated from current odds snapshots.
GET listMarkets
/markets
Returns available market types with descriptions, examples, and event counts.
GET listLeagues
/leagues
Returns available leagues with event counts. Optionally filter by sport.
Events
GET getEvent
/events/{eventId}
Returns details for a single event.
GET getEventMarkets
/events/{eventId}/markets
Returns available market types for a specific event.
GET listEvents
/events
Returns events aggregated from current odds snapshots. Supports filtering by sport, league, live status, team name, date, and text search. **Authentication required.**
GET getEventOdds
/events/{eventId}/odds
Returns odds for a specific event, optionally filtered by sportsbook and market.
Odds
GET compareOdds
/odds/comparison
Returns side-by-side odds comparison for a specific event across all sportsbooks.
GET getBestOdds
/odds/best
Returns the best available odds for each selection across all sportsbooks.
GET getOddsDelta
/odds/delta
Returns odds that have changed since the given ISO 8601 timestamp.
POST batchOdds
/odds/batch
Returns odds for multiple events in a single request. Batch size limits vary by tier: - Free: 5 events - Hobby: 20 events - Pro: 50 events - Sharp/Enterprise: 100 events
GET listOdds
/odds
Returns odds across all sportsbooks and events. Supports extensive filtering, sorting, field selection, and grouping. **Sort options:** `odds_american`, `odds_decimal`,…
Opportunities
GET getMiddlesSummary
/opportunities/middles/summary
Returns aggregated middle opportunity counts by sport and league. Requires **Pro** tier or higher.
GET listLowHoldOpportunities
/opportunities/low_hold
Returns markets with unusually low bookmaker hold (vig), indicating efficient pricing. Requires **Hobby** tier or higher. **Sort options:** `hold` (default), `market`, `sport`.
GET getMiddleOpportunity
/opportunities/middles/{id}
Returns details for a single middle opportunity. Requires **Pro** tier or higher.
GET listEVOpportunities
/opportunities/ev
Returns positive expected value betting opportunities. Requires **Pro** tier or higher. EV is calculated by devigging sharp book lines (typically Pinnacle) and comparing against…
GET listMiddleOpportunities
/opportunities/middles
Returns middle betting opportunities where both sides of a line can win simultaneously. Requires **Pro** tier or higher. **Sort options:** `quality` (default), `ev`,…
GET listArbitrageOpportunities
/opportunities/arbitrage
Returns arbitrage (sure-bet) opportunities across sportsbooks. Requires **Hobby** tier or higher. **Sort options:** `profit` (default), `start_time`, `sport`. **Format:** Set…
Betting Splits
GET listSplits
/splits
Returns the latest snapshot of public betting splits (handle % and bet %) for every tracked event. Data is sourced from DraftKings (recreational) and Circa Sports…
GET getSplitsHistory
/splits/history
Returns the time series of splits snapshots for a single event from the Valkey sorted set `splits_history:{event_id}`. Snapshots are captured every ~5 minutes and retained for 48…
Deep Links
GET redirectDeepLink
/deeplink/{id}
Redirects to a sportsbook deep link. No authentication required. Returns a 302 redirect to the sportsbook URL, or 404 if the link cannot be generated.
POST batchDeepLinks
/deeplinks/batch
Returns redirect paths for multiple odds IDs or opportunity hash IDs. Resolved IDs return a redirect path, unresolvable IDs return null. Requires **Hobby** tier or higher.
Futures
GET listFuturesOdds
/futures/odds
Returns cross-book odds for a specific futures market. Requires authentication.
GET listFuturesMarkets
/futures
Returns available futures markets with metadata, merged across all sportsbooks. Public endpoint.
Game State
GET getGameStateForSport
/gamestate/{sport}
Returns aggregated live game state for events in one sport. Response shape matches `GET /gamestate` but `data` contains a single key (the path `sport`). Unknown sports return an…
GET listAllGameState
/gamestate
Returns aggregated live game state (scores, periods, clocks, situational data) for every sport with active events. Merged across sportsbooks with a consensus-based algorithm so a…
Other endpoints
GET redirectDeepLink
/deeplink/{id}
Redirects to a sportsbook deep link. No authentication required. Returns a 302 redirect to the sportsbook URL, or 404 if the link cannot be generated.
POST batchDeepLinks
/deeplinks/batch
Returns redirect paths for multiple odds IDs or opportunity hash IDs. Resolved IDs return a redirect path, unresolvable IDs return null. Requires **Hobby** tier or higher.
GET getGameState
/gamestate/{sport}
Returns live game state data for all events in a sport. Requires **Enterprise** tier.
GET listGameStateSports
/gamestate
Returns a summary of sports with available game state data. Requires **Enterprise** tier.
GET listOdds
/odds
Returns odds across all sportsbooks and events. Supports extensive filtering, sorting, field selection, and grouping. **Sort options:** `odds_american`, `odds_decimal`,…
GET getBestOdds
/odds/best
Returns the best available odds for each selection across all sportsbooks.
GET getOddsDelta
/odds/delta
Returns odds that have changed since the given ISO 8601 timestamp.
POST batchOdds
/odds/batch
Returns odds for multiple events in a single request. Batch size limits vary by tier: - Free: 5 events - Hobby: 20 events - Pro: 50 events - Sharp/Enterprise: 100 events
GET listLowHoldOpportunities
/opportunities/low_hold
Returns markets with unusually low bookmaker hold (vig), indicating efficient pricing. Requires **Hobby** tier or higher. **Sort options:** `hold` (default), `market`, `sport`.
GET getMiddlesSummary
/opportunities/middles/summary
Returns aggregated middle opportunity counts by sport and league. Requires **Pro** tier or higher.
GET listArbitrageOpportunities
/opportunities/arbitrage
Returns arbitrage (sure-bet) opportunities across sportsbooks. Requires **Hobby** tier or higher. **Sort options:** `profit` (default), `start_time`, `sport`. **Format:** Set…
GET listEVOpportunities
/opportunities/ev
Returns positive expected value betting opportunities. Requires **Pro** tier or higher. EV is calculated by devigging sharp book lines (typically Pinnacle) and comparing against…
GET compareOdds
/odds/comparison
Returns side-by-side odds comparison for a specific event across all sportsbooks.
GET getHistoricalSummary
/historical/summary
Returns daily aggregate summaries of opportunity detection including counts by type, grading results, and average metrics. Requires **Pro** tier or higher.
GET listHistoricalOpportunities
/historical/opportunities
Returns historical opportunity data from ClickHouse with full filtering. Requires **Pro** tier or higher. Date range is clamped by tier: Pro = 30 days, Sharp = 90 days,…
GET getMiddleOpportunity
/opportunities/middles/{id}
Returns details for a single middle opportunity. Requires **Pro** tier or higher.
GET listMiddleOpportunities
/opportunities/middles
Returns middle betting opportunities where both sides of a line can win simultaneously. Requires **Pro** tier or higher. **Sort options:** `quality` (default), `ev`,…
GET stream
/stream
Server-Sent Events stream for real-time odds and opportunity updates. Requires streaming access (WebSocket add-on, Enterprise tier, or active trial). Use `api_key` query…
GET getHistoricalCLV
/historical/clv
Closing Line Value analysis -- aggregates CLV statistics for graded opportunities within a date range, grouped by sportsbook, sport, league, market, or day. Requires **Pro** tier…
GET listFuturesOdds
/futures/odds
Returns cross-book odds for a specific futures market. Requires authentication.
GET getHealth
/health
Returns service health status, Redis connectivity, data freshness, and schema compatibility. No authentication required.
+ 18 more endpoints on the provider's documentation.

SharpAPI pricing

PlanPriceRate limitQuotas
BASIC Free
  • Requests: 500,000 / monthly

More Sports APIs

View all →
  • The Football Prediction API provides predictions for upcoming football matches, average bookie odds, results…

    SportsFreemium9.3k subscribers
  • Sign up directly on our platform: https://therundown.io/pricing/api Please see our docs at…

    SportsFreemium2.2k subscribers
  • +1 220 football leagues & cups. Livescore (15s), live & pre-match odds, events, line-ups, coachs, players,…

    SportsFree
  • Odds data API for NFL, NBA, MLB, EPL, AFL and loads more, from US, UK, EU and Aussie bookmakers. Get started…

    SportsFreemium9.9k subscribers
  • All NBA Stats DATA, Games, Livescore, Standings, Players, Statistics...

    SportsFreemium
  • FlashScore Live Sports API - Real-Time Scores, Results & Match Stats. Get detailed sports data including…

    SportsFreemium2.2k subscribers