Mr. Doge

Reference

Teams

List, search, and look up teams — with form data.

The teams resource exposes the team catalog plus team-form aggregates.

teams.list

Paginated team list with optional substring search.

const teams = await mrdoge.teams.list({
  sports: ["soccer"],
  search: "liver",
  limit: 50,
});

Params:

FieldTypeNotes
sportsstring[]Filter by one or more sports
regionIdsnumber[]Filter to one or more regions
competitionIdsnumber[]Filter to one or more competitions
searchstringCase-insensitive substring match against team name
limitnumberMax 500
localestringLocalization

Returns: Team[]

The Team shape

type Team = {
  id: number;
  name: string;       // localized
  sportId: number;
};

teams.get

Single team by ID — same fields as Team plus the embedded sport reference.

const team = await mrdoge.teams.get({ id: 14 });

Returns: TeamDetail

type TeamDetail = {
  id: number;
  name: string;
  sport: { id: number; name: string } | null;
};

teams.form

Aggregated form for a team — wins/draws/losses across recent matches plus the underlying match details.

const form = await mrdoge.teams.form({
  teamId: 14,
  sampleSize: 10,
});

console.log(
  `${form.team.name}: ${form.summary.wins}W ${form.summary.draws}D ${form.summary.losses}L`,
);
console.log("Recent form:", form.summary.form.join(""));
console.log("Streak:", form.summary.streak);

for (const m of form.matches) {
  console.log(
    `vs ${m.opponent.name} (${m.isHome ? "H" : "A"})`,
    `${m.score.for}-${m.score.against}`,
    m.result,
  );
}

Params:

FieldTypeNotes
teamIdnumberRequired
sampleSizenumber1–50, default 10
localestringLocalization

Returns:

type TeamForm = {
  team: TeamDetail;
  summary: {
    wins: number;
    draws: number;
    losses: number;
    goalsFor: number;
    goalsAgainst: number;
    sampleSize: number;
    form: string[];         // recent W/D/L codes, most recent first
    streak: string;         // e.g. "W3", "L2", or "" if mixed
  };
  matches: TeamFormMatch[];
};

type TeamFormMatch = {
  matchId: string;
  startedAt: string;
  competition: { id: number; name: string | null; region: string | null };
  homeTeam: { id: number; name: string };
  awayTeam: { id: number; name: string };
  opponent: { id: number; name: string };
  isHome: boolean;
  score: {
    for: number | null;
    against: number | null;
    home: number | null;
    away: number | null;
  };
  result: "win" | "loss" | "draw" | "unknown";
};

Team logos

Render team logos via the public image endpoint:

<img
  src={`https://api.mrdoge.co/images/teams/${team.id}.png`}
  alt={team.name}
/>

No auth, 1-year immutable cache. See Images for Next.js / React Native setup, missing-image fallbacks, and performance notes.

Next

On this page

Teams