Welcome
The Mr. Doge SDK gives you live odds, AI picks, and market data across every major sport. One typed client, two transports, every framework.
The Mr. Doge SDK powers the Mr. Doge app — live odds across every major sport, AI picks with reasoning attached, and market data you can build on. These docs walk you through installation, authentication, and every method the SDK exposes.
What's in the box
Live matches & odds
Hundreds of leagues across soccer, basketball, tennis, volleyball, baseball, hockey, and football. Real-time deltas over WebSocket.
AI picks with reasoning
Every pick exposes confidence, edge percentage, and the model's rationale.
Dual transport
WebSocket for live subscriptions, HTTP for one-shot reads. Same typed client picks the right path.
Typed end to end
Schemas validate every request server-side and ship as TypeScript types to your client. Autocomplete from the first call to the last.
Four packages, one surface
@mrdoge/node
Server-side SDK. Authenticates with sk_live_… API keys. HTTP + WebSocket.
@mrdoge/client
Browser + React Native. Auths via short-lived JWTs your backend mints with @mrdoge/node.
@mrdoge/http
Zero-dep HTTP-only client. Works on Lambda, Workers, Vercel Edge. No WebSocket overhead.
@mrdoge/protocol
Schemas and TypeScript types. Source of truth for every method, param, and response.
30-second taste
Pick your runtime — Node, Next.js, or any edge runtime. Same SDK, same data.
import { MrDoge } from "@mrdoge/node";
const mrdoge = new MrDoge({
apiKey: process.env.MRDOGE_API_KEY!,
});
// stream live soccer matches
const sub = await mrdoge.matches.subscribeLive({
sports: ["soccer"],
});
sub.on("match.upd", (match) => {
console.log(match.homeTeam.name, match.stats?.homeScore);
});
// or pull today's AI picks
const { data: picks } = await mrdoge.ai.picks.list({ limit: 10 });import { MrDoge } from "@mrdoge/node";
const mrdoge = new MrDoge({
apiKey: process.env.MRDOGE_API_KEY!,
});
export async function GET() {
const { data } = await mrdoge.ai.picks.list({
date: "2026-05-18",
limit: 10,
});
return Response.json(data);
}// Cloudflare Workers / Vercel Edge / Lambda
import { createHttpClient } from "@mrdoge/http";
export default {
async fetch(req, env) {
const mrdoge = createHttpClient({
apiKey: env.MRDOGE_API_KEY,
});
const matches = await mrdoge.call("matches.trending", { limit: 5 });
return Response.json(matches);
},
};