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

Mr. Doge Sports Odds SDK Logo
Mr. Doge
💲 to 💲💲💲
Free Tier
Pregame Live Bet365 Pinnacle Closing SGP Futures Deeplinks Settlement Stats Schedules Websocket MCP Discord

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.subscribeLive streams every live match matching your filters, with match.upd and match.del events. Growth tier and up.
  • matches.subscribe is a deep single-match stream for stats and status changes. Business tier.
  • odds.subscribe pushes the full market array for one match on every change, replace-not-merge, and closes itself with a match_completed reason 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

There is no permanent free tier. Every plan includes a 7-day free trial with full access to that tier's features. A payment card is required to start the trial and the subscription continues automatically after it ends. Creating an account and reading the docs is free with no card.
Starter is $29.90/mo (match and catalogue reads, no live data or odds). Growth is $59.90/mo (adds live scores and the live WebSocket stream, still no odds). Business is $199.90/mo at a limited-time price, listed at $299.90 (adds live odds, per-match streams, and AI recommendations). Enterprise is custom.
Eight sports: soccer, basketball, American football, baseball, ice hockey, tennis, volleyball, and handball. Soccer has the widest league coverage. You filter by sport key, then by region and competition ID from the discovery endpoints.
Yes. The SDK exposes three subscriptions: 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 →
Not yet. The provider's FAQ says historical odds are on the roadmap, and the current API serves live and upcoming matches only. For closing lines and backtesting, pair it with a historical source. Compare historical odds sources →
The docs don't name any. Each market line carries a single decimal price with no bookmaker field, so treat the feed as one consolidated book rather than a per-book comparison. For line shopping across named sportsbooks, use an aggregator alongside it.
A Business-tier endpoint that returns single-outcome picks with decimal odds at pick time, a confidence band (High, Medium, Low), an edge percentage, an optional Kelly fraction, rationale bullets, risk factors, and a settled flag with the result once the match completes. You can filter by match, minimum edge, confidence, and odds range.
Yes, but the API key stays on your server. Your backend uses the Node package to mint short-lived JWTs, and the browser or React Native client fetches and refreshes those tokens. Mr. Doge does not accept API keys directly from browsers, so you always need both packages.

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.

Mr. Doge is listed on SportsAPIs.dev
<a href="https://sportsapis.dev/apis/mr-doge" title="Mr. Doge on SportsAPIs.dev">
  <img src="https://sportsapis.dev/assets/images/badges/listed-on-sportsapis.svg"
       alt="Mr. Doge is listed on SportsAPIs.dev" width="220" height="48">
</a>

Want a Featured Partner spot or to update your listing? Partner with us →