npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

football-data-sdk

v1.0.2

Published

Fully typed Football-Data.org API v4 SDK

Readme

Football-Data.org SDK

A complete, fully-typed TypeScript SDK for Football-Data.org API v4.

NPM Version License: MIT

Features

  • Full Coverage: Exposes every v4 resource (Areas, Competitions, Standings, Matches, Teams, Persons, and Trends).
  • Strongly Typed: Comprehensive TypeScript interfaces for every resource response and query parameter filter.
  • Modern Architecture: Clean resource-based namespaces mirroring the documentation endpoints.
  • Zero Dependencies: Built on top of the native fetch API, fully compatible with Node.js, Bun, Deno, and Edge environments.
  • Cache Friendly: Built-in support for Next.js revalidate options and tags.

Installation

npm install football-data-sdk
# or
yarn add football-data-sdk
# or
pnpm add football-data-sdk

Quick Start

Basic Usage

import { FootballDataClient } from "football-data-sdk";

const client = new FootballDataClient({
  apiKey: "your_api_key_here",
});

// Fetch current Premier League standings
const standings = await client.competitions.standings("PL");
console.log(standings.standings[0].table);

// Fetch a team profile
const team = await client.teams.get(86); // Real Madrid CF
console.log(team.name);

Usage Guide

Resource Namespaces

The SDK organizes endpoints into logical resource namespaces:

  • client.areas - Continent and country catalogues (/areas)
  • client.competitions - Competitions, standings, scorers, and teams (/competitions)
  • client.matches - Fixtures, scores, live scores, and head-to-head records (/matches)
  • client.teams - Team profiles and schedules (/teams)
  • client.persons - Coach and player profiles, squads, and player matches (/persons)
  • client.trends - Derived form trends and analysis data (/trends)

Example: Competitions Sub-Resources

// List all competitions in Europe (Area ID 2077)
const competitions = await client.competitions.list({ areas: "2077" });

// Get scorers for Primera Division (code: PD)
const scorers = await client.competitions.scorers("PD", { limit: 10 });

Example: Live Matches & H2H

// Fetch live matches currently in progress
const liveMatches = await client.matches.live();

// Fetch match H2H statistics
const h2h = await client.matches.head2head(330299);

Example: Trends

// Fetch form trends for today's matches
const trends = await client.trends.get({
  window: 5,
  consider_side: true,
});

API Coverage

| Category | Client Property | Key Methods | | :--------------- | :---------------- | :---------------------------------------------------------------- | | Areas | areas | list(), get(id) | | Competitions | competitions | list(filters), get(code), standings(), matches(), teams(), scorers() | | Matches | matches | list(filters), live(), get(id), head2head(id, filters) | | Teams | teams | get(id), matches(id, filters) | | Athletes | persons | get(id), matches(id, filters) | | Analytics | trends | get(filters) |

TypeScript Support

This SDK is written in TypeScript and exports full type definitions. You get autocompletion and type-safety for filters (like dates, match stages, and standings stages) and complex response structures.

License

MIT © [Your Name/Organization]