The MLS API for developers ballers.

A Postgres-backed MLS fixture archive: every 2026 fixture with both team crests, attendance, broadcast partner, and half-by-half linescores, plus head-to-head history against any opponent the same clubs have played. No upstream credit burn, no quota cost.

1,000 req/day free (2,000 with GitHub). No credit card.

MLS · 101 fixtures · 2026 season · DB-backed reads

Stats included

Every soccer stat field the API returns today — 80 in total, grouped by how they are produced. Each group carries its own freshness, because a sport is rarely uniformly current.

Season player stats

Post-game

Written after the game ends — not a live in-game feed. Last ingested 2026-08-27.

Endpoint
/v1/players/:id/stats
Last updated
2026-08-27

Fields (42)

Shooting
Dribbles Attempted, Shots on Target, Shots, Npxg, XG, XG Buildup, XG Chain
Scoring
Match Rating, Goals, Npg
Passing
Assists, Pass Accuracy, Key Passes, Passes, Xa
Possession
Dribbled Past, Dribbles Completed
Defending
Duels, Duels Won, Blocks, Interceptions, Tackles
Goalkeeping
Goals Conceded, Saves
Discipline
Red Cards, Yellow Cards, Second Yellow (red), Fouls Committed, Fouls Drawn, Penalties Conceded, Penalties Missed, Penalties Saved, Penalties Scored, Penalties Won
Appearances
Appearances, Starts, Minutes Played, Unused Substitute, Substituted On, Substituted Off, Games, Minutes

Team stats (per game)

Post-game

Written after the game ends — not a live in-game feed. Last ingested 2026-08-30.

Endpoint
/v1/matches/:id/statistics
Last updated
2026-08-30

Fields (38)

Shooting
Shot %, Shots on Target, Total Shots
Scoring
Final Score, Tournament Topscorers
Passing
Accurate Crosses, Accurate Long Balls, Accurate Passes, Cross Accuracy %, Long-Ball Accuracy %, Pass Accuracy %, Total Crosses, Total Long Balls, Total Passes
Possession
Momentum, Possession %, Team Form, Team Match Stats, Won Corners
Defending
Blocked Shots, Effective Clearances, Effective Tackles, Interceptions (defensive), Tackle %, Total Clearance, Total Tackles
Goalkeeping
Saves (goalkeeper)
Discipline
Fouls Committed, Offsides, Penalty Goals, Penalty Shots, Red Cards, Yellow Cards
Appearances
Average Positions, Best Players, Away Lineup, Home Lineup, Player Match Stats

Not included

  • Not shown here — team_per_game_advanced: advanced team stats that no route currently serves.
  • Not shown here — injuries: injury reports — reference data with its own endpoint.

Missing a stat?

We build what people actually ask for. If a field you need is not on this page, tell us — requests are how we decide what to add next.

Name the field or the endpoint shape. Specifics help more than categories.

Goes straight to the team as a product signal. No newsletter, no account, nothing else done with your address.

What you can build

  • Fixture calendar

    Browse the full 2026 MLS schedule by date, with team crests and final scores.

  • Derby context page

    Pull head-to-head history for any matchup across all prior competitions.

  • Half-by-half scoreboard

    Render first-half / second-half linescores from the stored archive.

  • Squad reference

    Wire up the lineups route now so it populates the moment ingest ships.

  • Attendance + broadcast tracker

    Highlight Apple TV matchups and per-fixture attendance figures.

  • Backtest scaffold

    Iterate on the MLS fixture archive without hitting an upstream provider on every page render.

Endpoints

On the gateway at api.bigballsdata.com. Authenticate with the bearer token from /dashboard/keys. Click any endpoint to see every field it returns.

6 endpoints · 96 documented fields. Click any row to see every field it returns.

Start on the free tier

100 requests per minute and 1,000 per day, free — the highest per-minute burst of any free sports API we checked. Burst is what matters when something asks several questions in a row and waits on each answer.

  • Every sport and league we cover — the paid tiers add history depth and premium fields, not more leagues.
  • Calls are counted one for one — no credit weighting, no markets-times-regions arithmetic.
  • Link GitHub and the daily cap goes to 2,000.
  • No credit card.
Get a key →

Or ask your AI tool directly

Connect your account to Claude, ChatGPT, Cursor, Perplexity or any other MCP-compatible tool and ask for soccer data in conversation — scores, standings, player stats and Elo ratings, with no API key to paste and no code to write. Your plan and limits carry over exactly as they do here.

Connect your AI tool →

Integrate in a few lines

Node.js, @bigballsdata/sdktypescript
// Fetch MLS fixtures direct from the DB-backed archive. No upstream quota.
const res = await fetch(
  'https://api.bigballsdata.com/v1/stored/matches?sport=football&league=MLS&limit=20',
  { headers: { 'x-api-key': process.env.BBS_API_KEY! } },
);
const { data, pagination } = await res.json();
for (const m of data) {
  console.log(m.home.name, 'vs', m.away.name, '-', m.status, m.linescore);
}
console.log('Total MLS fixtures:', pagination.total);

Free covers a real app. Scale when you need to.

1,000 req/day free (2,000 with GitHub). Production starts at $49/mo. Live WebSocket push on Pro+.

Frequently asked

What MLS data is available today?
The full 2026 MLS fixture archive (101 matches as of this writing) with team names + short codes, kickoff times, final scores, half-by-half linescores, attendance where reported, and broadcast partner (most fixtures are Apple TV). Head-to-head history across any competition the two clubs have met in. Lineups route is shipped against the canonical shape but the ingest is not wired yet, so it returns an empty envelope today.
Why are live standings and live odds not listed here?
Live MLS standings via /v1/standings are currently misrouting to Premier League (a known gateway bug, tracked); the live /v1/matches league filter is silently ignored (separate bug); odds and events are not loaded for MLS fixtures yet. We document only what works correctly. When those land, the explorer below will show them.
What does "no upstream quota cost" mean?
Every endpoint listed here reads from our Postgres archive, not an upstream provider. Hitting them does not consume any upstream provider credits or vendor allowance, so a dashboard polling these routes scales independently of source quotas.
Is it on the free tier?
Yes. Every endpoint listed here is free, 1,000 req/day (2,000 with GitHub connected).

Get an API key in 30 seconds