REST API · v1

Introduction

HappyFootball API gives you fast, reliable access to comprehensive football data — locally cached, never hitting an upstream provider. All data is served from our own infrastructure.


Authentication

Every request must include your API key in the X-API-KEY header. Keys are generated from your dashboard after sign-in.

Request header
X-API-KEY: hfa_live_your_key_here

⚠ Your API key is shown once at sign-up. Store it securely — you cannot retrieve it again, but you can rotate or revoke it from your API Keys page.

Quick Start

bash
curl -X GET \
  "https://api-football.happybot.net/v1/fixtures?date=2025-09-15" \
  -H "X-API-KEY: hfa_live_your_key_here" \
  -H "Accept: application/json" \
  -H "Accept-Language: en"
php
use Illuminate\Support\Facades\Http;

$response = Http::withHeaders([
    'X-API-KEY'       => env('FOOTBALL_API_KEY'),
    'Accept-Language'  => 'en',
])->get('https://api-football.happybot.net/v1/fixtures', [
    'date' => '2025-09-15',
]);

$fixtures = $response->json('data');
javascript
const response = await fetch(
  'https://api-football.happybot.net/v1/fixtures?date=2025-09-15',
  {
    headers: {
      'X-API-KEY':      process.env.FOOTBALL_API_KEY,
      'Accept-Language': 'en',
    },
  }
);
const { data } = await response.json();
python
import os, requests

response = requests.get(
    "https://api-football.happybot.net/v1/fixtures",
    params={"date": "2025-09-15"},
    headers={
        "X-API-KEY":      os.getenv("FOOTBALL_API_KEY"),
        "Accept-Language": "en",
    },
)
fixtures = response.json()["data"]
GET /api/v1/leagues

Returns all available leagues. Filter by country, season, or type.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/leagues
GET /api/v1/teams

Returns teams. Filter by league or country.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/teams
GET /api/v1/fixtures

Returns fixtures. Filter by date, league, team, or status.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/fixtures
GET /api/v1/fixtures/live

Returns all currently in-play fixtures, updated every 2 minutes.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/fixtures/live
GET /api/v1/standings

Returns league standings. Filter by league and season.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/standings
GET /api/v1/players

Returns player profiles and statistics.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/players
GET /api/v1/injuries

Returns current injury and suspension reports.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/injuries
GET /api/v1/transfers

Returns transfer records.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/transfers
GET /api/v1/fixtures/{id}/odds

Returns bookmaker odds for a fixture, grouped by bookmaker.

bash
curl -H "X-API-KEY: hfa_live_..." https://api-football.happybot.net/api/v1/fixtures/{id}/odds

Rate Limits

Plan Daily Requests Rate Limit
Starter 100 30/min
Basic 1,000 60/min
Pro 10,000 120/min
Enterprise 100,000 600/min

Changelog

See full interactive documentation in Swagger UI or view the changelog.