Mr. Doge API Review 2026
A developer-to-developer review of Mr. Doge, a TypeScript-first sports data SDK with live match and odds streaming over WebSocket, server-side localization, and an AI recommendations endpoint.
Mr. Doge 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 Mr. Doge Is
Mr. Doge is a sports data and odds API delivered as a typed SDK. It started as the feed behind the company's own AI betting app, and that same feed now ships to developers: live match state, an odds book per match, team form, and an AI recommendations endpoint, all reachable over HTTP or WebSocket from one client.
The SDK is the product. There's a Node package for servers, an HTTP-only package for edge runtimes, a browser and React Native client that never sees your API key, and a React hooks layer on top. Every request is validated server-side against a schema that ships as TypeScript types, so autocomplete works from the first call. Underneath, the wire format is JSON-RPC over a single endpoint, which is unusual for a sports API but invisible once you're inside the SDK.
Localization is built in rather than bolted on. Pass a locale and team names, competition titles, status labels, and even the AI rationale come back in English, Spanish, or Brazilian Portuguese.
Coverage and the Data Model
Eight sports: soccer, basketball, American football, baseball, ice hockey, tennis, volleyball, and handball. Soccer has the most depth, with hundreds of leagues in a regions and competitions catalogue you can walk with the discovery endpoints. The US majors sit under their sport keys rather than as named leagues, so plan on filtering by competition ID once you've found the one you want.
Everything hangs off the match. A match carries both teams, the competition, the region, a start time, a status of upcoming, live, or completed, a sport-specific stats block, and a timeline of events. Odds live in a separate resource keyed to a match, so a scoreboard that doesn't need prices never pays to stream them.
The odds shape is a list of markets, each with typed lines: a stable outcome code such as 1, X, or O2.5, a localized caption, a decimal price, and an availability flag. Some markets change name when the match goes live. The 1X2 line is SOCCER_MATCH_RESULT_PRELIVE before kickoff and SOCCER_MATCH_RESULT after, and the docs tell you to filter on both if you want it either way. That's the kind of detail most providers leave you to discover the hard way.
One thing to know before you design around it: the price is a single number per line. There's no bookmaker field, no per-book comparison, and no named sportsbooks anywhere in the docs. Treat it as one consolidated book rather than a line-shopping feed.
Transports and Live Streaming
This is the part the team clearly cares about most. Every subscribe method returns a handle with a snapshot and an event emitter. On cold start the SDK races an HTTP cache read (around 100ms) against the WebSocket handshake (around 1.5s), and whichever lands first fills the snapshot. The socket then takes over for deltas.
Three subscriptions exist:
matches.subscribeLivestreams every live match matching your filters, withmatch.updandmatch.delevents. Growth tier and up.matches.subscribeis a deep single-match stream for stats and status changes. Business tier.odds.subscribepushes the full market array for one match on every change, replace-not-merge, and closes itself with amatch_completedreason when the game ends. Business tier.
Reconnection is automatic with exponential backoff, and the SDK resubscribes on your behalf. There's a pingOrReconnect() hook for mobile apps coming back from the background. Subscription caps are per connection rather than per key, so a Starter key can hold 25 subscriptions on each of 25 connections. Rate limits are shared across HTTP and WebSocket, and a rate_limited error carries the exact retryAfterMs to wait.
AI Recommendations
The Business tier adds an ai.recommendations resource. Each pick is a single outcome with the decimal odds at pick time, a confidence band, an edge percentage, an optional Kelly fraction, a list of rationale bullets, a list of risk factors, and a settled flag with the result once the match is done. You can filter by match, minimum edge, confidence, and an odds range.
The settled and result fields are the useful part for anyone evaluating the model. Pull past picks, check the hit rate at each confidence band, and decide for yourself whether the edge numbers hold up. The provider's own FAQ says to treat picks as one input among many, which is the right framing and a more honest one than most.
Mr. Doge Pricing and the Free Trial
Three self-serve tiers plus Enterprise, all published:
- Starter, $29.90/mo: catalogue and match reads, 300 requests per minute, 25 connections. No live data, no odds.
- Growth, $59.90/mo: adds live scores, match state, trending, and the live WebSocket stream. 1,000 requests per minute. Still no odds.
- Business, $199.90/mo (limited-time price, listed at $299.90): adds the odds resource, per-match deep subscriptions, and AI recommendations. 5,000 requests per minute.
- Enterprise: custom limits, redistribution and relay rights, white label, dedicated infrastructure, SLA.
Every tier starts with a 7-day free trial at full access to that tier. A card is required at trial start and the subscription continues automatically, so put a reminder in your calendar. Creating an account and reading the docs needs no card.
Read the tier list carefully if odds are why you're here. Odds and AI picks sit on Business only, so the entry price for the odds feed is $199.90 a month, not $29.90. The lower tiers are built for scoreboards and match apps.
Commercial use inside your own app is allowed on every plan. Reselling or relaying the raw stream needs an Enterprise licence.
What It Does Not Cover
The scope is clear, and the provider states most of it in their own FAQ:
- Historical and closing odds. Not yet. The FAQ says it's on the roadmap, and the current API serves live and upcoming matches only. Pair it with a closing-line archive for backtesting.
- Bookmaker-level prices. One price per line, no book names. For line shopping across DraftKings, FanDuel, Pinnacle and the rest, run an aggregator from the odds API directory alongside it.
- Futures, player props, same-game parlays, deeplinks. Markets are match-level: result, totals, both teams to score, handicaps and similar.
- Bet settlement. AI picks settle themselves, but there's no general settlement endpoint for markets.
- An MCP server. Nothing packaged for AI assistants today, though the typed schemas would make one straightforward.
- SDKs outside TypeScript. The official packages are JavaScript and TypeScript. Other languages can hit the JSON-RPC endpoint directly, but you'll write the client.
Who Mr. Doge Is For
If you're building a live sports app in TypeScript, this is the smoothest on-ramp in the directory. Install one package, mint a key, and you're streaming live matches with typed payloads in a few minutes. The browser and React Native story is properly done, with short-lived JWTs minted by your backend so the key never ships in a bundle.
It suits consumer-facing products more than trading tools. Scoreboards, match centres, fan apps, and anything that wants an AI pick with a reason attached get the most out of it. The open-source React components (match cards, odds selectors, a bet slip, a timeline) are a real head start when the UI is part of your build.
Odds-first products should budget for the Business tier and pair it with a multi-book feed for price comparison and a historical source for backtesting. The full API directory covers both.
Verdict
A developer-first live sports API with the best TypeScript ergonomics we've seen in this space, and a pricing ladder you should read twice before you sign up.
The transport layer is the standout: one client, HTTP and WebSocket, cold-start racing, automatic reconnect and resubscribe, and per-match streams split so you only pay for the data you render. The localization and the typed schemas are the kind of polish that saves days over a project. The AI recommendations are a bonus rather than the reason to buy, and the settled results let you check them yourself.
Coverage is match-level and single-book, with no history yet. That's a clear shape and the provider is upfront about it. Build for it, pair it where you need breadth, and the 7-day trial tells you the rest.
Frequently Asked Questions
matches.subscribeLive for all live matches matching a filter (Growth tier and up), matches.subscribe for a single match's stats and status, and odds.subscribe for a single match's full market book on every change (both Business tier). Reconnect and resubscribe are automatic. Compare live odds APIs →Mr. Doge Alternatives
Similar providers from the directory worth shortlisting alongside Mr. Doge.
Want to test the stream?
Every plan comes with a 7-day full-access trial. A card is required to start it, so set a reminder. The docs and the open-source React components are free to read before you commit to anything.
Are You the Team Behind Mr. Doge?
Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.