Catalog npm
PACKAGE EXPLORERView in registry

11elo

npm

JavaScript/Node.js client for the 11elo Soccer ELO API

apibundesligaclientelofootballsoccer
Versions collected2
Direct dependencies0From release 0.1.1
Last observed20 Oct, 18:05 UTC

README

Current package documentation

11elo

npm Node.js License: MIT

JavaScript/Node.js client for the 11elo Soccer ELO API — live and historical Elo ratings for German football (Bundesliga, 2. Bundesliga, 3. Liga).

Works in Node.js 18+, modern browsers, Deno and Bun — uses the native fetch API with no extra dependencies.

Installation

npm install 11elo

Quick start

import { Client } from '11elo';

const client = new Client({ apiKey: '11e_fre_your_key_here' });

// List all teams
const teams = await client.getTeams();
teams.forEach(t => console.log(t.teamName, t.currentElo));

// Get detailed info for one team
const { team, eloHistory } = await client.getTeam('Bayern München');
console.log(team.currentElo);

// Upcoming matches
const upcoming = await client.getUpcomingMatches({ league: 'BL1', limit: 10 });
upcoming.forEach(m => console.log(m.homeTeam, 'vs', m.awayTeam));

Getting an API key

Register for free at https://www.11elo.com/docs.
Keys follow the format 11e_<tier>_<hex> and are sent via the X-API-Key request header (handled automatically by this client).

Rate limits by tier:

TierRequests / day
Free100
Basic1,000
Pro10,000

API reference

new Client(options)

OptionDefaultDescription
apiKey—Your 11elo API key (required)
baseUrlhttps://api.11elo.comOverride for self-hosted / local dev
timeoutMs30000Request timeout in milliseconds

Teams

client.getTeams() → Promise<object[]>

Returns all teams with current ELO stats, league info and trend data.

const teams = await client.getTeams();
// [{ teamName: 'Bayern München', currentElo: 1847, league: 'BL1', ... }, ...]

client.getTeam(teamName) → Promise<object>

Full detail for one team — ELO history, recent form, upcoming matches, career stats.

const { team, eloHistory, recentForm, upcomingMatches } =
  await client.getTeam('Borussia Dortmund');

client.getHeadToHead(team1, team2) → Promise<object[]>

Historical head-to-head match results between two teams.

const h2h = await client.getHeadToHead('Bayern München', 'Borussia Dortmund');
// [{ date: '2026-02-15', result: '2:1', winner: 'Bayern München', ... }, ...]

Matches

client.getMatches(options?) → Promise<object[]>

Paginated match history. All options are optional.

OptionDescription
seasonFilter by season, e.g. "2024/2025"
fromISO-8601 start date ("YYYY-MM-DD")
toISO-8601 end date ("YYYY-MM-DD")
limitMax results (default 100, max 500)
offsetPagination offset (default 0)
const matches = await client.getMatches({ season: '2024/2025', limit: 50 });

client.getUpcomingMatches(options?) → Promise<object[]>

Upcoming fixtures with ELO-difference predictions.

OptionDescription
leagueLeague code filter, e.g. "BL1"
sortSort order (default "date")
limitMax results (default 50, max 200)
const upcoming = await client.getUpcomingMatches({ league: 'BL1' });

client.getMatch(matchId) → Promise<object>

Full detail for a single match.

const { match, homeRecentForm, headToHead } = await client.getMatch(12345);

Seasons

client.getSeasons() → Promise<{ seasons: string[], latestSeason: string }>

List all available seasons.

const { seasons, latestSeason } = await client.getSeasons();

client.getSeason(season, options?) → Promise<object[]>

Per-team ELO change statistics for a given season.

OptionDescription
leagueOptional league filter, e.g. "BL1"
const entries = await client.getSeason('2024/2025', { league: 'BL1' });
// [{ teamName: 'Bayern München', startElo: 1820, endElo: 1847, change: 27, ... }, ...]

Comparison

client.getComparisonHistory(teams) → Promise<object>

Time-series ELO data for multiple teams in one call.

const history = await client.getComparisonHistory([
  'Bayern München',
  'Borussia Dortmund',
]);
// {
//   'Bayern München': [{ Date: 1709856000000, ELO: 1847 }, ...],
//   'Borussia Dortmund': [{ Date: 1709856000000, ELO: 1720 }, ...]
// }

Error handling

All exceptions extend ElevenEloError.

ClassWhen thrown
AuthenticationErrorAPI key is missing or invalid (HTTP 401)
RateLimitErrorDaily quota exceeded (HTTP 429)
NotFoundErrorResource does not exist (HTTP 404)
ApiErrorAny other non-2xx response
import { Client, AuthenticationError, RateLimitError, NotFoundError } from '11elo';

const client = new Client({ apiKey: '11e_fre_your_key_here' });

try {
  const team = await client.getTeam('Unknown FC');
} catch (err) {
  if (err instanceof NotFoundError) {
    console.error('Team not found');
  } else if (err instanceof RateLimitError) {
    console.error('Rate limit hit, resets at', err.resetAt);
  } else if (err instanceof AuthenticationError) {
    console.error('Bad API key');
  } else {
    throw err;
  }
}

CommonJS usage

The package ships as ES modules ("type": "module"). For CommonJS projects, use dynamic import():

const { Client } = await import('11elo');

Or use a bundler (webpack, Rollup, esbuild) which handles the interop automatically.

License

MIT

Downloads & popularity

0downloads
1-day window · source-reported counts22 Oct 2026
38190
2026-07-25: 4 · observed 2026-10-23T10:56:20.8381216Z · period 2026-07-25–2026-07-252026-07-26: 5 · observed 2026-10-23T10:56:20.8381216Z · period 2026-07-26–2026-07-262026-07-27: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-07-27–2026-07-272026-07-28: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-07-28–2026-07-282026-07-29: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-07-29–2026-07-292026-07-30: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-07-30–2026-07-302026-07-31: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-07-31–2026-07-312026-08-01: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-01–2026-08-012026-08-02: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-02–2026-08-022026-08-03: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-03–2026-08-032026-08-04: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-04–2026-08-042026-08-05: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-05–2026-08-052026-08-06: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-06–2026-08-062026-08-07: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-07–2026-08-072026-08-08: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-08–2026-08-082026-08-09: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-09–2026-08-092026-08-10: 5 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-10–2026-08-102026-08-11: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-11–2026-08-112026-08-12: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-12–2026-08-122026-08-13: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-13–2026-08-132026-08-14: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-14–2026-08-142026-08-15: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-15–2026-08-152026-08-16: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-16–2026-08-162026-08-17: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-17–2026-08-172026-08-18: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-18–2026-08-182026-08-19: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-19–2026-08-192026-08-20: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-20–2026-08-202026-08-21: 3 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-21–2026-08-212026-08-22: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-22–2026-08-222026-08-23: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-23–2026-08-232026-08-24: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-24–2026-08-242026-08-25: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-25–2026-08-252026-08-26: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-26–2026-08-262026-08-27: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-27–2026-08-272026-08-28: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-28–2026-08-282026-08-29: 3 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-29–2026-08-292026-08-30: 8 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-30–2026-08-302026-08-31: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-08-31–2026-08-312026-09-01: 3 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-01–2026-09-012026-09-02: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-02–2026-09-022026-09-03: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-03–2026-09-032026-09-04: 14 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-04–2026-09-042026-09-05: 3 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-05–2026-09-052026-09-06: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-06–2026-09-062026-09-07: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-07–2026-09-072026-09-08: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-08–2026-09-082026-09-09: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-09–2026-09-092026-09-10: 4 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-10–2026-09-102026-09-11: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-11–2026-09-112026-09-12: 5 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-12–2026-09-122026-09-13: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-13–2026-09-132026-09-14: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-14–2026-09-142026-09-15: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-15–2026-09-152026-09-16: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-16–2026-09-162026-09-17: 38 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-17–2026-09-172026-09-18: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-18–2026-09-182026-09-19: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-19–2026-09-192026-09-20: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-20–2026-09-202026-09-21: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-21–2026-09-212026-09-22: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-22–2026-09-222026-09-23: 3 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-23–2026-09-232026-09-24: 5 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-24–2026-09-242026-09-25: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-25–2026-09-252026-09-26: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-26–2026-09-262026-09-27: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-27–2026-09-272026-09-28: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-28–2026-09-282026-09-29: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-29–2026-09-292026-09-30: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-09-30–2026-09-302026-10-01: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-01–2026-10-012026-10-02: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-02–2026-10-022026-10-03: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-03–2026-10-032026-10-04: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-04–2026-10-042026-10-05: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-05–2026-10-052026-10-06: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-06–2026-10-062026-10-07: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-07–2026-10-072026-10-08: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-08–2026-10-082026-10-09: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-09–2026-10-092026-10-10: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-10–2026-10-102026-10-11: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-11–2026-10-112026-10-12: 1 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-12–2026-10-122026-10-13: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-13–2026-10-132026-10-14: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-14–2026-10-142026-10-15: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-15–2026-10-152026-10-16: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-16–2026-10-162026-10-17: 3 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-17–2026-10-172026-10-18: 2 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-18–2026-10-182026-10-19: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-19–2026-10-192026-10-20: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-20–2026-10-202026-10-21: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-21–2026-10-212026-10-22: 0 · observed 2026-10-23T10:56:20.8381216Z · period 2026-10-22–2026-10-22
25 Jul22 Oct

npm · 90 observations shown. Missing days are unknown.

View observed values
Date / source periodValueObserved at
2026-10-22 – 2026-10-2202026-10-23T10:56:20.8381216Z
2026-10-21 – 2026-10-2102026-10-23T10:56:20.8381216Z
2026-10-20 – 2026-10-2002026-10-23T10:56:20.8381216Z
2026-10-19 – 2026-10-1902026-10-23T10:56:20.8381216Z
2026-10-18 – 2026-10-1822026-10-23T10:56:20.8381216Z
2026-10-17 – 2026-10-1732026-10-23T10:56:20.8381216Z
2026-10-16 – 2026-10-1602026-10-23T10:56:20.8381216Z
2026-10-15 – 2026-10-1502026-10-23T10:56:20.8381216Z
2026-10-14 – 2026-10-1402026-10-23T10:56:20.8381216Z
2026-10-13 – 2026-10-1302026-10-23T10:56:20.8381216Z
2026-10-12 – 2026-10-1212026-10-23T10:56:20.8381216Z
2026-10-11 – 2026-10-1102026-10-23T10:56:20.8381216Z
2026-10-10 – 2026-10-1012026-10-23T10:56:20.8381216Z
2026-10-09 – 2026-10-0902026-10-23T10:56:20.8381216Z
2026-10-08 – 2026-10-0802026-10-23T10:56:20.8381216Z
2026-10-07 – 2026-10-0712026-10-23T10:56:20.8381216Z
2026-10-06 – 2026-10-0602026-10-23T10:56:20.8381216Z
2026-10-05 – 2026-10-0512026-10-23T10:56:20.8381216Z
2026-10-04 – 2026-10-0402026-10-23T10:56:20.8381216Z
2026-10-03 – 2026-10-0302026-10-23T10:56:20.8381216Z
2026-10-02 – 2026-10-0212026-10-23T10:56:20.8381216Z
2026-10-01 – 2026-10-0102026-10-23T10:56:20.8381216Z
2026-09-30 – 2026-09-3002026-10-23T10:56:20.8381216Z
2026-09-29 – 2026-09-2902026-10-23T10:56:20.8381216Z
2026-09-28 – 2026-09-2802026-10-23T10:56:20.8381216Z
2026-09-27 – 2026-09-2702026-10-23T10:56:20.8381216Z
2026-09-26 – 2026-09-2612026-10-23T10:56:20.8381216Z
2026-09-25 – 2026-09-2502026-10-23T10:56:20.8381216Z
2026-09-24 – 2026-09-2452026-10-23T10:56:20.8381216Z
2026-09-23 – 2026-09-2332026-10-23T10:56:20.8381216Z
2026-09-22 – 2026-09-2202026-10-23T10:56:20.8381216Z
2026-09-21 – 2026-09-2102026-10-23T10:56:20.8381216Z
2026-09-20 – 2026-09-2022026-10-23T10:56:20.8381216Z
2026-09-19 – 2026-09-1922026-10-23T10:56:20.8381216Z
2026-09-18 – 2026-09-1822026-10-23T10:56:20.8381216Z
2026-09-17 – 2026-09-17382026-10-23T10:56:20.8381216Z
2026-09-16 – 2026-09-1602026-10-23T10:56:20.8381216Z
2026-09-15 – 2026-09-1502026-10-23T10:56:20.8381216Z
2026-09-14 – 2026-09-1422026-10-23T10:56:20.8381216Z
2026-09-13 – 2026-09-1302026-10-23T10:56:20.8381216Z
2026-09-12 – 2026-09-1252026-10-23T10:56:20.8381216Z
2026-09-11 – 2026-09-1102026-10-23T10:56:20.8381216Z
2026-09-10 – 2026-09-1042026-10-23T10:56:20.8381216Z
2026-09-09 – 2026-09-0922026-10-23T10:56:20.8381216Z
2026-09-08 – 2026-09-0802026-10-23T10:56:20.8381216Z
2026-09-07 – 2026-09-0702026-10-23T10:56:20.8381216Z
2026-09-06 – 2026-09-0602026-10-23T10:56:20.8381216Z
2026-09-05 – 2026-09-0532026-10-23T10:56:20.8381216Z
2026-09-04 – 2026-09-04142026-10-23T10:56:20.8381216Z
2026-09-03 – 2026-09-0302026-10-23T10:56:20.8381216Z
2026-09-02 – 2026-09-0202026-10-23T10:56:20.8381216Z
2026-09-01 – 2026-09-0132026-10-23T10:56:20.8381216Z
2026-08-31 – 2026-08-3112026-10-23T10:56:20.8381216Z
2026-08-30 – 2026-08-3082026-10-23T10:56:20.8381216Z
2026-08-29 – 2026-08-2932026-10-23T10:56:20.8381216Z
2026-08-28 – 2026-08-2812026-10-23T10:56:20.8381216Z
2026-08-27 – 2026-08-2712026-10-23T10:56:20.8381216Z
2026-08-26 – 2026-08-2602026-10-23T10:56:20.8381216Z
2026-08-25 – 2026-08-2502026-10-23T10:56:20.8381216Z
2026-08-24 – 2026-08-2402026-10-23T10:56:20.8381216Z
2026-08-23 – 2026-08-2302026-10-23T10:56:20.8381216Z
2026-08-22 – 2026-08-2202026-10-23T10:56:20.8381216Z
2026-08-21 – 2026-08-2132026-10-23T10:56:20.8381216Z
2026-08-20 – 2026-08-2002026-10-23T10:56:20.8381216Z
2026-08-19 – 2026-08-1912026-10-23T10:56:20.8381216Z
2026-08-18 – 2026-08-1802026-10-23T10:56:20.8381216Z
2026-08-17 – 2026-08-1702026-10-23T10:56:20.8381216Z
2026-08-16 – 2026-08-1602026-10-23T10:56:20.8381216Z
2026-08-15 – 2026-08-1522026-10-23T10:56:20.8381216Z
2026-08-14 – 2026-08-1402026-10-23T10:56:20.8381216Z
2026-08-13 – 2026-08-1322026-10-23T10:56:20.8381216Z
2026-08-12 – 2026-08-1202026-10-23T10:56:20.8381216Z
2026-08-11 – 2026-08-1102026-10-23T10:56:20.8381216Z
2026-08-10 – 2026-08-1052026-10-23T10:56:20.8381216Z
2026-08-09 – 2026-08-0922026-10-23T10:56:20.8381216Z
2026-08-08 – 2026-08-0802026-10-23T10:56:20.8381216Z
2026-08-07 – 2026-08-0702026-10-23T10:56:20.8381216Z
2026-08-06 – 2026-08-0622026-10-23T10:56:20.8381216Z
2026-08-05 – 2026-08-0502026-10-23T10:56:20.8381216Z
2026-08-04 – 2026-08-0402026-10-23T10:56:20.8381216Z
2026-08-03 – 2026-08-0302026-10-23T10:56:20.8381216Z
2026-08-02 – 2026-08-0202026-10-23T10:56:20.8381216Z
2026-08-01 – 2026-08-0112026-10-23T10:56:20.8381216Z
2026-07-31 – 2026-07-3102026-10-23T10:56:20.8381216Z
2026-07-30 – 2026-07-3002026-10-23T10:56:20.8381216Z
2026-07-29 – 2026-07-2912026-10-23T10:56:20.8381216Z
2026-07-28 – 2026-07-2802026-10-23T10:56:20.8381216Z
2026-07-27 – 2026-07-2712026-10-23T10:56:20.8381216Z
2026-07-26 – 2026-07-2652026-10-23T10:56:20.8381216Z
2026-07-25 – 2026-07-2542026-10-23T10:56:20.8381216Z

Versions 2

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.1Registry latest13 Mar 20260
0.1.013 Mar 20260

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
chafficui/11elo-sdk

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:05 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:bede0bdfbd1f671b945c9dcee90b5fdcc756fab4fbfffd97276c31799492d659