MoviOdds Review 2026
A developer-to-developer review of MoviOdds, a free odds feed that covers one book, bet365, across 24 sports, with an in-play WebSocket stream and an endpoint that returns bet365's own Bet Builder price.
MoviOdds at a Glance
Green = available · amber = unverified or varies by plan · crossed out = not available. Pricing: 💲 ≈ $20/mo up to 💲💲💲💲💲 = $1,000+/mo. From our directory research.
What MoviOdds Is
MoviOdds is a bet365 odds API and nothing else. Every price in the feed is a bet365 price, pre-match and in-play, across 24 sports. It's an independent project run by one developer, and it isn't affiliated with bet365. The site says so up front.
bet365 has no public odds API, so most developers get its prices second-hand from a multi-book aggregator. MoviOdds goes the other way: one book, read deeply. When we tested, its cache held about 1,800 fixtures and over 110,000 live quotes.
The developer is in our Discord and answers integration questions himself. For a feed this young, that direct line counts for a lot.
Coverage and Markets
The sports list covers soccer (the default), tennis, basketball, American football, ice hockey, baseball, both rugby codes, cricket, Australian rules, table tennis, volleyball, handball, badminton, esports, darts, snooker, boxing, MMA and a handful of smaller ones. Pass ?sport= to pick one, or sport=all for everything at once.
Here is what came back when we pulled each board in October 2026:
- American football: 61 games across the NFL, college football and the CFL. NFL games carried up to 37 markets and over 1,000 quotes each before kickoff: spread, total and moneyline for the game, first half and first quarter, correct score, winning margin, touchdown scorer markets, and player ladders for passing, rushing and receiving yards, receptions, sacks and tackles.
- Baseball: MLB, KBO, NPB and CPBL. Live MLB games carried batter player props (home runs, hits, total bases, strikeouts) and plate-appearance markets.
- Ice hockey: 81 games, from the NHL and AHL to the Czech and Slovak leagues. Live NHL games carried anytime and next goalscorer, period and ten-minute markets.
- Basketball: 228 games, including the NBA, the Japanese B League and the top European leagues.
- Esports: 24 matches across CS2, League of Legends, Valorant, Rainbow Six and Dota 2. See our esports odds API guide for how that compares.
Quotes are flat rows keyed by bet365's own fixture, market and selection IDs, plus a market name and fields like line, side and handicap. Every quote carries decimal and fractional odds and a timestamp for its last price change.
REST, WebSocket and the Bet Builder Endpoint
The integration pattern is short. Load the board once with GET /odds, then keep it current from the WebSocket at wss://moviodds.com/ws. Send {"op":"subscribe"} and you get a snapshot for every match with cached odds, then delta frames as prices move. Filters like /odds?in_play=1 or ?groups= cut the payload down when you need one slice.
The socket is quick. In a 90-second test it sent about 1,300 match snapshots in the first half second, then roughly 270 delta messages a second across 1,359 fixtures. Per the docs, in-play prices are pushed as bet365 moves them, and pre-match games refresh every few seconds in the last hour before kickoff, and less often further out.
The docs are honest about the edges, which we like. They separate ts (the last time a price moved) from polled_at (the last time the feed confirmed the price). They tell you that quote removals aren't fully represented in the stream, so you reload /snapshot?fi= when you reconcile. They also say that caches start empty after a restart, and they mark that state with a warming flag. That's the level of detail you want before you build on a feed.
The one keyed route is POST /betbuilder/price. Send up to 50 slips of 2 to 12 legs, and it returns bet365's own correlated Bet Builder price for each, next to the naive product of the singles for comparison. Correlated same-game pricing is rare in this directory. We haven't tested it yet; keys come on request through Discord.
MoviOdds Pricing and the Free Tier
Right now MoviOdds is free. The odds feed needs no account and no key, and the Bet Builder key is free on request. The developer told us the open access is an early phase to get real users on the feed, and that paid plans will follow. Treat today's terms as a beta, not a promise.
Limits are published in the docs. /odds shares a 30 requests per minute per-IP limit with the routes that fetch live from bet365 (/markets, /quotes, /fixtures, /inplay). The WebSocket allows five connections per IP. The cached routes (/odds, /snapshot and /ws) never hit the global 429 cap, so build on those and keep the live-fetch routes for spot checks.
What It Does Not Cover
The scope is narrow on purpose. A few things sit outside it:
- Other sportsbooks. It's bet365 only. For line shopping, pair it with a multi-book feed from the directory.
- Historical odds. There's no archive or closing-line endpoint. If you need history, store the stream yourself or see our historical odds guide.
- Futures and outrights. The feed covers matches, and we saw no season-long markets.
- Results and settlement. Live matches carry a score and a clock, but there's no results or settlement endpoint.
- Bet slip links. Quotes carry bet365's fixture and selection IDs, but no ready-made link field.
- An uptime guarantee. It's a free beta run by one developer. Watch
/healthand handle thewarmingstate, as the docs describe.
Who MoviOdds Is For
MoviOdds suits developers who care about one book and want all of it. Three groups get the most from it:
- bet365 bettors and tool builders who want its player props and in-play prices in their own app, without paying for twenty books they'll never use.
- Model builders who want every bet365 price move as a live stream to test their numbers against.
- Same-game parlay tinkerers who want bet365's real Bet Builder price instead of multiplying legs and guessing at the correlation.
If you're new to odds feeds, our live odds API guide explains the snapshot-then-delta pattern this feed uses.
Verdict
If bet365 is the book you need, this is the cheapest way in today: free, no key, and a socket that kept up with hundreds of updates a second in our test. The board is deep, with player ladders in American football and batter props in live baseball, and the docs are more candid about freshness and reconnects than most paid feeds.
It's young and it's one book, and the pricing will change once paid plans arrive. None of that is hidden. Pull /odds for your sport, check that the markets you need are there, and you'll know in five minutes whether it fits.
Frequently Asked Questions
wss://moviodds.com/ws and send {"op":"subscribe"}. You get a snapshot per match, then delta frames as prices change. In our test it carried roughly 270 delta messages a second across about 1,350 fixtures. Compare live odds APIsPOST /betbuilder/price. It takes up to 50 slips of 2 to 12 legs and returns bet365's own correlated price for each, for pre-match games only. We haven't tested this endpoint yet./odds shares a 30 requests per minute per-IP limit with the live-fetch routes, and the WebSocket allows five connections per IP. The cached routes (/odds, /snapshot, /ws) are never subject to the global 429 cap, so build on those.MoviOdds Alternatives
Similar providers from the directory worth shortlisting alongside MoviOdds.
Want to see the feed?
The odds feed needs no sign-up and no key. Run <code>curl https://moviodds.com/odds?sport=american_football</code> and you have the whole NFL and college board in one response.
Are You the Team Behind MoviOdds?
Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.