Football-Data API

Beginner's Pick Sports & Fitness / X-Mashape-Key Intermediate HTTPS

Overview

Football-Data API offers structured football data including match schedules, live scores, team rosters, and competition tables for major European leagues. A free tier is available with limited endpoints, making it easy to prototype without a paid plan. Authentication uses an API token sent as a request header.

Beginner Tip

The free tier restricts access to a subset of competitions - check the documentation Tier column to see which leagues are available before building your app.

Available Data

The kind of data this API exposes, based on its documentation. We could not call the endpoint to confirm the exact field names.

match scores and results
team standings
player statistics
schedule and fixtures

Example Response

Illustrative shape only — we were not able to call this endpoint (it requires credentials or exposes no public sample URL), so the fields below show the kind of data this API returns rather than a recorded response.

JSON Response · Illustrative
{
  "match_id": 4521,
  "home_team": "Team A",
  "away_team": "Team B",
  "score": {
    "home": 2,
    "away": 1
  },
  "status": "Full Time",
  "date": "2025-01-15",
  "league": "Premier League"
}

Field Reference

competition.name Name of the football competition (e.g., Premier League)
utcDate Match date and time in UTC ISO 8601 format
status Match status: SCHEDULED, IN_PLAY, PAUSED, FINISHED, or CANCELLED
homeTeam.name Name of the home team
awayTeam.name Name of the away team
score.fullTime Final score with home and away goals after 90 minutes

Implementation Example

Calls a real endpoint of this API. Replace any placeholder credentials with your own key.

Request
const url = "https://api.football-data.org/v4/competitions/PL/matches?status=SCHEDULED";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
  headers: {
  "X-API-Key": "YOUR_API_KEY"
  }
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.

400 Bad Request An invalid competition code or date format was used
Use ISO 8601 dates (YYYY-MM-DD) and valid competition codes like PL (Premier League) or BL1 (Bundesliga)
403 Forbidden The endpoint or competition is restricted to a higher subscription tier
Upgrade your plan at football-data.org or stick to free-tier competitions listed in the docs
429 Too Many Requests Free tier is limited to 10 requests per minute
Add a delay between requests and cache data locally to stay within rate limits

Metadata Score Breakdown

Estimated from metadata — endpoint not independently tested

This score is estimated from observable metadata — HTTPS support, authentication model, declared CORS, and documentation reachability — because the API requires authentication or exposes no publicly testable endpoint. The five-signal breakdown is only shown for live-tested APIs.

Metadata estimate · endpoint not independently tested

Technical Specifications

Auth X-Mashape-Key
HTTPS REQUIRED
CORS UNKNOWN
Category Sports & Fitness
Difficulty Intermediate
Listing details not endpoint-verified

Similar APIs

View All →