Sports Injury Reports API (NFL, NBA, MLB, NHL)
Pricing
$0.10 / 1,000 injury rows
Sports Injury Reports API (NFL, NBA, MLB, NHL)
Player injury reports for NFL, NBA, MLB and NHL as clean normalized JSON from ESPN's public API. One row per injury with athlete, team, status, injury type and analyst comments. No API key needed. Unofficial, not affiliated with ESPN.
Pricing
$0.10 / 1,000 injury rows
Rating
0.0
(0)
Developer
kyle herman
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
6 days ago
Last modified
Share
The easy sports injury API — get up-to-date player injury reports for the NFL, NBA, MLB and NHL as clean, normalized JSON. Powered by ESPN's public injuries feed. No API key, no scraping headaches, no HTML parsing.
Perfect if you searched for an NFL injury report API, NBA injuries API, MLB injured list API, NHL injury API, or a general ESPN injuries API and just want structured data.
What you get
One dataset row per player injury, with the team, athlete, position, status, injury type, timestamps and ESPN analyst commentary:
- Full league coverage: all NFL, NBA, MLB and NHL teams with injury data
- Player status:
Active,Out,Day-To-Day,Questionable,Injured Reserve,10/15/60-Day-IL,Suspension, and more - Short + long analyst comments (great for fantasy tools, betting models, news bots)
- Normalized UTC timestamps
Input
All fields are optional — running with an empty input {} fetches all four
leagues with no status filter.
{"leagues": ["nfl", "nba", "mlb", "nhl"],"statusFilter": "all"}
| Field | Type | Default | Description |
|---|---|---|---|
leagues | array | ["nfl", "nba", "mlb", "nhl"] | League codes to fetch. Supported: nfl, nba, mlb, nhl. |
statusFilter | string | "all" | One of all, active, out, day-to-day, questionable. Matched case-insensitively. Uncommon statuses (e.g. 60-Day-IL, Suspension) are included only under all. |
Output
One row per injury. Real example row from a live run:
{"league": "nfl","team_id": "22","team": "Arizona Cardinals","athlete": "Kitan Crawford","athlete_short": "K. Crawford","position": "S","status": "Active","injury_type": "active","date_utc": "2026-08-06T02:58:00Z","short_comment": "Crawford (ankle) is participating in Arizona's training camp, Josh Weinfuss of ESPN reports.","long_comment": "Crawford is now fully recovered from the ankle injury that landed him on the Cardinals' injured reserve in January. The 24-year-old is expected to serve as the team's backup strong safety behind Budda Baker during the upcoming campaign.","fetched_at": "2026-08-06T13:13:43.065037Z"}
Field reference:
| Field | Description |
|---|---|
league | League code (nfl, nba, mlb, nhl) |
team_id | ESPN team ID |
team | Team display name |
athlete | Player full name |
athlete_short | Player short name (e.g. K. Crawford) |
position | Position abbreviation (e.g. S, QB), empty if unknown |
status | Player status (e.g. Active, Out, Day-To-Day, Questionable, 60-Day-IL) |
injury_type | Injury type description (e.g. day-to-day, Injured Reserve, 60-day IL) |
date_utc | When the report item was last updated (ISO 8601 UTC) |
short_comment | One-line analyst note |
long_comment | Full analyst commentary |
fetched_at | When this Actor fetched the data (ISO 8601 UTC) |
Usage ideas
- Fantasy sports lineup tools and start/sit alerts
- Sports betting models that need injury context
- Discord/Slack/Telegram injury news bots
- Daily injury digests and dashboards
Pricing
Pay per event: you are charged a tiny amount per injury row pushed to the
dataset. A typical all-league run returns roughly 1,000–1,500 rows in-season.
Use leagues and statusFilter to fetch only what you need.
Notes
- Data source: ESPN's public site API. Unofficial; this Actor is not affiliated with, endorsed by, or sponsored by ESPN.
- Injury feeds update throughout the day; schedule the Actor (e.g. hourly) for fresh data.
- If a league returns no data (rare, e.g. deep offseason), the run still succeeds and other leagues are unaffected.