RotoWire News & Injury Data
RotoWire Data Integration
RotoWire provides real-time sports intelligence that pairs directly with OpticOdds market data — injury reports, confirmed lineups, depth charts, player news, and DFS projections across all major North American and international leagues.
Use RotoWire alongside OpticOdds to understand why lines move, not just that they moved.
What RotoWire Covers
| Data Type | Description | Update Frequency |
|---|---|---|
| Injury Reports | Player status (OUT, GTD, Q, D, IR), body part, severity, return date | Continuous — every few minutes on game day |
| Player News | Beat reporter updates with analysis and fantasy/betting impact | Continuous |
| Confirmed Lineups | Official starters with home/away context | 60–90 min before tip-off / first pitch |
| Depth Charts | Full roster depth by position | Multiple times daily |
| DFS Projections | Per-player stat projections with salary data | Daily, updated after lineup lock |
| Transactions | Trades, signings, waivers, IR moves | Continuous |
Supported Leagues: NBA, MLB, NFL, NHL, WNBA, CBB, CFB, EPL, MLS, UCL, Liga MX, Bundesliga, La Liga, Ligue 1, Serie A, PGA, NASCAR, UFC, and more.
Why Layer RotoWire on Top of OpticOdds
Odds move in response to real-world events. RotoWire data tells you what those events are before the line has fully adjusted.
Injury → Line Movement A star player ruled out 90 minutes before tip-off will shift a spread by 3–8 points. RotoWire's injury feed captures GTD → OUT transitions as they happen.
Lineup Confirmation → Totals Confirmed starting pitchers, resting starters, and backup goalies all affect totals pricing. Lineup data from RotoWire lets you act before the market fully reprices.
Transaction News → Futures A key trade or waiver claim affects team win totals and player props. RotoWire transactions feed surfaces these moves immediately.
Authentication
RotoWire uses a simple query-parameter API key — no OAuth, no headers required.
https://api.rotowire.com/{sport}/{endpoint}.php?key=YOUR_ROTOWIRE_KEY
Full documentation: RotoWire API Reference →
Core Workflows
1. Injury Monitoring + Line Tracking
Poll RotoWire injuries every 5–10 minutes on game day. When a high-priority update appears, cross-reference OpticOdds for line movement on that game.
import requests
RW_KEY = "YOUR_ROTOWIRE_KEY"
OO_KEY = "YOUR_OPTICODDS_KEY"
# Step 1 — fetch recent NBA injury updates (last 30 min)
injuries = requests.get(
"https://api.rotowire.com/Basketball/get-nba-injuries.php",
params={"key": RW_KEY, "hours": 0.5}
).json().get("Updates", [])
# Step 2 — filter for high-priority OUT/GTD statuses
impactful = [
u for u in injuries
if u["Player"]["InjuryStatus"] in ("OUT", "GTD") and int(u["Priority"]) <= 2
]
# Step 3 — for each impactful update, check current odds on that game
for update in impactful:
team_code = update["Team"]["Code"]
print(f"{update['Player']['LastName']} ({team_code}) — {update['Player']['InjuryStatus']}")
# use team_code to filter OpticOdds fixtures and pull current spread/total2. Lineup Confirmation → Same-Game Parlays
Confirmed starters affect SGP pricing significantly. Pull RotoWire lineups once they're posted and compare against OpticOdds player prop availability.
lineups = requests.get(
"https://api.rotowire.com/Basketball/get-nba-lineups.php",
params={"key": RW_KEY}
).json()
for game in lineups.get("Games", []):
home = game.get("HomeTeam", {})
away = game.get("AwayTeam", {})
if game.get("Status") == "Confirmed":
print(f"{away['Alias']} @ {home['Alias']} — lineup confirmed")
# now safe to pull player props from OpticOdds for this game3. Transactions Feed → Futures Monitoring
Watch for impactful roster moves that shift win totals or championship futures pricing.
transactions = requests.get(
"https://api.rotowire.com/Basketball/get-nba-transactions.php",
params={"key": RW_KEY, "hours": 24}
).json().get("Transactions", [])
for t in transactions:
print(f"{t.get('Player')} — {t.get('Description')}")Priority Levels
RotoWire assigns every update a priority from 1–5. Use the max_priority parameter to filter signal from noise.
| Priority | Meaning | Typical Betting Relevance |
|---|---|---|
| 1 | Critical — star player out or major news | High — expect immediate line movement |
| 2 | High — starter questionable, notable injury | Medium-High |
| 3 | Medium — rotation player, minor update | Low-Medium |
| 4–5 | Low / Informational | Minimal |
?key=YOUR_KEY&max_priority=2
Polling Reference
| Data Type | Recommended Interval |
|---|---|
| Injuries / News (game day) | Every 5–10 min |
| Injuries / News (off-day) | Every 30–60 min |
| Lineups | Every 5 min starting 2 hrs before game |
| Transactions | Every 30 min |
| Depth Charts | Every 4–6 hrs |
Use the hours parameter for delta-pulls — only fetch what's changed since your last poll.
Resources
- RotoWire API Reference — full endpoint documentation with example responses
- Quick Start Guide — authentication, first API call, key parameters
- Data Dictionary — injury status codes, priority levels, position codes
- Polling Best Practices — delta-pull patterns, deduplication, backoff
Please contact your OpticOdds sales representative if you're interested in adding RotoWire data to your package.
Updated about 2 hours ago