NewConnect Claude, Gemini, ChatGPT, and other AI agents to API Ninjas via our MCP server →

Premier League API

A football (soccer) API for the English Premier League: get every fixture, live scores with the match minute on paid plans, results with goals per half, the league table with points, goal difference and the European and relegation places, and every club's squad. The free plan covers the current season's fixtures, results, table and squads.

The Premier League is served by the Football (Soccer) API with league=epl. The same API key works for every sports API.

Available endpoints:

Premier League data at a glance

Season valueseason=2026 is the 2026-27 season, August to May (season_label 2026-27)
Format20 clubs play each other home and away over 38 matchdays; every league match has season_type=regular
Match daydate is the UK date, and start_time is in UTC
ScoringGoals per half in period_scores; a draw has winner: null
Live matchesOn paid plans: score, half, match minute such as 67' or 90'+3', and halftime
Club idsOne id per club, e.g. soccer-arsenal, kept through promotion and relegation and shared with the Champions League and Europa League
SquadsCurrent squad with position, shirt number, nationality, birth date, height and weight

Premier League table fields

points, wins, draws, losses, goals_for, goals_against, goal_difference, points_deducted when a club has been deducted points, and league_rank, ordered by points, then goal difference, then goals scored. qualification marks the places that lead to the Champions League, the Europa League or Relegation.

4 endpoints

https://api.api-ninjas.com/v1/soccermatches

Returns fixtures, live scores and results. Ask for one day, a team's season or one match; with only league you get today's matches. Paid plans see matches in progress with the score, half and match minute updated throughout the match; the free plan sees their status and the final score once they end. The free plan covers the current season. Developer plans add the three previous seasons, and the Business tier and above gets the full season archive.

Full parameter and response reference: /v1/soccermatches.

Live Demo

Live demo · no API key required
Query parameters
league
date
team
season
season_type
status
game_id
limit
offset

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccermatches?league=epl
Sample response
[
{
"game_id": "epl-20261024-eve-ars",
"league": "epl",
"sport": "soccer",
"season": 2026,
"season_label": "2026-27",
"season_type": "regular",
"round": null,
"leg": null,
"date": "2026-10-24",
"start_time": "2026-10-24T14:00:00Z",
"status": "final",
"status_detail": null,
"period": 2,
"clock": null,
"home_team": {
"team_id": "soccer-arsenal",
"name": "Arsenal",
"abbreviation": "ARS"
},
"away_team": {
"team_id": "soccer-everton",
"name": "Everton",
"abbreviation": "EVE"
},
"home_score": 2,
"away_score": 0,
"period_scores": {
"home": [
1,
1
],
"away": [
0,
0
]
},
"penalty_scores": null,
"aggregate_scores": null,
"decided_in": "regulation",
"winner": "soccer-arsenal",
"venue": {
"name": "Emirates Stadium",
"city": "London",
"state": null,
"country": "GB"
},
"neutral_site": false,
"original_date": null,
"updated_at": "2026-10-27T23:14:11Z"
},
{
"game_id": "epl-20261025-lee-sun",
"league": "epl",
"sport": "soccer",
"season": 2026,
"season_label": "2026-27",
"season_type": "regular",
"round": null,
"leg": null,
"date": "2026-10-25",
"start_time": "2026-10-25T16:30:00Z",
"status": "final",
"status_detail": null,
"period": 2,
"clock": null,
"home_team": {
"team_id": "soccer-sunderland",
"name": "Sunderland",
"abbreviation": "SUN"
},
"away_team": {
"team_id": "soccer-leeds-united",
"name": "Leeds United",
"abbreviation": "LEE"
},
"home_score": 0,
"away_score": 0,
"period_scores": {
"home": [
0,
0
],
"away": [
0,
0
]
},
"penalty_scores": null,
"aggregate_scores": null,
"decided_in": "regulation",
"winner": null,
"venue": {
"name": "Stadium of Light",
"city": "Sunderland",
"state": null,
"country": "GB"
},
"neutral_site": false,
"original_date": null,
"updated_at": "2026-10-27T23:14:11Z"
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccermatches?league=epl" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerstandings

Returns the table for a season, ordered by league rank, or by conference or division rank when you filter. Tables update throughout the season, shortly after each match ends. The free plan covers the current season. Developer plans add the three previous seasons, and the Business tier and above gets the full season archive.

Full parameter and response reference: /v1/soccerstandings.

Live Demo

Live demo · no API key required
Query parameters
league
season
conference

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerstandings?league=epl
Sample response
[
{
"league": "epl",
"sport": "soccer",
"season": 2026,
"season_label": "2026-27",
"team": {
"team_id": "soccer-manchester-city",
"name": "Manchester City",
"abbreviation": "MNC"
},
"conference": null,
"division": null,
"games_played": 8,
"wins": 7,
"draws": 0,
"losses": 1,
"points": 21,
"goals_for": 20,
"goals_against": 9,
"goal_difference": 11,
"league_rank": 1,
"qualification": "Champions League",
"final": false
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerstandings?league=epl" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerclubs

Lists clubs with their domestic league, country and home venue. Available on every plan.

Full parameter and response reference: /v1/soccerclubs.

Live Demo

Live demo · no API key required
Query parameters
league
team
active

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerclubs?league=epl
Sample response
[
{
"team_id": "soccer-arsenal",
"league": "epl",
"sport": "soccer",
"abbreviation": "ARS",
"name": "Arsenal",
"short_name": "Arsenal",
"city": "London",
"country": "GB",
"venue": {
"name": "Emirates Stadium",
"city": "London",
"state": null,
"country": "GB"
},
"active": true
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerclubs?league=epl" \ -H "X-Api-Key: YOUR_API_KEY"

https://api.api-ninjas.com/v1/soccerplayers

Returns current squads and player profiles, by team or by name. Rosters refresh every day. Available on every plan.

Full parameter and response reference: /v1/soccerplayers.

Live Demo

Live demo · no API key required
Query parameters
league
team
name
player_id
position
limit
offset

Get a free API key to get started — no credit card required.

Headers
X-Api-KeyLog in or sign up to get your API key
GET
https://api.api-ninjas.com/v1/soccerplayers?league=epl&team=ARS
Sample response
[
{
"player_id": "soccer-p-34d3e18f49",
"league": "epl",
"team": {
"team_id": "soccer-arsenal",
"name": "Arsenal",
"abbreviation": "ARS"
},
"name": "Bukayo Saka",
"first_name": "Bukayo",
"last_name": "Saka",
"position": "F",
"jersey_number": "7",
"height_in": 70,
"height_cm": 178,
"weight_lb": 141,
"weight_kg": 64,
"birth_date": "2001-09-05",
"birth_place": null,
"roster_status": "active",
"nationality": "England"
}
]

Code Examples

curl -X GET "https://api.api-ninjas.com/v1/soccerplayers?league=epl&team=ARS" \ -H "X-Api-Key: YOUR_API_KEY"

Frequently Asked Questions

  • Yes, but you must have a premium subscription. Commercial use of the Premier League API is not permitted on the free tier. See our pricing page to choose a plan that fits your needs.
  • Sign up for a free account to instantly get your API key, then pass it in the X-Api-Key header on every request. The documentation above includes ready-to-run examples in cURL, Python, JavaScript, Node.js, and more.
  • Your API requests will simply be denied once you hit your monthly quota — you will never be charged more than the plan you signed up for. To increase your quota, you can upgrade your plan any time on our pricing page.
  • The API responds with a standard HTTP status code and a JSON error message describing the problem. See our error codes reference for the full list of codes and how to resolve each one, or contact support if you need help.
  • The Premier League does not publish a public API for developers. The API Ninjas Football (Soccer) API provides Premier League fixtures, live scores, results, the table and squads with league=epl. API Ninjas is not affiliated with or endorsed by the Premier League.
  • Call /v1/soccerstandings?league=epl. Rows are ordered by position and include points, wins, draws, losses, goals_for, goals_against, goal_difference and qualification for the Champions League, Europa League and relegation places.
  • Call /v1/soccermatches?league=epl&team=ARS (or team=soccer-arsenal) for the club's fixtures and results this season, in start order. Each match's league (epl, ucl, ...) tells you the competition.
  • The 2026-27 Premier League season, which starts in August 2026 and ends in May 2027. season_label is 2026-27.
  • On paid plans, the score, half and match minute update throughout every match. On the free plan, matches in progress show their status, and the final score appears at full time.

API Ninjas is not affiliated with or endorsed by the NFL, the NBA, the NHL or any other league, competition or team. League, competition and team names are trademarks of their owners and are used only to identify them.