Product Pricing Developers Our League About Support Contact Run JerryGM: Get Started Free
Projections API · v1.1 · QB / RB / WR / TE / K / DST

JerryGM Projections.
In Your Own App.

Weekly and full-season NFL fantasy projections from the JerryGM model, scored under any league's rules — with the stat line behind every number, the model's reasoning, and ids for ESPN, Sleeper, MFL, Yahoo, CBS and Sportradar on every row. One JSON call.

Free tier, no card Any scoring system Try it in the console
GET api.jerrygm.com/api/ext/v1/projections?week=3&names=Josh Allen
{
  "season": 2026, "week": 3, "scoring": "half", "source": "jgm_baseline",
  "players": [{
    "name": "Josh Allen", "position": "QB", "team": "BUF",
    "projectedPPG": 20.06, "seasonTotal": 341.0,
    "statLine": { "passAtt": 33.1, "passYds": 249.8, "passTds": 1.9, "passInts": 0.7,
                  "rushAtt": 6.8, "rushYds": 38.2, "rushTds": 0.4,  },
    "injuryStatus": null,
    "breakdown": { "trailingPPG": 21.4, "positionMean": 15.2, "shrinkWeight": 0.75 },
    "ids": { "gsis": "00-0034857", "espn": "3918298", "sleeper": "4984",
             "mfl": "13593", "yahoo": "30977", "cbs": "2071510",  }
  }],
  "attribution": "JerryGM projections. Derived from openly licensed nflverse data."
}

Not Just a Number. The Whole Argument.

Most projection feeds hand you one scoring format and a point total. This one hands you the box score, the reasoning, and the join keys — under your rules.

⚖️

Any Scoring System

Pass your league's per-stat weights as JSON — 6-point passing TDs, TE premium, half-PPR, whatever the rulebook says — and every number comes back scored that way. Points per first down for PPFD leagues, and points per long play — +1 for each 40+ yard completion, +2 for each 40+ yard touchdown, at any length you name — counted from play-by-play. Threshold bonuses too: +5 for 300 passing yards, +3 for 100 rushing, at any threshold you name, priced by each player's real chance of clearing it. Presets for PPR, half and standard if you just want to start.

🧾

The Stat Line, Points-Consistent

Every row carries the projected per-game box score behind its points. Score statLine under your own weights and you reproduce projectedPPG exactly — so you can use raw stats, points, or both.

🔍

The Reasoning

breakdown shows the recency-weighted rate, the positional prior and how much the projection leans on each. The cofactor source adds named adjustments in plain English: TD regression, Vegas implied totals, depth-chart slot.

🔗

8-Way ID Crosswalk

Joining is normally the hardest part. Every row carries gsis, ESPN, Sleeper, MFL, Yahoo, CBS and Sportradar ids, and GET /players hands you the whole pool's crosswalk in one call, free on every plan — join once, cache ids.gsis, and never match a name again.

⏱️

Point-in-Time History

Ask for season=2025&week=10 and you get what the model would have said before that week, using only what was known then. That is how we backtest it, and it is a backtesting product on its own.

🎓

Rookies, Before Their First Snap

Draft-capital priors fitted from the last four rookie classes, priced under your scoring and flagged as such — then replaced by real usage the moment a rookie plays a game.

Three Steps to Your First Projection

No sales call, no contract. A JerryGM account is the API account.

Create an account, mint a key

Sign in to JerryGM, open Settings → System → JerryGM API, and create a key. It is shown once. Revoking it there cuts that app off within a minute.

Make one call

Put the key in a header and ask for anyone by name or by the id you already have.

curl -H "X-API-Key: jgmk_…" \
  "https://api.jerrygm.com/api/ext/v1/projections?names=Josh%20Allen&scoring=half"

Join once, then by id

Cache ids.gsis from the first response and pass ids= from then on. Send your league's weights in scoring=; GET /sources returns the presets to start from. Omit week for the season number.

Start Free. Pay When It's Worth It.

Monthly or annual — annual is ten months for twelve. No overage billing: past your allowance, calls return 429 until the month rolls over.

Free
Evaluate, prototype, run a small sheet
$0
No card. No expiry.
1,000 calls / month · 60 req/min
Baseline model · current season
Preset scoring (PPR / half / standard)
Full ID crosswalk for the whole pool · free on every plan
All-active call returns the top 100 · up to 25 named players per request
1 key · attribution required
Custom scoring weights
Cofactor model · prior seasons
Create a Free Account
Pro
For a product with paying users of its own
$49.00/mo
or $490.00/year — 2 months free
500,000 calls / month · 600 req/min
Everything in Starter
Commercial redistribution license — show our numbers in your own paid product
Attribution waived
10 keys · priority email support
Start with Pro

Self-serve plans carry no SLA. QB, RB, WR, TE, kickers and team defenses (kicking data from the 2025 season on). Canceling downgrades your keys to Free limits; it never revokes them, so nothing you built stops mid-season. Need more than Pro? Email us.

Questions Developers Ask First

Yes. On Free and Starter, display the attribution string that comes back with every response wherever the numbers appear. Pro carries a commercial redistribution license — you may show JerryGM-derived numbers inside your own paid product, attribution waived. Reselling the raw feed itself is not covered by any self-serve plan.
One HTTP request, regardless of how many players it returns. A request with no ids or names returns the whole projected pool on Starter and Pro — still one call. On Free that same call returns the top 100 by projected points, with truncated: true and the full total so nothing is hidden, and a single request may name up to 25 players by id or name (Starter and Pro have no per-request limit). GET /players lists the whole pool's ids on every plan. Per-player calls are what add up. Every response carries X-Quota-Remaining and X-Quota-Reset, and you get an email at 80%.
QB, RB, WR, TE, kickers and team defenses. Kickers are projected by field-goal distance bucket and defenses with a points-allowed distribution, so tiered scoring prices correctly. The current season is on every plan. Prior seasons, week by week as the model would have seen them at the time, are on Starter and Pro.
They are JerryGM's own model output, derived from openly licensed nflverse data — which is what makes them safe to serve to you. Every cofactor has to beat our held-out backtests before it ships, and historical calls return exactly what the model would have produced then, because that is how the backtests run.
No SLA on self-serve plans. v1 is stable: fields are only ever added, never removed or renamed under the /v1 path. A breaking change gets a new version path and at least 90 days' notice by email to every active key holder, with the old path kept alive through that window.
Your keys are never revoked. A failed card keeps working while we retry; a canceled or lapsed plan drops to Free limits — same keys, baseline source, preset scoring, current season. Anything that needed the plan returns a 402 naming the plan it needs, so nothing fails silently.
No. The API is its own plan on a free JerryGM account — a Pro or Elite JerryGM subscription does not include it, and an API plan does not include the app's paid features. They are bought separately and managed from the same Settings screen.

See the Response Before You Write a Line

The console builds the request, shows the JSON and hands you the cURL. Bring a free key.