+ESPN API
ESPN scores, box scores, player stats, standings, injuries and news for every league as clean JSON.
The API.SH ESPN API covers what ESPN shows for the NFL, NBA, MLB, NHL, college sports, soccer and more. Get scoreboards by date or week, full game summaries with box scores, play-by-play and win probability, team pages, rosters and schedules, standings, statistical leaders, college polls, injury reports and headlines. Athlete routes return bios, career stats by season, game logs and situational splits.
- 16 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/espn/v1/ search
{ "success": true } What you can build with the ESPN API
Live scores and results
Pull a league's scoreboard for a date or week, then the full game summary with box score and scoring plays.
Fantasy and betting research
Combine injury reports, game logs and splits by opponent or home/away to judge a player before a lineup decision.
Sports analytics and models
Feed play-by-play with clock, score and down and distance into win probability or player value models.
Standings and rankings widgets
Show standings by division, AP and Coaches Poll rankings and league leaders on a site or app.
Team and player pages
Build team pages with roster, schedule, records and headlines, and player pages with bio and career stats.
ESPN data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
ESPN API endpoints and prices
Every ESPN endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| ESPN search /espn/ | $1 · $2 PAYG 1 credit |
| ESPN athlete /espn/ | $1 · $2 PAYG 1 credit |
| ESPN athlete game log /espn/ | $1 · $2 PAYG 1 credit |
| ESPN athlete splits /espn/ | $1 · $2 PAYG 1 credit |
| ESPN game summary /espn/ | $1 · $2 PAYG 1 credit |
| ESPN injury report /espn/ | $1 · $2 PAYG 1 credit |
| ESPN statistical leaders /espn/ | $1 · $2 PAYG 1 credit |
| ESPN news /espn/ | $1 · $2 PAYG 1 credit |
| ESPN play-by-play /espn/ | $1 · $2 PAYG 1 credit |
| ESPN rankings (polls) /espn/ | $1 · $2 PAYG 1 credit |
| ESPN team roster /espn/ | $1 · $2 PAYG 1 credit |
| ESPN team schedule /espn/ | $1 · $2 PAYG 1 credit |
| ESPN scoreboard /espn/ | $1 · $2 PAYG 1 credit |
| ESPN standings /espn/ | $1 · $2 PAYG 1 credit |
| ESPN team /espn/ | $1 · $2 PAYG 1 credit |
| ESPN teams /espn/ | $1 · $2 PAYG 1 credit |
Call the ESPN API
ESPN search: GET https://api.api.sh/espn/
curl "https://api.api.sh/espn/v1/search?q=mahomes" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/espn/v1/search",
params={"q": "mahomes"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/espn/v1/search");
url.searchParams.set("q", "mahomes");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/espn/v1/search", "q", "mahomes")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "ESPN" and "ESPN search".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 483 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for ESPN data
- Public data only: no ESPN login, cookies or account needed
- One key and one response shape for ESPN and 482 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official ESPN API
ESPN has no official public sports data API today. Its 2012 developer program was retired, and the JSON endpoints that power ESPN's site are undocumented, can change without notice and sometimes answer with 403 errors. API.SH wraps public ESPN data in stable, documented routes with one JSON format.
Rather than building on ESPN's hidden endpoints, maintaining an ESPN scraper or comparing Apify and other sports scrapers, API.SH gives you documented routes, one key and a fixed price per call.
ESPN API questions
What ESPN data can I get?+
Scoreboards (/espn/v1/scoreboard), game summaries (/espn/v1/game), play-by-play (/espn/v1/play-by-play), teams and team pages (/espn/v1/teams, /espn/v1/team), rosters (/espn/v1/roster), schedules (/espn/v1/schedule), standings (/espn/v1/standings), leaders (/espn/v1/leaders), college polls (/espn/v1/rankings), injury reports (/espn/v1/injuries), news headlines (/espn/v1/news), search (/espn/v1/search) and athlete bios, game logs and splits (/espn/v1/athlete, /espn/v1/athlete-gamelog, /espn/v1/athlete-splits).
How much does the ESPN API cost?+
Every ESPN endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /espn/v1/athlete at 1 credit each.
Is there an official ESPN API?+
No. ESPN closed its public developer program, and the endpoints people call today are undocumented ones used by ESPN's own site and apps. API.SH gives you documented, maintained routes for the same public data.
Do I need an ESPN account or API key?+
No ESPN account or ESPN key. API.SH reads public ESPN data only, and you authenticate with your API.SH key.
Is there a free ESPN API for sports data?+
ESPN's hidden endpoints cost nothing but have no documentation or support. API.SH is paid per call, with 1,000 free credits every month, which covers small projects and testing.
Can I use it for fantasy football?+
For research, yes: player stats, game logs, splits, injury reports, depth charts and leaders. It does not read or manage your fantasy league, roster or private league data.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key from the dashboard. 3. Call /espn/v1/scoreboard with league=nfl or league=nba, then /espn/v1/game with an event id from the results. Request examples and every parameter are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.