Skip to content

PuckAPI Review 2026

A review of PuckAPI, a hockey data API with NHL play-by-play, shot locations, expected goals and sportsbook odds history, plus the PWHL, AHL and major junior leagues. It gives 500 free credits a month, and paid plans start at $19.

PuckAPI at a Glance

PuckAPI Hockey Data API
PuckAPI
๐Ÿ’ฒ to ๐Ÿ’ฒ๐Ÿ’ฒ
Free Tier
Live Scores Play-by-Play Box Scores Stats Schedules Standings Rosters Historical Websocket MCP Discord

Green = available ยท amber = unverified or varies by plan ยท crossed out = not available. Pricing: ๐Ÿ’ฒ โ‰ˆ $20/mo up to ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ๐Ÿ’ฒ = $1,000+/mo. From our directory research.

What PuckAPI Is

PuckAPI is a hockey data API built around the NHL. It offers 24 endpoints for schedules, standings, skater and goalie stats, play-by-play, shifts, predictions and sportsbook odds. Every endpoint is a POST to mcp.puckapi.com/v1/{tool} with a JSON body. The same tools also run on a hosted MCP (Model Context Protocol) server, so an AI assistant such as Claude can query them in plain English.

It works from a daily refresh and pre-game lines. For live in-game scores, pair it with a live source from the sports data API list.

Coverage and Data Types

The NHL history starts in 2010-11 and covers 17 seasons. The atlas page counts more than 6.9 million play-by-play events, each with rink coordinates, strength state and the players involved, plus more than 16 million shifts (checked November 2026).

The main data types:

  • Stats: skater and goalie season lines, game logs, team records and head-to-head history.
  • Possession and chance quality: Corsi, Fenwick and expected goals for teams, and goals saved above expected (GSAX) for goalies.
  • Odds: moneyline, puck line and total from 2019-20 on, plus line movement over time.
  • Player props: closing and opening lines by sportsbook from May 2023, with each player's record against his line.
  • Model output: a win probability and grade for each game on tonight's slate.

Pass league to switch from the NHL to the PWHL, OHL, WHL, QMJHL, ECHL, AHL or USHL. Depth differs by league, and the atlas marks odds and line movement as partial. For long odds history, see our historical odds guide.

Where PuckAPI Stands Out

Most hockey sources give you one slice. PuckAPI puts shots, shifts, expected goals and betting lines behind a single key, so you can join them yourself. A model that needs a goalie's GSAX, a team's 5v5 expected goals share and the closing moneyline can get all three from one provider.

The provider is also direct about limits. Odds and props are pre-game only, every row carries a captured_at time, and records are overwritten when a source corrects them with no revision history. A public page states what the terms allow. You can store the data, train models and build commercial products that show your users what you derive. You cannot pass it on as a feed or dataset of its own.

Per-sportsbook odds come from DraftKings, FanDuel, BetMGM, ESPN BET and Pinnacle, among others, and the atlas says availability varies by game and book. Browse our player props API guide for context on what to expect from prop history.

PuckAPI Pricing and Access

PuckAPI bills in credits. A team list costs 1 credit, standings cost 2, a season leaderboard or game log costs 5 and play-by-play costs 10. Time-series line movement costs 25, and the prop projections cost 25 on paid plans only. The free plan gives 500 credits a month with no card, which covers 250 standings calls or 50 play-by-play calls (checked November 2026).

Starter costs $19 a month for 10,000 credits. Pro costs $49 for 30,000, and Scale costs $149 for 125,000. Wallet top-ups start at $5 for 2,000 credits and do not expire while your account is open. Enterprise accounts can ask for custom limits and volume pricing. The pricing page also prices a whole season of each dataset, so you can plan a backfill before you spend. For other no-cost sources, see the free sports APIs we track.

Getting an API Key

You sign up at the PuckAPI sign-up page. The free plan gives you 500 credits a month and needs no card (checked November 2026). Verify your email, then create a key from the dashboard.

Send the key in an x-api-key header or as Authorization: Bearer YOUR_API_KEY. The MCP endpoint also accepts a ?key= query parameter. Claude and ChatGPT can connect to the MCP server by signing in, with no key at all. Paid plans start at $19 a month.

A First Request in Python

This sample posts to /v1/get_standings on https://mcp.puckapi.com with the key in x-api-key (from the docs, checked November 2026). The call costs 2 credits.

import os

import requests

resp = requests.post(
    "https://mcp.puckapi.com/v1/get_standings",
    headers={"x-api-key": os.environ["PUCKAPI_API_KEY"]},
    json={},
    timeout=10,
)
resp.raise_for_status()

for team in resp.json()["standings"][:5]:
    print(team["teamAbbrev"], team["wins"], team["losses"], team["points"])

The response holds a standings list. Each team row has fields such as teamAbbrev, teamName, points, wins and losses, plus corsiPct and expectedGoalsFor. An empty body is valid, and the call defaults to the current season. Pass season, conference or division to narrow it.

Rate Limits, Docs and SDKs

The rate limit depends on your balance, not your plan. With 100 credits or more you get 60 requests a minute. Under 100 credits you get 10 a minute (checked November 2026). Enterprise accounts can ask for custom limits. A 429 means you hit the limit, a 402 means you ran out of credits, and a 500 refunds its credits. REST responses carry X-Credits-Used and X-Credits-Remaining headers, and an x-idempotency-key header makes retries safe.

The docs list every endpoint with parameters and a sample response. PuckAPI also publishes an OpenAPI 3.1 spec, an llms.txt file and a tool catalogue. The official Python client is puckapi on PyPI, with no required dependencies. A status page shows measured uptime and data freshness, and a data changelog lists dataset refreshes. Support is support@puckapi.com.

Who PuckAPI Is For

PuckAPI suits three groups:

  • Hockey modelers who want shot coordinates, shifts and expected goals without scraping the league's own endpoints.
  • Bettors and tool builders who need closing lines and prop history by sportsbook to backtest an idea.
  • AI app builders who want an MCP server that answers hockey questions directly.

It is a history and analytics product, so a live scoreboard needs a second source. The free tier is small for the 10-credit endpoints, but it is enough to test the data before you pick a plan.

Verdict

PuckAPI is a focused, well-documented hockey API with deep NHL history and a clear price list. The credit model is easy to budget, the docs say plainly what is pre-game and what refreshes once a day, and the MCP server is a real convenience. Start with the free credits and pull a shot map or a season of closing lines to see how it fits your model. You can start at puckapi.com.

Last updated: ยท How providers get listed

Frequently Asked Questions

Yes. Every account gets 500 free credits a month with no credit card. That covers 250 standings calls or 50 play-by-play calls. PuckAPI tops a free account back up to 500 within about 3 days after each monthly anniversary of signup (checked November 2026).
No. Box scores, play-by-play and stats refresh once a day at 10:00 UTC, and odds and props are pre-game only. PuckAPI works for history, models and pre-game analysis. For in-game scores, pair it with a live data source (checked November 2026).
The NHL is the core, with data back to 2010-11. A league parameter also reaches the PWHL, OHL, WHL, QMJHL, ECHL, AHL and USHL under the same key. Depth varies by league, so check the data atlas on the PuckAPI site before you build on one.
The free plan costs nothing. Starter is $19 a month for 10,000 credits, Pro is $49 for 30,000 and Scale is $149 for 125,000. All 24 endpoints are on every paid plan, and wallet top-ups start at $5 (checked November 2026).
Create an account on the PuckAPI sign-up page, verify your email and make a key from the dashboard. The free plan has 500 credits a month and needs no card. Send the key in an x-api-key header or as a Bearer token (checked November 2026).
PuckAPI allows 60 requests a minute while your balance is 100 credits or more, and 10 a minute below that. The limit is the same on every plan. A 429 means you reached it and a 402 means you have no credits left (checked November 2026).

PuckAPI Alternatives

Similar providers from the directory worth shortlisting alongside PuckAPI.

Want NHL shot data in your own model?

Sign up for the 500 free monthly credits, pull one game's shot map and check the rink coordinates before you pay for anything.

Are You the Team Behind PuckAPI?

Show developers you're independently listed on SportsAPIs.dev. Copy this badge onto your site. It links straight back to this profile.

Each of these works best on a reviews or "As cited on SportsAPIs.dev" page that your homepage links to, or in a testimonial strip on the homepage.

Badge

PuckAPI is listed on SportsAPIs.dev
<a href="https://sportsapis.dev/apis/puckapi" title="PuckAPI on SportsAPIs.dev">
  <img src="https://sportsapis.dev/assets/images/badges/listed-on-sportsapis.svg"
       alt="PuckAPI is listed on SportsAPIs.dev" width="220" height="48">
</a>

Text link

<a href="https://sportsapis.dev/apis/puckapi">Read the PuckAPI review on SportsAPIs.dev</a>

Review quote

<blockquote>
  Hockey stats, play-by-play, expected goals and sportsbook odds for the
  NHL and minor leagues.
</blockquote>
<p><a href="https://sportsapis.dev/apis/puckapi">SportsAPIs.dev review</a></p>

Want a Featured Partner spot or to update your listing? Partner with us โ†’