Premier League API
Realtime Sports API serves English Premier League games through the same REST endpoints and JSON schema as every other league, using sport=soccer and league=eng.1. You get the current scoreboard, live scores, game detail, play-by-play, teams, rosters and news, plus current odds and line history from a single source book. Not currently available or not verified for this league: injuries, player box-score stats. Data is aggregated from public sources and is typically 20-30 seconds behind live play (about 1 second after our source). There is no SLA.
- Slugs
- sport=soccer
league=eng.1 - Teams
- 20
- Season (from data)
- 2026-27 English Premier League
- In the scoreboard now
- 6 games
Upcoming and live Premier League games
| Date | Away | Home | Time / Result | TV | Venue |
|---|---|---|---|---|---|
| Sat, Oct 10 | Leeds United | Arsenal | 7:30 AM ET | Emirates Stadium · London | |
| Sat, Oct 10 | Brighton & Hove Albion | Sunderland | 10:00 AM ET | Stadium of Light · Sunderland | |
| Sat, Oct 10 | AFC Bournemouth | Chelsea | 10:00 AM ET | Stamford Bridge · London | |
| Sat, Oct 10 | Brentford | Aston Villa | 10:00 AM ET | Villa Park · Birmingham | |
| Sat, Oct 10 | Fulham | Ipswich Town | 10:00 AM ET | Portman Road · Ipswich | |
| Sat, Oct 10 | Tottenham Hotspur | Manchester United | 12:30 PM ET | Old Trafford · Manchester |
From the /events endpoint for this league, refreshed every few minutes. Times are US Eastern. Full Premier League schedule
Live example
Request
curl -H "Authorization: Bearer $RSA_API_KEY" \
"https://www.realtimesportsapi.com/api/v1/sports/soccer/leagues/eng.1/events?limit=1"Response captured from live data at 2026-10-05 02:07 UTC (refreshed every few minutes). Long arrays are trimmed; meta.rateLimit values are illustrative for a Free key.
Response
{
"success": true,
"data": [
{
"id": "401879268",
"uid": "s:600~l:700~e:401879268",
"name": "Leeds United at Arsenal",
"shortName": "LEE @ ARS",
"date": "2026-10-10T11:30Z",
"status": {
"state": "pre",
"completed": false,
"period": 0,
"clock": "0'",
"detail": "Sat, October 10th at 7:30 AM EDT",
"halftime": false,
"firstHalfEnded": false
},
"homeTeam": {
"id": "359",
"name": "Arsenal",
"abbreviation": "ARS",
"logo": "https://realtimesportsapi.com/api/images/proxy?id=GgcVSgNPTUMITUgaFFQVVVQXBVwOHV5LRQBZD1lbBllDXQAOWRMQEENcUx1GVw9PH0pXAQ",
"color": "e20520",
"alternateColor": "003399",
"winner": false,
"score": 0
},
"awayTeam": {
"id": "357",
"name": "Leeds United",
"abbreviation": "LEE",
"logo": "https://realtimesportsapi.com/api/images/proxy?id=GgcVSgNPTUMITUgaFFQVVVQXBVwOHV5LRQBZD1lbBllDXQAOWRMQEENcUx1GVw9BH0pXAQ",
"color": "ffffff",
"alternateColor": "FFCD00",
"winner": false,
"score": 0
},
"competition": {
"attendance": 0,
"neutralSite": false,
"conferenceCompetition": false,
"divisionCompetition": false,
"playByPlayAvailable": true,
"highlightsAvailable": false
},
"venue": {
"id": "2267",
"name": "Emirates Stadium",
"city": "London",
"indoor": false,
"grass": false
},
"notes": [],
"season": {
"year": 2026,
"displayName": "2026-27 English Premier League",
"type": {
"id": "1",
"name": "2026-27 English Premier League",
"abbreviation": "2026-27 English Premier League"
},
"week": {}
},
"broadcasts": [],
"officials": []
}
],
"meta": {
"rateLimit": {
"limit": 125,
"remaining": 124,
"reset": 1793491200000
}
}
}Premier League endpoints
Checked against live data on 2026-10-04. Paths are relative to /api/v1/sports/soccer/leagues/eng.1.
| Endpoint | Path | Premier League | Notes |
|---|---|---|---|
| Live scores | /events/live | Available | |
| Events (scoreboard) | /events | Available | |
| Event detail | /events/{eventId} | Available | |
| Play-by-play | /events/{eventId}/plays | Available | |
| Box score | /events/{eventId}/boxscore | Limited | Team totals and period scores only; player stats are not returned. |
| Odds | /events/{eventId}/odds | Available | |
| Win probability | /events/{eventId}/winprobability | Not available | |
| Teams | /teams | Available | |
| Rosters | /teams/{teamId}/roster | Available | |
| Athletes | /athletes/search | Available | |
| Injuries | /injuries | Not available | |
| News | /news | Available | |
| Schedule / weeks | /seasons/{season}/schedule | Available | |
| NCAA tournament | /seasons/{season}/tournament | Not available | |
| Webhooks | /webhooks | Available | |
| WebSocket | /websocket/auth | Available |
- Schedules are by date, not week: use /events for the current scoreboard and /seasons/{season}/schedule for a season. Week parameters return SCHEDULE_WEEKS_NOT_SUPPORTED.
- Soccer play-by-play is a stream of match events (passes, shots, fouls, cards); box scores carry team totals and period scores without player rows.
Event object fields
Every Premier League game in the events, live and schedule endpoints uses the same Event object as other leagues.
| Field | Type | Notes |
|---|---|---|
| id | string | Event id; use it with the detail, plays, box score and odds endpoints. |
| uid | string | |
| name | string | Full matchup name. |
| shortName | string | Abbreviated matchup, e.g. "AWAY @ HOME". |
| date | string | Start time, ISO-8601 UTC. |
| status | EventStatus | state (pre, in, post), completed, period, clock and display detail. |
| homeTeam | EventTeam | id, name, abbreviation, colors, logo (proxied), record, score, winner. |
| awayTeam | EventTeam | Same shape as homeTeam. |
| competition | object | attendance, neutralSite, conference/division flags, playByPlayAvailable. |
| venue | object | Venue id, name, city, state, indoor, grass (null when unknown). |
| notes | string[] | Headline notes, e.g. round or rivalry names. |
| season | object | year, type (preseason/regular/postseason) and week where the league uses weeks. |
| broadcasts | object[] | TV/stream networks for the game. |
| officials | object[] | Game officials when published. |
| odds | Odds | Only with includeOdds=true and when the game has odds. |
Code samples
curl
curl -H "Authorization: Bearer $RSA_API_KEY" \
"https://www.realtimesportsapi.com/api/v1/sports/soccer/leagues/eng.1/events?limit=5"JavaScript (fetch)
const res = await fetch("https://www.realtimesportsapi.com/api/v1/sports/soccer/leagues/eng.1/events?limit=5", {
headers: { Authorization: `Bearer ${process.env.RSA_API_KEY}` }
});
const { success, data, meta } = await res.json();
console.log(data, meta.rateLimit);Python (requests)
import os, requests
res = requests.get(
"https://www.realtimesportsapi.com/api/v1/sports/soccer/leagues/eng.1/events?limit=5",
headers={"Authorization": f"Bearer {os.environ['RSA_API_KEY']}"},
timeout=10,
)
body = res.json()
print(body["data"])MCP prompt (Claude, Cursor, ChatGPT)
Using the Realtime Sports MCP server (https://www.realtimesportsapi.com/api/mcp), call get_events with sport "soccer" and league "eng.1" and list the games it returns with start times, status and scores for Premier League.Connect the hosted MCP server first: setup guide. Each tool call counts as one API call.
Rate limits and pricing
| Plan | Price | Calls | Rate | WebSocket | Webhooks |
|---|---|---|---|---|---|
| Free | $0 | 125/mo (1,000 first 30 days) | 1/s | 500 msgs/mo | No |
| Starter | $29/mo ($290/yr) | 10,000/mo | 5/s | Shares monthly pool | Shares monthly pool |
| Growth | $49/mo ($490/yr) | 25,000/mo | 10/s | Shares monthly pool | Shares monthly pool |
| Pro | $99/mo ($990/yr) | 50,000/mo | 20/s | 100,000 msgs/mo | 25,000/mo |
| Scale | $299/mo ($2,990/yr) | 500,000/mo | 100/s | 500,000 msgs/mo | 100,000/mo |
Every successful REST call counts as one call. Over the limit you get HTTP 429 with a Retry-After header. No SLA. Full pricing.
29 leagues monitored live: NFL, college football, NBA, men's college basketball, MLB, NHL and 23 soccer competitions.
FAQ
- Is there a free Premier League API?
- Yes. The Free plan is $0 with 125 calls per month (1,000 in the first 30 days) at 1 request per second, no card required. The same key works for all 29 leagues.
- How fresh is the Premier League data?
- Data is aggregated from public sources and is typically 20-30 seconds behind live play (about 1 second after our source). There is no SLA. It is not intended for in-play betting that needs sub-second data.
- Which Premier League endpoints are available?
- Available: live scores, events (scoreboard), event detail, play-by-play, odds, teams, rosters, athletes, news, schedule / weeks. Not available or not verified: box score (limited), win probability (not available), injuries (not available), ncaa tournament (not available).
- Does the Premier League API include betting odds?
- Yes. Upcoming Premier League games returned a spread, moneyline and total when we checked, from a single source book, with line history. It is not a multi-book comparison feed and not suited to sub-second in-play betting.
- Does it include Premier League injuries?
- No. The injuries endpoint returned no records for Premier League when we checked, so treat injuries as not available for this league.
- Can I get Premier League score updates pushed instead of polling?
- Yes. Webhooks are included on every paid plan (Starter, Growth, Pro, Scale). WebSocket is included on paid plans, and the Free plan gets a 500-message monthly preview. Both can be filtered to eng.1.