Premier League API - Football Stats avatar

Premier League API - Football Stats

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Premier League API - Football Stats

Premier League API - Football Stats

Access Premier League football statistics, fixtures, standings, player data & match results. Historical data & real-time updates for sports analytics.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

0

Bookmarked

20

Total users

0

Monthly active users

8 days ago

Last modified

Features

Limited permissions

Share

Premier League API

Live English Premier League data: the league table, fixtures, results, clubs and squads, top scorers and assist leaders, match details (lineups, goals, cards, team stats, betting line) and head-to-head records.

No API key needed. Data comes live from ESPN's free public feed on every run. The current season is 2026/27, and past seasons are available with the season input.


Quick Start

League table (this is the default input):

{
"task": "standings"
}

Upcoming fixtures for one club:

{
"task": "fixtures",
"team": "Arsenal",
"maxResults": 10
}

Last season's results for a club:

{
"task": "matches",
"team": "Liverpool",
"season": 2025
}

Head-to-head between two clubs:

{
"task": "head_to_head",
"team": "Arsenal",
"opponent": "Chelsea"
}

Tasks

TaskWhat you get
standingsFull 20-club table: position, played, won, drawn, lost, goals for and against, goal difference, points, last-five form, qualification zone, crest
fixturesWith no filters: upcoming matches, soonest first. With filters (team, matchday, dateFrom, dateTo, status, season): every matching match with scores, half-time score, venue and attendance
matchesWith no filters: latest results, most recent first. With filters: a compact list of matching matches
teamsAll clubs in the league with ESPN ids, short names, abbreviations, crests and colors
team_detailsOne club: squad (position, shirt number, age, nationality, height, weight), record, table position, home ground, last five results and next five fixtures
scorersTop scorers and top assist providers (up to 50 each), optionally for one club
matchOne match by matchId: lineups and formations, substitutes, goals with scorer and assist, cards, team statistics (possession, shots, corners and more), attendance, betting line when ESPN has one
head_to_headLast five meetings between two clubs in all competitions, with a win/draw/loss tally. Give matchId, or team + opponent
injury_reportNot available. No free source publishes Premier League injury data, so this task returns an explanatory error row and is not charged

Each run returns one dataset item: { task, success, isSampleData, timestamp, source, data }. If a request fails (for example an unknown club name), the item has success: false and an error message, and no task event is charged.


Input

ParameterTypeDefaultDescription
taskstringstandingsWhat to fetch (see table above)
teamstring-Club name or abbreviation, e.g. Arsenal, Man City, LIV
teamIdinteger-ESPN club id, e.g. 359 Arsenal, 364 Liverpool, 382 Manchester City. Run the teams task for the full list
opponent / opponentTeamIdstring / integer-Second club for head_to_head
matchIdinteger-ESPN match id from the fixtures or matches output
seasonintegercurrentSeason start year: 2026 = 2026/27, 2025 = 2025/26
matchdayinteger-1 to 38. ESPN does not publish matchday numbers, so this is each club's Nth league match of the season
dateFrom, dateTostring-YYYY-MM-DD
statusstring-SCHEDULED, LIVE, IN_PLAY, PAUSED, FINISHED, POSTPONED, CANCELLED, SUSPENDED
maxResultsinteger50Cap on matches or players returned
apiKeystring-Optional Football-Data.org key, see below
demoModebooleanfalseReturn fixed 2024/25 sample data instead of live data
webhookUrlstring-POST the result to Zapier, Make, n8n or your own endpoint

Optional: Football-Data.org key

You do not need a key. If you already use Football-Data.org and pass your own apiKey, the actor reads from Football-Data.org instead of ESPN. That source adds official matchday numbers, referees and longer head-to-head history. With a key, teamId and matchId must be Football-Data.org ids (57 Arsenal, 64 Liverpool).

Demo mode

demoMode: true returns a small fixed sample from the 2024/25 season so you can see the output shape. Sample items are marked isSampleData: true with a notice, and no task event is charged. Demo mode is off by default.


Pricing

Pay per event:

EventWhen it is chargedPrice
Actor startOnce when the run starts, one event per GB of memory (minimum one). At the default 1 GB of memory that is $0.10 per run$0.10 per GB
Match FetchedPer match data fetched$0.01
Player FetchedPer player stats fetched$0.01
Standings FetchedPer standings table fetched$0.02
ResultEach item written to the default dataset$0.00001

Task events are never charged for demo mode, for errors, or for injury_report.


Data notes

  • Source: ESPN's public site API, fetched fresh on every run.
  • Club and match ids are ESPN ids. They differ from Football-Data.org ids used by earlier versions of this actor.
  • Past seasons: set season (for example 2024 for 2024/25) to get that season's table, results and squads. Older seasons can have gaps in lineup and stat detail.
  • Matchday numbers are estimated (see matchday). Rescheduled matches can show matchday: null.

Troubleshooting

"team id 64 is not a Premier League club in ESPN ids": you used a Football-Data.org id without a Football-Data.org key. Use the club name ("team": "Liverpool") or the ESPN id from the teams task.

Empty fixtures list: your filters matched nothing, for example a date range during an international break. The run still succeeds, totalMatching is 0, and no task event is charged.

injury_report error: expected. Injury data is not available from any free source.


Built by John Rippy | Actor Arsenal