🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

@buzzr/dfs-engine-espn

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@buzzr/dfs-engine-espn

ESPN gamelog/boxscore/injury fetchers adapted for @buzzr/dfs-engine's PlayerGameLogEntryShape. Companion package — depend on this if you want a turnkey data layer.

latest
Source
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

@buzzr/dfs-engine-espn

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

Why a companion package

@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.

Quickstart

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

What's in here

ModuleFunction
boxscorefetchGameBoxScore(league, eventId) — per-game stats for live + final games. Returns BoxScore with home/away BoxScoreTeam blocks. NBA/WNBA/NCAAM/W/NHL coverage.
gamelogfetchPlayerGamelog(athleteId, league) — season-level per-game history. NBA/WNBA/NCAAM/W/NFL/MLB/NHL coverage.
injuriesfetchInjuryStatus(athleteId, league) — current injury status. isAutoDnpStatus predicate for "this leg should auto-DNP."
convertergamelogEntryToShape(entry) — convert this package's PlayerGameLogEntry to dfs-engine's PlayerGameLogEntryShape.

Custom fetch / timeouts

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,
});

Status & limitations

  • NFL / MLB on 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.
  • Soccer on gamelog: not yet implemented; soccer slips currently need a different data source.
  • ESPN ToS: Endpoints are public but undocumented. Respect reasonable request volume (~1 req/sec per endpoint empirically safe). Use at your own risk.
  • Coverage drift: If ESPN changes a response shape, the parser may silently return null. File an issue with a captured response.

License

MIT © Sarvesh Chidambaram

Keywords

espn

FAQs

Package last updated on 11 May 2026

Did you know?

Socket

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.

Install

Related posts