GridIron Data pricing
Quick answer: GridIron Data has three self-serve plans. Free costs $0 and gives you 50 requests a month with no credit card, for player lookups and this week's projections. Basic is $45 a year (about $3.75 a month, 3 months free) or $5 month to month, for 5,000 requests a month. Pro, the betting plan, is $29 a month or $249 a year for 50,000 requests plus prop probabilities and fair lines, defense vs position, betting lines, per-stat projections, injury changes within minutes with webhooks, and injury status for offensive linemen. Pro + Commercial, $49 a month or $490 a year, is Pro plus a license to use the data in a product that earns money, for companies under $250,000 a year in revenue. Every plan uses the same API key header, and upgrading keeps the key.
- Free plan
- 50 req/month
- Basic
- $45 / year
- Basic monthly
- $5 / month
- Pro
- $29 / month
- Pro + Commercial
- $49 / month
- Card for Free
- Not needed
How do the plans compare?
Basic and Pro read the same projections, actuals, news, snap and schedule data. Pro adds volume, speed and the betting data: prop probabilities, defense vs position, betting lines, per-stat projections and injury changes within minutes. Free covers player profiles and the current week's projections only. Limits are enforced per API key.
| Plan | Price | Requests | Rate limit | Data | Betting data and injury changes |
|---|---|---|---|---|---|
| Free | $0, no card | 50 per month | 10 per minute | Player profiles and this week's projections | No |
| Basic | $45 per year (about $3.75 a month), or $5 per month | 5,000 per month | 30 per minute | Every week and season, stats, snaps, deviations, matchups, news, rest-of-season projections, schedule and byes | No |
| Pro | $29 per month, or $249 per year | 50,000 per month | 100 per minute | Everything in Basic | Yes: /props, /defense, betting lines on /schedule, per-stat projections, /injuries/changes and webhooks, /depth-charts, /inactives, offensive linemen (C, G, OT) in /players |
| Pro + Commercial | $49 per month, or $490 per year | 50,000 per month | 100 per minute | Everything in Basic | Yes, everything in Pro, plus the commercial license |
| Enterprise | Custom | Custom | Custom | Everything in Basic | Yes, everything in Pro |
Already on the free plan? Upgrade your key to Basic annual from the dashboard; the key stays the same.
What do I get on the free plan?
The free plan covers two things: player lookups and this week's projections. /players, /players/search and /players/{player_id} return the player's profile for the current season: name, position, team, injury status and jersey number, with no weekly stats, snaps, projections or matchup history inside the record. /projections/{week} works for the current NFL week of the current season (a week runs Tuesday to Monday). The cap is 50 requests per month at 10 per minute, with no daily limit. The count resets on the 1st of each month at 00:00 UTC.
Everything else needs Basic: any other week's projections, past seasons, /stats, /snaps, /deviations, /matchups all /news endpoints, /projections/ros, /schedule and /byes. A free key calling those gets HTTP 403 with reason: "basic_required", an upgrade_url that opens Basic annual checkout for your account, and a pricing_url to this page. The betting data (/props, /defense, betting lines and per-stat projections) and /injuries/changes need Pro and answer reason: "pro_required".
You sign up with an email and a password, confirm the email, and your key is on the dashboard. There is no card and no trial clock. The free plan is meant for checking the data format and wiring the API into your own code. Stats, snaps, news, other weeks, a league tool run every week, a bot or anything on a schedule needs Basic. See the free fantasy football API page for a walkthrough.
When should I move to Basic?
Move to Basic when you need stats, snaps, deviations, matchups, news, past seasons or any week other than the current one, or when you want to run something every week of the season. Basic costs $45 a year (about $3.75 a month) or $5 month to month and allows 5,000 requests a month at 30 per minute, so you can pull a whole week of projections on Tuesday and a few hundred profiles on Sunday.
A weekly start/sit check needs about 4 to 6 requests, one projections call per position. Add a Sunday re-check after inactives and a season of weekly use is well past 50 a month. Player profiles, news and matchup lookups add one request each. If you cache responses for a few hours, Basic covers most personal apps and small league bots.
What does Pro add?
Pro is the betting plan, and the plan for apps that serve other people or need to react on game day. It costs $29 a month or $249 a year and raises the limits to 50,000 requests a month at 100 per minute. On top of everything in Basic it unlocks:
- Prop probabilities and fair lines:
GET /propsreturns P(over), P(under) and fair no-vig American odds for any QB, RB, WR or TE stat line (passing, rushing and receiving yards, attempts, completions, receptions, touchdowns, interceptions), with the projected mean and spread, recent games and the model's walk-forward backtest. Walkthrough. - Defense vs position:
GET /defenseshows what every defense allows per game to QBs, RBs, WRs and TEs, from ESPN box scores, ranked, over the whole season or the last N weeks. - Betting lines: each
/schedulegame gets its spread, total, moneylines and each team's implied points (Basic gets the schedule without them). - Per-stat projections:
projected_statson every/projections/{week}row: pass yards, receptions, rush yards and the rest. - Injury changes within minutes:
GET /injuries/changes, a feed of injury and status changes since a timestamp, and webhooks that push each batch to your URL, signed with HMAC-SHA256. Each change carries its source and the game it applies to, and the feed shows when each team was last checked. - Depth charts and starters:
GET /depth-chartsreturns every team's depth chart as of this morning's nflverse refresh;?position=QB&starters=trueis every team's starting QB in one call. - Official inactives:
GET /inactiveslists the NFL's official game-day inactives by week and team. They are published after the games, usually days later, so they are for audit and backtesting, not a pre-kickoff feed.
GridIron checks ESPN's league-wide injury report every 2 minutes from 8:00 am to 1:00 am ET (every 10 minutes overnight), so a change usually reaches the feed within a few minutes of ESPN posting it. Your app polls the feed with ?since= and gets only what is new. Prop probabilities are a model estimate, not betting advice.
curl -H "x-api-key: YOUR_PRO_KEY" \
"https://api.gridirondata.com/api/v1/injuries/changes?since=2026-09-27T16:00:00Z"
{
"season": "2026",
"since": "2026-09-27T16:00:00Z",
"until": "2026-09-27T17:05:41Z",
"count": 1,
"changes": [
{
"player_id": "Josh Allen#QB",
"player_name": "Josh Allen",
"position": "QB",
"team": "BUF",
"previous_status": "Questionable",
"status": "Out",
"detected_at": "2026-09-27T16:55:12Z"
}
],
"next_since": "2026-09-27T16:55:12Z",
"last_checked_at": "2026-09-27T16:55:12Z",
"truncated": false
}
What is Pro + Commercial?
Everything in Pro, plus a license to use GridIron data in a commercial product: run it in your app, train your own models, publish your own forecasts. For companies under $250k/year in revenue.
It costs $49 a month or $490 a year (2 months free). The data access is exactly Pro's: the same endpoints, 50,000 requests a month and 100 a minute. You need it when the data feeds something that earns money, through subscriptions, ads, sponsorships, affiliate links or paid tiers. The consensus projections and prop probabilities stay benchmark-only (GridIron Data's own projections may be shown, credited), and anything you show from the API carries a "Data: GridIron Data" credit. The Commercial License has the details; companies above $250k a year, or anyone who needs wider display or invoicing, should email info@gridirondata.com about Enterprise.
What happens when I hit a limit?
The API answers HTTP 429 Too Many Requests. The JSON body says which limit you hit in reason. For a free key, upgrade_url opens Basic annual checkout for your account (log in first if you need to); for a paid key it links to this page. Nothing is billed for refused requests. The dashboard also shows a banner when a free key reaches its monthly cap.
HTTP/1.1 429 Too Many Requests
{
"error": "Free plan limit reached: you've used all 50 requests for this month (resets on the 1st, 00:00 UTC). Basic is $45/year (about $3.75 a month) or $5/month for 5,000 requests/month, and Pro is $29/month for 50,000 plus prop probabilities, betting lines and injury changes. Your key stays the same when you upgrade. Basic annual: https://www.gridirondata.com/pages/dashboard.html?upgrade=basic&billing=annual All plans: https://www.gridirondata.com/pages/pricing.html",
"reason": "free_monthly_quota",
"upgrade_url": "https://www.gridirondata.com/pages/dashboard.html?upgrade=basic&billing=annual"
}
A free key that calls an endpoint outside the free plan gets HTTP 403 Forbidden instead, with reason: "basic_required", the same Basic annual upgrade_url, a pricing_url and a free_plan_includes list. After you upgrade, the same key gets the answer.
How do I upgrade or cancel?
Log in to the dashboard and choose Basic (annual or monthly) or Pro. Payment runs through Stripe checkout. Your API key does not change when you upgrade, so code that already works keeps working with the higher limits.
You can cancel any time from the billing portal on the dashboard. If you started on the free plan, canceling a paid plan returns your key to the free plan instead of switching it off.
Are there programs for teachers and affiliates?
Teaching a class? Students can get Basic free for the term: Classroom program.
Write about or teach fantasy football data? Earn 30% of what the customers you refer pay in their first year: Affiliate program.
Frequently asked questions
Is there a free fantasy football API plan?
Yes. The GridIron Data free plan gives you 50 requests a month at 10 requests a minute, with no credit card. It covers player lookups (name, position, team, injury status and jersey number) and projections for the current NFL week. Other weeks, past seasons, stats, snaps, deviations, matchups and news need Basic: $45 a year (about $3.75 a month) or $5 a month.
How much does the GridIron Data API cost?
Free costs $0 (50 requests/month). Basic costs $45 a year, about $3.75 a month, or $5 month to month (5,000 requests/month). Pro, the betting plan, costs $29 a month or $249 a year (50,000 requests/month plus prop probabilities, defense vs position, betting lines, per-stat projections, the injury changes feed and webhooks). Pro + Commercial costs $49 a month or $490 a year: Pro plus a license to use the data in a commercial product, for companies under $250,000 a year in revenue. Enterprise is custom.
Is there an annual plan?
Yes. Basic is $45 a year (about $3.75 a month) and Pro is $249 a year, billed once in advance: three months free compared with paying monthly. A year runs 12 months from the day you pay, so starting during the season covers the rest of that season, the playoffs, the off-season and the start of the next season; starting in the off-season covers the whole next season. You can switch between monthly and annual from your dashboard (Billing & Subscription). Start Basic annual.
Does my API key change when I upgrade?
No. Upgrading from Free to Basic or Pro keeps the same key and raises its limits.
What is the game-day injury changes feed?
It is the Pro endpoint GET /api/v1/injuries/changes?since=. It returns each player whose injury status changed since your timestamp, with the old status, the new status and when GridIron detected the change. Statuses are checked against ESPN's injury report every 2 minutes from 8:00 am to 1:00 am ET, and Pro keys can also have each batch pushed to a signed webhook.
Which plan has the betting data?
Pro ($29/month or $249/year). It includes GET /api/v1/props (P(over/under) and fair no-vig odds for a player stat line, with the model's backtest), GET /api/v1/defense (what each defense allows by position), betting lines on /schedule games (spread, total, moneylines, implied team points), per-stat projections on /projections, and injury changes within minutes through /injuries/changes or webhooks. Free and Basic keys get 403 pro_required for /props and /defense, and Basic responses leave out odds and per-stat projections.
Can I use GridIron data in a commercial product?
Yes, with Pro + Commercial ($49/month or $490/year). It is everything in Pro, plus a license to use GridIron data in a commercial product: run it in your app, train your own models, publish your own forecasts. It is for companies under $250,000 a year in revenue; larger companies need Enterprise. Free, Basic and Pro cover personal, internal and free non-commercial use. The consensus projections and prop probabilities are for internal benchmarking only under every plan; GridIron Data's own projections may be shown to users with Pro + Commercial. Read the Commercial License.
Can I cancel any time?
Yes. Cancel any time from the billing portal on your dashboard; a key that started on the free plan goes back to the free plan. For custom terms, email info@gridirondata.com.