
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@buzzr/dfs-engine-espn
Advanced tools
ESPN gamelog/boxscore/injury fetchers adapted for @buzzr/dfs-engine's PlayerGameLogEntryShape. Companion package — depend on this if you want a turnkey data layer.
ESPN data adapter for @buzzr/dfs-engine. Fetches gamelogs, boxscores, and injury reports from ESPN's public site API and shapes them into the data structures dfs-engine adapters consume.
npm install @buzzr/dfs-engine @buzzr/dfs-engine-espn
@buzzr/dfs-engine is pure grading + payout math. It accepts a PlayerGameLogEntryShape and returns the value to grade against the line. You're responsible for the data.
This package is the "give me data" half: fetch from ESPN, convert to the right shape, hand it to dfs-engine. Use it together or substitute your own data source.
import { fetchPlayerGamelog, gamelogEntryToShape } from '@buzzr/dfs-engine-espn';
import { extractStatForProp, matchGameLogEntry } from '@buzzr/dfs-engine';
// Fetch a player's recent gamelog.
const entries = await fetchPlayerGamelog('3917376', 'NBA'); // Jayson Tatum
// Pick the entry matching the bet date.
const matched = matchGameLogEntry('2026-05-04T20:00:00Z', entries);
if (!matched) return null;
// Convert to dfs-engine's shape and grade.
const shape = gamelogEntryToShape(matched);
const points = extractStatForProp('Points', 'NBA', shape, 'prizepicks');
// → 28
| Module | Function |
|---|---|
boxscore | fetchGameBoxScore(league, eventId) — per-game stats for live + final games. Returns BoxScore with home/away BoxScoreTeam blocks. NBA/WNBA/NCAAM/W/NHL coverage. |
gamelog | fetchPlayerGamelog(athleteId, league) — season-level per-game history. NBA/WNBA/NCAAM/W/NFL/MLB/NHL coverage. |
injuries | fetchInjuryStatus(athleteId, league) — current injury status. isAutoDnpStatus predicate for "this leg should auto-DNP." |
converter | gamelogEntryToShape(entry) — convert this package's PlayerGameLogEntry to dfs-engine's PlayerGameLogEntryShape. |
Every public fetcher accepts an options bag for fetch (override for caching, proxying, or testing) and timeoutMs:
await fetchGameBoxScore('NBA', 'event-123', {
fetch: myCachedFetch,
timeoutMs: 5000,
});
fetchGameBoxScore: not yet flattened — ESPN's boxscore ships multi-category data (passing / rushing for NFL, batting / pitching for MLB) that this parser doesn't yet collapse correctly. Use fetchPlayerGamelog for those leagues meanwhile.MIT © Sarvesh Chidambaram
FAQs
ESPN gamelog/boxscore/injury fetchers adapted for @buzzr/dfs-engine's PlayerGameLogEntryShape. Companion package — depend on this if you want a turnkey data layer.
We found that @buzzr/dfs-engine-espn demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.