DEVELOPER DOCS
NOPUNT API
Everything we publish is also exposed as JSON. Permissive CORS so you can call it from any frontend. Use it for dashboards, Discord bots, Twitter automation, fantasy-league widgets — whatever you build, ship it.
⚠JSON endpoints need no authentication. /api/picks.json returns the full analytical read for every game — pick side, tier, confidence, predicted margin, spread, and moneylines. Pro sessions additionally receive the curated money-pick fields. CSV data exports are Pro only and require an active session.
# Quick start
curl https://www.nopunt.com/api/picks.json
curl "https://www.nopunt.com/api/players.json?pos=RB&limit=10"
curl https://www.nopunt.com/api/power-rankings.json
curl "https://www.nopunt.com/api/fantasy.json?pos=RB"
curl https://www.nopunt.com/api/player-props.json
PICKS
Current and historical game picksGET/api/picks.jsonCACHE 5 MINUTESTry it → Current week's picks with confidence tiers, spreads, model moneylines, and predicted margins.
EXAMPLE RESPONSE
{
"season": 2024,
"week": 12,
"generated_at": "2024-11-19T14:00:00.000Z",
"picks": [
{
"game_id": "2024_12_SF_GB",
"away_team": "SF",
"home_team": "GB",
"pick_team": "SF",
"pick_side": "AWAY",
"tier": "S",
"confidence": 0.78,
"predicted_margin": 4.2,
"spread": -1.5,
"model_ml": -210,
"live_ml": -150,
"kickoff_at": "2024-11-24T18:25:00Z"
}
]
}GET/api/picks/{season}/{week}.jsonCACHE 24 HOURS
Any historical week with picks and final results joined. Returns 404 if the week has no picks on file.
EXAMPLE RESPONSE
{
"season": 2024,
"week": 5,
"generated_at": "2024-10-09T12:00:00.000Z",
"picks": [
{
"game_id": "2024_05_KC_LV",
"away_team": "KC",
"home_team": "LV",
"pick_team": "KC",
"pick_side": "AWAY",
"tier": "A",
"confidence": 0.68,
"predicted_margin": 6.1,
"spread": -7.0,
"model_ml": -280,
"live_ml": -310,
"kickoff_at": "2024-10-07T00:20:00Z",
"result": {
"away_score": 27,
"home_score": 20,
"correct": true,
"profit": 0.91
}
}
]
}ANALYTICS
Performance stats, team records, rankings, and player dataGET/api/stats.jsonCACHE 10 MINUTESTry it → All-time record + per-tier hit rates + per-season breakdown. The single endpoint for embedding NoPunt performance in dashboards.
EXAMPLE RESPONSE
{
"generated_at": "2024-11-19T14:00:00.000Z",
"all_time": {
"total_games": 1615,
"correct": 1070,
"accuracy": 0.664,
"total_profit": 12.22
},
"by_tier": {
"S": { "total": 87, "wins": 72, "accuracy": 0.828, "profit": 8.5 },
"A+": { "total": 201, "wins": 151, "accuracy": 0.751, "profit": 20.1 }
},
"by_season": [
{ "season": 2025, "total": 272, "wins": 185, "accuracy": 0.683, "profit": 25.85 }
],
"weeks_with_picks": 92
}GET/api/teams.jsonCACHE 10 MINUTESTry it → 32-team list with NoPunt's pick history per franchise: when we picked them, when we picked against them, combined accuracy.
EXAMPLE RESPONSE
{
"generated_at": "2024-11-19T14:00:00.000Z",
"teams": [
{
"abbr": "KC",
"slug": "kc",
"picks_for": 42,
"picks_for_wins": 28,
"picks_for_pct": 0.667,
"picks_against": 18,
"picks_against_wins": 10,
"picks_against_pct": 0.556,
"combined_accuracy": 0.633,
"last_kickoff": "2024-11-17T20:25:00Z"
}
]
}GET/api/team/{abbr}CACHE 10 MINUTES
Comprehensive per-team analytics hub: EPA performance, coaching tendencies, playoff simulation odds, and NoPunt pick history.
EXAMPLE RESPONSE
{
"season": 2024,
"team": { "abbr": "KC", "slug": "kc", "power_rank": 3 },
"picks": { "for_record": "28-14", "for_pct": 0.667, "total_games": 60 },
"epa": { "net_epa_play": 0.098, "off_epa_play": 0.065, "def_epa_play": -0.033 },
"coaching": { "pass_rate": 0.617, "fourth_down_go_rate": 0.167, "red_zone_td_rate": 0.792 },
"playoffs": { "playoff_pct": 94.2, "super_bowl_pct": 18.7 }
}GET/api/power-rankings.jsonCACHE 1 HOURTry it → 32 teams ranked by composite EPA. Each row includes off_epa_play, def_epa_play, net_epa_play, success rates, and PPG.
EXAMPLE RESPONSE
{
"season": 2024,
"generated_at": "2024-11-19T14:00:00.000Z",
"rankings": [
{
"rank": 1,
"team": "BAL",
"slug": "bal",
"net_epa_play": 0.142,
"off_epa_play": 0.098,
"def_epa_play": -0.044,
"off_success": 0.48,
"def_success": 0.38,
"points_for": 312,
"points_against": 218,
"games_played": 11
}
]
}GET/api/players.jsonCACHE 10 MINUTESTry it → Top N stat leaders by position for the current season (or a specified week). Supports passing/rushing/receiving/PPR.
EXAMPLE RESPONSE
{
"season": 2024,
"view": "season",
"pos": "QB",
"stat": "passing_yards",
"limit": 3,
"leaders": [
{
"player_name": "Joe Burrow",
"team": "CIN",
"position": "QB",
"stat_total": 4918,
"games_played": 17,
"passing_yards": null,
"passing_tds": null,
"fantasy_points_ppr": null
}
]
}GET/api/fantasy.jsonCACHE 10 MINUTESTry it → PPR fantasy projections for a week: projected points, position rank, rolling average, and matchup multiplier. Defaults to the latest week with projections.
EXAMPLE RESPONSE
{
"season": 2025,
"week": 18,
"pos": "RB",
"count": 140,
"projections": [
{
"player_name": "B.Robinson",
"position": "RB",
"team": "atl",
"opponent": "no",
"projected_points": 30.78,
"position_rank": 1
}
]
}GET/api/player-props.jsonCACHE 10 MINUTESTry it → Player prop projections with floor/ceiling and matchup context. Default view returns the top high-confidence model edges; view=all returns every projection grouped by player.
EXAMPLE RESPONSE
{
"season": 2025,
"week": 18,
"view": "edges",
"count": 20,
"edges": [
{
"player_name": "N.Collins",
"position": "WR",
"team": "hou",
"opponent": "ind",
"stat_type": "receptions",
"projected": 3.7,
"floor": 2.5,
"ceiling": 4.9,
"confidence": "A"
}
]
}DATA EXPORTS
Downloadable CSV files for offline analysisGET/api/exports/predictions.csvCACHE 24 HOURSPRO
Full pick history with joined results as a downloadable CSV. Includes every pick, tier, confidence, spread, moneyline, final score, and W/L outcome. Pro only — requires an active Pro session.
EXAMPLE RESPONSE
game_id,season,week,home_team,away_team,pick_team,...,home_score,away_score,correct,profit
2024_12_SF_GB,2024,12,GB,SF,SF,...,20,27,true,91
GET/api/exports/player-stats.csvCACHE 24 HOURSPRO
Per-player weekly stat lines — passing, rushing, receiving, and fantasy points. 2020-present. Pro only — requires an active Pro session.
EXAMPLE RESPONSE
player_id,player_name,position,team,season,week,...,fantasy_points_ppr
00-0036442,Josh Allen,QB,BUF,2024,12,...,28.4
GET/api/exports/team-stats.csvCACHE 24 HOURSPRO
Per-team season EPA composites — offensive, defensive, net EPA per play, pass/rush splits, and point totals. Pro only — requires an active Pro session.
EXAMPLE RESPONSE
team,season,games_played,off_epa_play,def_epa_play,net_epa_play,...
KC,2024,17,0.082,-0.061,0.143,...
META
Health checks and feedsHealth check pinging Supabase. Returns 200 OK, 503 if degraded. Anonymous callers get the status only; the detailed freshness payload (per-table staleness, latency) requires an authorized token.
EXAMPLE RESPONSE
{
"status": "ok"
}RSS 2.0 feed of the latest 50 completed games. Each item includes our pick, tier, confidence, final score, and outcome.
EXAMPLE RESPONSE
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>NoPunt Picks</title>
<link>https://www.nopunt.com</link>
<item>
<title>SF 27 - GB 20 (Picked SF ✓)</title>
<description>Tier S | Conf 0.78 | Spread -1.5</description>
<pubDate>Sun, 24 Nov 2024 18:25:00 GMT</pubDate>
<guid>2024_12_SF_GB</guid>
</item>
</channel>
</rss>ATTRIBUTION
No formal license. If you build something fun on top of this data, credit nopunt.com and link back. If you push it to production, ping us — we will link to the cool stuff in the footer.