Buzzr Sports Engine API
    Preparing search index...

    Module @buzzr/dfs-provider-espn

    @buzzr/dfs-provider-espn

    npm version npm downloads CI types license

    Wire ESPN-shaped gamelog data into @buzzr/dfs-engine as a typed StatProvider. You bring the fetch — an ESPN client, a scraper, a cache, or a paid data feed. This package gives you the ergonomic, strongly-typed loader contract: it unpacks the leg into playerId / playerName / league / gameId / gameDate so your loader reads like a data query instead of engine plumbing.

    This package does no network I/O itself. The loader you provide is the only code that touches ESPN, so auth, rate limits, and caching stay entirely under your control.

    npm install @buzzr/dfs-provider-espn @buzzr/dfs-engine
    
    import { createDfsEngine } from '@buzzr/dfs-engine';
    import { createEspnStatProvider } from '@buzzr/dfs-provider-espn';

    const espn = createEspnStatProvider({
    getGameLog: async ({ playerId, playerName, league, gameDate }) => {
    // Your fetch. Return PlayerGameLogEntryShape[] rows:
    const rows = await myEspnClient.gamelog(playerId ?? playerName, league, gameDate);
    return rows; // [{ date, minutes, points, rebounds, assists, ... }]
    },
    });

    const engine = createDfsEngine({ statProviders: [espn] });
    const result = await engine.settleEntry(entry, { statProviderId: 'espn' });

    The engine validates every returned row at the provider boundary and reports invalid_provider_data if your loader emits malformed gamelog entries — bad data fails loudly instead of silently mis-grading a slip.

    Export Purpose
    createEspnStatProvider() Build a StatProvider (id 'espn' by default) from your gamelog loader
    EspnStatProviderOptions Type: { id?, getGameLog } options bag
    EspnGameLogLoaderInput Type: unpacked leg context handed to your loader (player, game, entry, leg)
    You want to… Reach for
    Feed ESPN-shaped stats into the engine this package
    Feed Sportradar stats into the engine @buzzr/dfs-provider-sportradar
    A deterministic provider for tests @buzzr/dfs-testkit
    A custom provider for any other data source defineStatProvider in @buzzr/dfs-engine

    Node.js >= 22 is supported. Import the supported API from @buzzr/dfs-provider-espn. Deep src/* and dist/* imports are unsupported. This package adapts a consumer-owned loader; it does not include an ESPN client, credentials, or network transport.

    Report vulnerabilities privately through SECURITY.md. The versioning and support policy defines the supported runtime and SemVer contract.

    MIT

    Type Aliases

    EspnGameLogLoaderInput
    EspnStatProviderOptions

    Functions

    createEspnStatProvider