NFL injury and player availability API
NFL injury reports grouped by team: each player's status, body part, comments, report date and expected return date where one is given, plus a normalized availability value per player (OUT, DOUBTFUL, QUESTIONABLE and so on). One key, JSON over REST.
Data is aggregated from public sources and is typically 20-30 seconds behind live play (about 1 second after our source). There is no SLA.
Endpoint
- GET/api/v1/sports/football/leagues/nfl/injuries
- GET/api/v1/sports/football/leagues/nfl/player-availability
- Without team the league-wide feed is limited to the 25 most recent records per team; pass team for a complete team report.
Live NFL example
Request
curl -H "Authorization: Bearer $RSA_API_KEY" \
"https://www.realtimesportsapi.com/api/v1/sports/football/leagues/nfl/injuries"Response captured from live data at 2026-11-07 13:58 UTC (refreshed every few minutes). Long arrays are trimmed; meta.rateLimit values are illustrative for a Free key. Trimmed to 1 team and 2 of 800 records.
Response
{
"success": true,
"data": {
"count": 800,
"groups": [
{
"team": {
"id": "22",
"displayName": "Arizona Cardinals"
},
"injuries": [
{
"athlete": {
"id": "5084939",
"displayName": "Isaiah Adams",
"position": "G"
},
"team": {
"id": "22",
"displayName": "Arizona Cardinals"
},
"status": "Injured Reserve",
"fantasyStatus": "IR-R",
"type": "Injured Reserve",
"bodyPart": "Ankle",
"location": "Leg",
"detail": "Not Specified",
"side": "Not Specified",
"injuryId": "646408",
"returnDate": "2026-11-08",
"date": "2026-11-07T04:26Z",
"shortComment": "Adams (ankle) is officially questionable for Sunday's matchup in Seattle, Josh Weinfuss reports.",
"longComment": "Adams is still on injured reserve, where he's resided since Oct. 10. However, he was designated to return Wednesday and logged three limited practices this week. It's unclear if he's ready for game action, and the Cardinals will need to act..."
},
{
"athlete": {
"id": "4367199",
"displayName": "Jon Gaines II",
"position": "G"
},
"team": {
"id": "22",
"displayName": "Arizona Cardinals"
},
"status": "Out",
"fantasyStatus": "OUT",
"type": "out",
"bodyPart": "Ankle",
"location": "Leg",
"detail": "Not Specified",
"side": "Not Specified",
"injuryId": "646385",
"returnDate": "2026-11-15",
"date": "2026-11-07T03:13Z",
"shortComment": "Gaines (ankle) has been ruled out for Sunday's Week 9 matchup versus the Seahawks, Bo Brack of GoPHNX.com reports.",
"longComment": "Gaines continues to battle a knee injury and will miss his third straight game. Hayden Conner may make another start at right guard, though Isaiah Adams (ankle) -- who has been deemed questionable -- could take on that role if he's activate..."
}
]
}
],
"injuries": [
{
"athlete": {
"id": "5084939",
"displayName": "Isaiah Adams",
"position": "G"
},
"team": {
"id": "22",
"displayName": "Arizona Cardinals"
},
"status": "Injured Reserve",
"fantasyStatus": "IR-R",
"type": "Injured Reserve",
"bodyPart": "Ankle",
"location": "Leg",
"detail": "Not Specified",
"side": "Not Specified",
"injuryId": "646408",
"returnDate": "2026-11-08",
"date": "2026-11-07T04:26Z",
"shortComment": "Adams (ankle) is officially questionable for Sunday's matchup in Seattle, Josh Weinfuss reports.",
"longComment": "Adams is still on injured reserve, where he's resided since Oct. 10. However, he was designated to return Wednesday and logged three limited practices this week. It's unclear if he's ready for game action, and the Cardinals will need to act..."
},
{
"athlete": {
"id": "4367199",
"displayName": "Jon Gaines II",
"position": "G"
},
"team": {
"id": "22",
"displayName": "Arizona Cardinals"
},
"status": "Out",
"fantasyStatus": "OUT",
"type": "out",
"bodyPart": "Ankle",
"location": "Leg",
"detail": "Not Specified",
"side": "Not Specified",
"injuryId": "646385",
"returnDate": "2026-11-15",
"date": "2026-11-07T03:13Z",
"shortComment": "Gaines (ankle) has been ruled out for Sunday's Week 9 matchup versus the Seahawks, Bo Brack of GoPHNX.com reports.",
"longComment": "Gaines continues to battle a knee injury and will miss his third straight game. Hayden Conner may make another start at right guard, though Isaiah Adams (ankle) -- who has been deemed questionable -- could take on that role if he's activate..."
}
]
},
"meta": {
"note": "League-wide feed is truncated by the provider to the 25 most recent records per team. Pass ?team={teamId} for a team's complete report.",
"rateLimit": {
"limit": 125,
"remaining": 124,
"reset": 1796083200000
}
}
}Code samples
curl
curl -H "Authorization: Bearer $RSA_API_KEY" \
"https://www.realtimesportsapi.com/api/v1/sports/football/leagues/nfl/injuries"JavaScript (fetch)
const res = await fetch("https://www.realtimesportsapi.com/api/v1/sports/football/leagues/nfl/injuries", {
headers: { Authorization: `Bearer ${process.env.RSA_API_KEY}` }
});
const { success, data, meta } = await res.json();
console.log(data, meta.rateLimit);Python (requests)
import os, requests
res = requests.get(
"https://www.realtimesportsapi.com/api/v1/sports/football/leagues/nfl/injuries",
headers={"Authorization": f"Bearer {os.environ['RSA_API_KEY']}"},
timeout=10,
)
body = res.json()
print(body["data"])MCP prompt (Claude, Cursor, ChatGPT)
Using the Realtime Sports MCP server (https://www.realtimesportsapi.com/api/mcp), call get_injuries with sport "football" and league "nfl" and summarize the current injury report by team for NFL.Connect the hosted MCP server first: setup guide. Each tool call counts as one API call.
Each request above is 1 call. Free covers 125 calls a month after a 1,000-call first month, at 1 request/second. Starter is $29/month for 10,000 calls (about 333 a day) plus webhooks and WebSocket, so you stop polling for changes; 7-day free trial. Compare plans
Fields
| Field | Type | Notes |
|---|---|---|
| count | integer | |
| groups | object[] | |
| injuries | Injury[] |
Rate limits and pricing
| Plan | Price | Calls | Rate | WebSocket | Webhooks |
|---|---|---|---|---|---|
| Free | $0 | 125/mo (1,000 first 30 days) | 1/s | 500 msgs/mo | No |
| Starter | $29/mo ($290/yr) | 10,000/mo | 5/s | Shares monthly pool | Shares monthly pool |
| Growth | $49/mo ($490/yr) | 25,000/mo | 10/s | Shares monthly pool | Shares monthly pool |
| Pro | $99/mo ($990/yr) | 50,000/mo | 20/s | 100,000 msgs/mo | 25,000/mo |
| Business | $179/mo ($1,790/yr) | 150,000/mo | 40/s | 300,000 msgs/mo | 75,000/mo |
| Scale | $299/mo ($2,990/yr) | 500,000/mo | 100/s | 500,000 msgs/mo | 100,000/mo |
Every successful REST call counts as one call. Over the limit you get HTTP 429 with a Retry-After header. No SLA. Full pricing.
FAQ
- Is there a free NFL injury API?
- Yes. A free key (no card) includes every endpoint and league: 1,000 calls in the first 30 days, then 125 a month at 1 request per second. Paid plans start at $29/month for 10,000 calls and add webhooks and WebSocket.
- How do I get one team's full NFL injury report?
- Call /injuries?team={teamId}. The league-wide feed is limited to the 25 most recent records per team; the team filter returns that team's complete report. Team ids come from the /teams endpoint.
- How do I get alerted when an NFL player is downgraded?
- Poll /player-availability/history with since= set to your last check. It is a league-wide feed of availability changes, newest first, with the new status, practice participation and the report text; filter with team= or status= (for example OUT).
- How fresh is the injury data?
- Each request reads the current report. Data typically runs 20-30 seconds behind live play, so it suits apps, alerts, dashboards and bots, not in-play betting.