Sports Injury Report API — NFL, NBA, MLB, NHL avatar

Sports Injury Report API — NFL, NBA, MLB, NHL

Pricing

from $0.18 / 1,000 injured players

Go to Apify Store
Sports Injury Report API — NFL, NBA, MLB, NHL

Sports Injury Report API — NFL, NBA, MLB, NHL

Every injured player in NFL, NBA, MLB, NHL and WNBA as rows: status, body part, surgery, expected return date and the analyst note — joined to the games each team is about to play, so you see which side takes the field short-handed. No API key or login.

Pricing

from $0.18 / 1,000 injured players

Rating

0.0

(0)

Developer

Matvey

Matvey

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Categories

Share

Sports Injury Report API turns the injury report into data: every hurt player in the NFL, NBA, MLB, NHL and WNBA as a clean row with the status, the body part, whether there was surgery, the date they are expected back and the analyst note — and then joins that report to the games each team is about to play, so one row tells you which side takes the field short-handed and by how many.

No API key, no proxy, no browser. A full sweep of all four major leagues takes a few seconds.

Sports injury report API output: NFL games with each side's injured and out players

What is Sports Injury Report API?

It is the missing half of an odds feed. Lines move on injuries: a starting quarterback ruled out on Friday moves a spread further than anything else that happens that week. Betting models, fantasy tools, sports newsletters and AI agents all need to answer "who is out tonight" — and the usual answer is either a $200-a-month licensed feed or a scraper that returns a flat list you still have to match to the schedule yourself.

Three things set it apart from a plain injury scraper:

  • Games mode. Every upcoming game with both sides' injury load next to it: how many are hurt, how many are actually out, who they are, and injuryEdge — the difference in players missing, positive when the home side is the healthier one. This is the shape the question is usually asked in, and no other injury Actor produces it.
  • Real injuries only. ESPN's feed also carries roster notes about perfectly healthy players — depth-chart moves, contract news — under the status Active, with no injury, no body part and no return date. On an NFL sweep they were more than half the rows. They are dropped by default, so you are not paying for rows that are not injuries. Switch them back on with one checkbox if you want ESPN's whole note feed.
  • Expected return dates. Where ESPN has one, the row carries the date the player is expected back, so "out" and "out for the season" stop looking the same.

What data does it return?

Injuries mode — one row per player

Every field below is on every injury row, filled where ESPN has the value and empty rather than guessed where it does not.

FieldExample
league, leagueNamenfl · National Football League
team, teamId, teamAbbreviation, teamLogoArizona Cardinals · 22 · ARI
player, shortName, playerId, playerUrl, headshotKaleb Proctor · K. Proctor · 5084514 · espn.com/nfl/player/…
position, positionAbbreviationDefensive Tackle · DT
status, statusType, statusAbbreviationInjured Reserve · Injured Reserve · IR
injuryType, bodyLocation, detail, sideKnee - Meniscus · Leg · Surgery · Not Specified
returnDate2027-02-15
comment, shortComment, reportedAtthe analyst note · ir · 2026-09-08T20:42Z
playerStatus, fantasyStatusDay-To-Day · IR
injuryId, scrapedAt-1998810 · 2026-09-09T07:40:00Z

returnDate is filled for roughly four rows in ten — ESPN gives one for serious injuries and leaves it out for a knock reported this morning.

status is the league's own word for the designation — Out, Questionable, Doubtful, Day-To-Day, Injured Reserve, Suspension. statusType is ESPN's normalised version of the same thing and statusAbbreviation the short form (IR, DTD), so you can filter on whichever your pipeline already speaks.

Teams mode — one row per team

team, injuredCount, outCount, byStatus (how many at each status), outPlayers (name, position, injury, expected return) and, unless you turn it off, players — the full injured list. Sorted with the worst-hit teams first.

Games mode — the schedule with the injuries attached

FieldExample
league, eventId, game, shortNamenfl · 401872656 · New England Patriots at Seattle Seahawks · NE @ SEA
startTime, status, statusDetail, venue2026-09-10T00:20Z · pre · Wed, September 9th at 8:20 PM EDT · Lumen Field
homeTeam, homeTeamId, awayTeam, awayTeamIdSeattle Seahawks · 26 · New England Patriots · 17
homeInjuredCount, homeOutCount8 · 6
homeOutPlayers[{player, position, injuryType, returnDate}, …]
homePlayersthe full injured list, unless you switch it off
awayInjuredCount, awayOutCount, awayOutPlayers, awayPlayersthe same four for the visiting side
injuryEdge, espnLink3 · espn.com/nfl/game/…

A real row from one run: New England Patriots at Seattle Seahawks — Seattle 6 players out, New England 9, injuryEdge +3 to the home side.

Error and note rows

Two row types exist besides the data, and neither is ever charged for.

An error row appears when a source could not be read: type: "error", the url that failed, the error message and kind telling you which source it was. A run that hits one bad league still returns the others.

A note row appears when an empty answer is the honest answer — a league ESPN keeps no injury list for, or a day with no games scheduled. It says so in plain words rather than leaving you to guess whether the Actor broke.

Why injury data belongs next to odds

A betting line is a forecast, and the forecast changes most when the roster does. A starting quarterback ruled out on a Friday moves a spread further than any other single piece of news that week; a rested star scratched an hour before an NBA tip-off moves a total. That is why every serious model treats the injury report as an input rather than as context.

The practical problem has never been finding injury news — it is joining it to the right game in time. A flat list of injured players tells you Player X is out; it does not tell you that Player X's team plays on Sunday, who they play, and how many are missing on the other side. Games mode does that join for you, which is why it exists and why it is priced as its own row.

injuryEdge is deliberately simple: away players out minus home players out. It is not a model and does not pretend to be one — it is the first number you would compute yourself, computed for you, so it can go straight into a filter or a spreadsheet column.

How much does it cost?

Pay per row, and error rows are free. Platform usage is close to zero: no browser, no proxy.

RowPrice
Injured player$0.00025 — 4,000 players for $1
Team injury report$0.002
Game with both sides attached$0.004

A full NFL injury sweep is about 300 rows, or $0.08. An NFL week in games mode is 16 rows, or $0.06. Larger monthly plans get 10–30 % off.

How to use it

Sports injury report API input: leagues, mode, status filters and days ahead

  1. Pick 🏆 Leagues — NFL, NBA, MLB, NHL, WNBA or college football.
  2. Choose 🩹 What to get: Injuries for the player list, Teams for the per-team load, Games for the schedule with both sides attached.
  3. Tick 🚫 Only players who will not play if you only care about who is definitely missing.
  4. Click Start. Export as JSON, CSV or Excel, run it on a schedule to keep a history, or call it from the API.

Who is out in the NFL right now

{ "mode": "injuries", "leagues": ["nfl"], "outOnly": true }

This week's games with both sides' injuries

{ "mode": "games", "leagues": ["nfl", "nba"], "daysAhead": 7 }

Only quarterbacks, only one team

{ "mode": "injuries", "leagues": ["nfl"], "teams": ["KC"], "positions": ["QB"] }

Every team ranked by how badly it is hit

{ "mode": "teams", "leagues": ["nba"] }

Use cases

Betting and odds models

Injuries are the largest single driver of line movement. Games mode gives the schedule and the missing players in one row, ready to join to an odds feed — pair it with Sports Betting Odds API for the prices on the same games, matched by team name and start time.

AI agents

The rows are flat, every field is described in the dataset schema and nothing in the input form is required, so an agent asked "who is out for the Chiefs on Sunday" can call the Actor correctly without reading a manual. It is exposed through Apify's MCP server as a tool.

Fantasy and DFS

status, fantasyStatus and returnDate per player, filtered to the positions you start.

Keeping a history

Run the Actor on a schedule and each run appends to its own dataset, so you build your own record of how a status moved — questionable on Wednesday, out on Friday. reportedAt on every row makes the sequence exact.

Newsletters, bots and dashboards

"Who is out tonight" answered in one call, with the analyst note ESPN publishes alongside each injury.

AI agents

Flat, fully documented rows and a plain input form, so an agent can ask for one team, one position or one league without reading a manual.

Research

Injury frequency by position, by body part and by team, or how long a given injury type actually keeps a player out — injuryType, bodyLocation, detail and returnDate are separate fields precisely so they can be grouped.

Troubleshooting

The run returned a note row and nothing else. The league has no injury list at ESPN (soccer, college basketball) or has no games in the window you asked for. Widen daysAhead or pick a league from the covered list.

A team I asked for is missing. The team filter matches on the full name, the abbreviation or the ESPN team id. Kansas City Chiefs, KC and 12 all work; Chiefs alone does not.

Fewer rows than expected. Roster notes about healthy players are dropped by default — that is usually most of ESPN's feed. Turn on Include ESPN's notes about healthy players if you want them back.

A player has no id. ESPN leaves the athlete id out of the injury feed; the Actor recovers it from the headshot file name, so a player without a photo has no id. Name and team are always present.

Notes and limits

  • ESPN publishes injury lists for the North American leagues. Soccer and college basketball have none, which is why they are not offered — an empty answer there would be the source's, not the Actor's.
  • College football is covered but thin: ESPN maintains far less of it than the professional leagues.
  • The data is ESPN's public feed, reported as ESPN reports it. This Actor is unofficial and not affiliated with ESPN or any league.

Integrations

The Actor is a normal Apify Actor, so everything the platform offers works out of the box.

  • APIPOST https://api.apify.com/v2/acts/lergassy~sports-injuries-api/run-sync-get-dataset-items?token=… returns the rows in one call, ready for a script or an agent.
  • Python client
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("lergassy/sports-injuries-api").call(run_input={
"mode": "games", "leagues": ["nfl"], "daysAhead": 7,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row["game"], row["homeOutCount"], "vs", row["awayOutCount"])
  • JavaScript client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('lergassy/sports-injuries-api').call({ mode: 'injuries', leagues: ['nba'], outOnly: true });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
  • n8n, Make, Zapier and Google Sheets — the standard Apify connectors; point them at this Actor and map the fields.
  • MCP server — the Actor is exposed through Apify's MCP server, so an AI agent can call it as a tool. The input form is short, every field is described and nothing is required, which is what an agent needs to call it correctly without reading anything.
  • Webhooks and schedules — run it every morning and push the new injury report wherever you keep it.

❓ FAQ

The Actor reads ESPN's public data — the same pages anyone can open in a browser, with no login and no paywall. Public factual data about professional sports is generally fine to collect, but the law depends on your country and on what you do with the data afterwards, so consult a lawyer for your own case. This Actor is unofficial and not affiliated with ESPN or any league.

How much does an injury report cost?

$0.25 per 1,000 injured players, $2 per 1,000 team reports and $4 per 1,000 games with both sides attached. A full NFL sweep is about 300 rows — eight cents. See the pricing table above.

Can I use it with the Apify API?

Yes. Every mode is reachable through run-sync-get-dataset-items, so one HTTP call returns the rows. There is a Python and a JavaScript snippet in Integrations.

Can I use it through an MCP server?

Yes. It runs as a tool on Apify's MCP server, and the input schema is written for that: short titles, a described tooltip on every field, sensible defaults, nothing required.

Can I integrate it with other apps?

Yes — n8n, Make, Zapier, Google Sheets, Slack and webhooks, through the standard Apify integrations.

Is it one row per player?

In Injuries mode, yes. Teams mode gives one row per team and Games mode one row per game, with the players nested inside.

Why is a player missing an expected return date?

ESPN publishes a return date for serious injuries and leaves it out for a knock reported that morning. Roughly four rows in ten carry one. The field is empty rather than guessed.

Which leagues are covered?

NFL, NBA, MLB, NHL, WNBA and college football. ESPN keeps no injury lists for soccer or college basketball, so those are not offered — an empty answer there would be the source's, not the Actor's.

How often is the data updated?

ESPN updates the report continuously; each row carries reportedAt so you can see when the status last changed. Schedule the Actor to run as often as you need.

Your feedback

If a field is missing, a status looks wrong or a league you need is not covered, open an Issue on this Actor's page or leave a review — both go straight to the developer and are answered the same day. Feature requests are welcome: several fields in the output exist because someone asked.

You might also like

ActorWhat it does
Sports Betting Odds APIMoneyline, spread and total odds per book — Pinnacle sharp lines with risk limits, DraftKings, Kalshi — plus arbitrage and value bets. The prices for the games in this Actor.
Sports Scores & Schedules APILive scores, schedules, standings, rosters and box scores for the same leagues.
Tennis Scores & Stats APIATP and WTA matches, draws, rankings and player statistics.
WTA Tennis ScraperPlayer profiles, rankings and results from the WTA tour.