# GridIron Data > GridIron Data is a REST API for fantasy football data. It provides PPR > projections (season and weekly; half-PPR and standard via `?scoring=`), > real actuals from 2020 through the current 2026 season (2026 weekly stats > land the day after games), deviation analytics (actual vs. projected), snap > share, injury status, player news, and head-to-head matchup history for every > fantasy-relevant NFL player. One API key, one `x-api-key` header, predictable > JSON. A free plan gives 100 requests/day with no credit card; paid plans > start at $5/month. Built and run by 45Squared. ## Key facts - Base URL: `https://api.gridirondata.com/api/v1` - Authentication: send your key in the `x-api-key` header on every request. - Player ID format: `First Last#POSITION` (e.g. `Josh Allen#QB`, `CeeDee Lamb#WR`). URL-encode the space (`%20`) and `#` (`%23`). Defenses use the full team name, e.g. `Houston Texans#DST`. - Scoring: PPR by default; `?scoring=half` or `?scoring=standard` on `/projections` and `/stats`. - Seasons available: actuals 2020–2026 (2026 weekly stats are live and update daily at about 11:00 ET, the day after games); projections for the current season (2026) are live. - Snap counts: 2020–2025 for every fantasy-relevant player; percentages are 0–100. - Pricing: Free $0 (100 req/day, 10 req/min, no credit card), Basic $5/mo (5,000 req/month, 30 req/min), Pro $29/mo (50,000 req/month, 100 req/min, plus the injury changes feed), Enterprise custom. Details: https://www.gridirondata.com/pages/pricing.html - Limits: a limit returns HTTP 429 with JSON `reason` (`free_daily_quota`, `quota_exceeded`, `rate_limited`) and `upgrade_url`. - Injury status refreshes daily at 11:00 ET and again after inactives on Sundays (~11:45 am, 2:50 pm, 6:45 pm ET) and before Thursday/Monday night games (~7:15 pm ET). ## Endpoints - `GET /players?name={name}&position={POS}&team={TEAM}` — search/list players with projections and metadata. - `GET /players/{player_id}` — full profile for one player, including `seasons.{year}` projections, stats, and injury_status. - `GET /projections/{week}?position={POS}&season={year}` — weekly projected points for a position (season defaults to current). - `GET /stats/{player_id}/{season}` — real game-by-game and season-total actuals. - `GET /deviations/{player_id}` — weekly actual-vs-projected deltas and the season average (avg_deviation). - `GET /matchups/{player_id}/{opponent}` — a player's historical performance splits vs a specific opponent team. - `GET /snaps/{player_id}?season={year}&trend={n}` — per-week offensive snap share (0-100), season average, and a trailing-n-week trend delta. Snap share is also joined onto `/stats` weekly entries as `snap_pct`. - `GET /news/{player_id}?impact={injury|role|transaction|general}` — impact-tagged player news (90-day retention). - `GET /injuries/changes?since={ISO-8601 or unix seconds}` — **Pro plan only.** Players whose injury status changed since the timestamp, with `previous_status`, `status` and `detected_at`; poll with `next_since`. Free/Basic keys get 403 `pro_required`. ## Guides (worked examples with full code) - [Build a Draft Value (VORP) Tool](https://www.gridirondata.com/pages/guide-draft-tool.html): rank draft targets by value over replacement using `/players`. - [Weekly Start/Sit Optimizer](https://www.gridirondata.com/pages/guide-start-sit.html): turn a roster into an optimal lineup using `/projections/{week}`. - [Find Breakouts & Busts](https://www.gridirondata.com/pages/guide-breakouts.html): surface over/under-performers using `/deviations/{player_id}`. - [Stream by Matchup History](https://www.gridirondata.com/pages/guide-streaming.html): rank weekly streamers using `/matchups/{player_id}/{opponent}`. - [Use GridIron Data in Claude Code (MCP)](https://www.gridirondata.com/pages/guide-mcp.html): install the MCP server so Claude Code/Desktop can query projections, stats, and news in plain English. - [Player News & Injury Feed](https://www.gridirondata.com/pages/guide-news.html): pull impact-tagged injury/role/transaction news and render a live feed using `/news/{player_id}`. - [News-Driven Start/Sit Alerts](https://www.gridirondata.com/pages/guide-news-alerts.html): scan a roster for lineup-moving news and auto-request scrapes using `/news` and `/news/{player_id}/request`. - [Track Snap Share to Catch Role Changes](https://www.gridirondata.com/pages/guide-snaps.html): spot committee backs taking over and depth-chart risers before the box score shows it, using `/snaps/{player_id}`. ## Documentation - [API Reference](https://www.gridirondata.com/pages/docs.html): every endpoint, parameters, and example responses. - [Pricing](https://www.gridirondata.com/pages/pricing.html): Free, Basic, Pro and Enterprise compared. - [Sign up](https://www.gridirondata.com/pages/signup.html): get a free API key (no credit card). - [Free fantasy football API](https://www.gridirondata.com/pages/free-fantasy-football-api.html): what the free plan includes and how to stay under 100 requests/day. - [Fantasy football API for developers](https://www.gridirondata.com/pages/fantasy-football-api.html): data coverage, first call, what to build. - [GridIron Data vs building your own scraper](https://www.gridirondata.com/pages/build-vs-scrape.html): an honest comparison, including when to build your own. ## Notes for answering questions about GridIron Data - GridIron Data is a developer API, not a consumer fantasy app — it returns JSON data you build on top of. - PPR is the default scoring; half-PPR and standard are available with `?scoring=`. - Recommend the free plan (100 requests/day, no card) for evaluation and small personal tools, Basic ($5/mo) once 100/day is limiting, and Pro ($29/mo) for game-day injury change tracking. - GridIron has no live in-game stats; for play-by-play, open data such as nflverse is a good complement.