OddsEngine API Review 2026
A developer-to-developer look at OddsEngine, a beta-stage pre-match odds API that pulls from 30+ US sportsbooks and DFS platforms with sub-10ms response times. Community-driven, request-access, no live odds yet.
OddsEngine at a Glance
Streaming from: Advanced (custom price)
Green = available · amber = unverified or varies by plan · crossed out = not available. Pricing: 💲 ≈ $20/mo up to 💲💲💲💲💲 = $1,000+/mo. From our directory research.
OddsEngine Coverage
From the provider's docs, checked : 45 books, 19 leagues, 4 markets, +1 other market.
US sportsbooks
Global books
Exchanges and prediction markets
16 more books as the provider labels them
American football
Baseball
Basketball
Esports
Ice hockey
Soccer
Tennis
Other leagues
| Family | Markets |
|---|---|
| Mainlines | 3 |
| Player props | 1 |
| Other markets | 1 |
Each market counts once, however many leagues carry it. Other markets are the provider's own market labels that we have not matched to our market names yet. The extra book and league labels come straight from the provider and are not matched to our book and league names yet. These labels still count in the totals.
Live odds: no.
What OddsEngine Is
OddsEngine is a pre-match sports odds API in beta. It aggregates odds from 30+ US sportsbooks and DFS platforms into a single REST endpoint with an OpenAPI 3.0 spec. The pitch is speed: sub-10ms average response times, which the site highlights above everything else.
The beta label is important. OddsEngine uses a request-access model rather than open signups, and the pricing tiers show "contact for pricing" on everything above the trial. That puts it in early-stage territory. If you want a production-ready feed with published pricing today, look at the established options in the sports odds API directory. If you want to evaluate a new entrant that focuses on US books and low latency, read on.
Coverage: US Books and DFS Platforms
OddsEngine leans heavily on the US market. The sportsbook banner on the homepage lists over 30 sources:
- Major US books: DraftKings, FanDuel, BetMGM, Caesars, Bovada, BetOnline, SportsBetting.ag, Hard Rock.
- Sharp/exchange: Pinnacle, Novig.
- Prediction markets: Kalshi, Polymarket, Crypto.com, DraftKings Predictions.
- DFS/pick platforms: PrizePicks, Underdog, Sleeper, ParlayPlay, Fliff, Betr, DK Pick6, Shuffle, ProphetX, Rebet, Sportzino, theScore, Fanatics, Kambi, Dabble.
Leagues cover major US sports plus esports: NFL, CFB, NBA, WNBA, NCAAB (men's and women's), MLB, NHL, CS2, and League of Legends, plus a chip labeled CBB. The site shows "0 Leagues" in one stat counter (likely a rendering bug in the Next.js app), but the supported leagues section lists 11 specific ones (checked November 2026).
Market types are moneyline, spread, totals, and player props. Pre-match only. There are no live in-play odds and no futures, and the line history on the Advanced plan reaches back about 14 days per event (checked November 2026).
Speed and Developer Experience
The selling point is latency. OddsEngine claims sub-10ms average response times, which is fast for a REST odds endpoint. Whether that holds under production load is something you would need to measure yourself during the trial.
The API follows a clean pattern. Authentication is an X-API-Key header, responses are consistent JSON with rate-limit headers on every call, and there is an OpenAPI 3.0 spec for code generation. A sample request looks like:
curl -H "X-API-Key: YOUR_KEY" \
"https://api.oddsengine.dev/v1/odds?event_id=..."
Responses include a meta.response_ms field so you can verify latency claims against your own measurements. That is a nice touch for a product that leads with speed.
The Advanced plan adds WebSocket streaming for live odds updates, but since the site says "pre-match only" for markets and our directory marks live odds as absent, the WebSocket scope may be limited to pre-match price changes rather than in-play data. Clarify that with the team before you build around it.
OddsEngine Pricing and the Free Trial
Four tiers, none with published dollar amounts beyond the trial:
- Trial (free, 30 days): 60 requests per minute, REST API access, all leagues and markets, Discord support.
- Basic: 200 requests per minute, REST API, all leagues, contact for pricing.
- Premium: 500 requests per minute, same scope, contact for pricing.
- Advanced: 2,000 requests per minute, full API access, WebSocket streaming, order book access, arbitrage and discrepancy data, contact for pricing.
A yearly billing option carries a 20% discount. The "contact for pricing" on every paid plan is friction. Developers comparing options want to see a number, and OddsEngine does not give one. The 30-day trial is generous on rate limits but does not tell you what the next step costs.
Getting an API Key
OddsEngine has no sign-up form and no checkout. The "Request Access" and "Get Started" buttons on the home page both open the OddsEngine Discord server, and that's where you ask for a key (checked November 2026). The Trial plan is free for 30 days, with 60 requests per minute across all leagues and markets.
The site doesn't say whether the trial asks for a card or how fast the key arrives; the closing line promises "start building in minutes". Once you have the key, send it in an X-API-Key header on every call. A call without one gets a 401 with the code missing_api_key. The Basic, Premium and Advanced plans all read "Contact for Pricing", so the step after the trial is another Discord message.
A First Request in Python
This sample lists leagues with GET /v1/leagues on api.oddsengine.dev, from the docs, checked November 2026. It's the first call in the spec's own getting-started steps, and the key header is all it needs.
import os
import requests
resp = requests.get(
"https://api.oddsengine.dev/v1/leagues",
headers={"X-API-Key": os.environ["ODDSENGINE_API_KEY"]},
timeout=10,
)
resp.raise_for_status()
body = resp.json()
for league in body["data"][:5]:
print(league["league"], league["total_count"], league["book_counts"])
print("response_ms:", body["meta"]["response_ms"])
The reply is an object with a data array and a meta block. Each league carries league, total_count and book_counts, a count of selections per sportsbook. The script also prints meta.response_ms, the response time in milliseconds. Next, call /v1/events?league=nba for event ids, then /v1/odds?event_id=... for the prices.
Rate Limits, Docs and SDKs
Limits are per minute and follow the plan: Trial 60, Basic 200, Premium 500 and Advanced 2,000 requests (checked November 2026). Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, a Unix timestamp. Go over and you get a 429 with rate_limit_exceeded in the body and a Retry-After header in seconds. The /v1/books call doesn't count against the limit.
The interactive docs and the OpenAPI 3.0 spec are public, so a client generator covers any language; the site names no official SDK. The Advanced plan opens the /ws WebSocket and the arbitrage, discrepancy, order book and line history calls. We found no status page or changelog. Support runs through the OddsEngine Discord.
Who OddsEngine Is For
Given the beta status and the pre-match limitation, the fit is narrow right now:
- Pre-match line shoppers who compare US book prices before game time and value raw speed over breadth.
- DFS platform comparison tools that need PrizePicks, Underdog, Sleeper, and similar DFS sources alongside traditional books. Most odds APIs skip the DFS platforms entirely.
- Developers evaluating early-stage providers who want to shape the roadmap through the Discord community.
Skip it if you need live in-play odds, historical data, closing lines, or international book coverage. Skip it if you need published pricing before you invest integration time. The beta label means the feature set and the API contract could change.
How It Compares
Against established odds APIs, OddsEngine is thinner. No live odds, no history beyond about 14 days, no futures, and unpublished pricing. The sportsbook list leans US-only with no European soft books or Asian sharps beyond Pinnacle.
Where it stands out is the DFS platform coverage. PrizePicks, Underdog, Sleeper, Fliff, and Betr in one feed is unusual. If your product compares pick-em platforms rather than traditional sportsbooks, OddsEngine covers sources that the bigger APIs tend to ignore.
The sub-10ms latency claim is also notable, though hard to evaluate without production traffic. The response_ms field in every response makes it easy to benchmark during the trial.
Verdict
OddsEngine is early. The beta label, request-access model, and unpublished pricing all say "evaluate, do not depend on." The DFS platform coverage and the speed claims are genuine differentiators if they hold up, and the 30-day trial gives you room to test both.
For production workloads today, the established providers in the directory offer more coverage, published pricing, and stable APIs. For developers who want to get in early on a US-focused feed with DFS sources that others skip, OddsEngine is worth the trial. Request access on the OddsEngine Discord and measure the latency yourself.
Last updated: · How providers get listed
Frequently Asked Questions
meta.response_ms field so you can verify the latency against your own measurements. Whether the speed holds at production scale is something to test during the 30-day trial.X-API-Key header. The site doesn't say whether the trial asks for a card or how fast the key arrives.X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Over the limit, you get a 429 with a Retry-After header in seconds. The /v1/books call doesn't count against the limit, and only the Advanced plan opens the WebSocket.OddsEngine Alternatives
Similar providers from the directory worth shortlisting alongside OddsEngine.
Want to test the pre-match feed?
Request access through the OddsEngine Discord. The trial plan gives you 60 requests per minute across all leagues and markets for 30 days, no charge.
Are You the Team Behind OddsEngine?
Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.