{"openapi":"3.1.0","info":{"title":"Soccer API","version":"1.0.0","description":"Live soccer (football) data for the world's top leagues as an API — clean JSON, no key. Get the full league table for any competition (rank, played, wins, draws, losses, goals for/against, goal difference and points), list every team and open a team for its record, form and standing, pull matches and results for any date, and open a match for its full detail — line-ups, formations and scorers. Read league news too. Covers the Premier League, La Liga, Serie A, Bundesliga, Ligue 1, Eredivisie, Primeira Liga, the Champions League and more — pass the league id (see /v1/leagues). Live data sourced continuously from ESPN. The world's most popular sport with an enormous betting and fantasy market — ideal for score apps, league-table widgets, betting tools, dashboards and Discord bots. 7 data endpoints. Authenticated with an x-oanor-key; fair-use rate limits per plan.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/soccer-api","description":"oanor gateway"}],"tags":[{"name":"Reference"},{"name":"Standings"},{"name":"Matches"},{"name":"Teams"},{"name":"News"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/leagues":{"get":{"operationId":"get_v1_leagues","tags":["Reference"],"summary":"Supported leagues","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":15,"leagues":[{"id":"eng.1","name":"English Premier League"},{"id":"esp.1","name":"Spanish La Liga"},{"id":"ita.1","name":"Italian Serie A"},{"id":"ger.1","name":"German Bundesliga"},{"id":"fra.1","name":"French Ligue 1"},{"id":"ned.1","name":"Dutch Eredivisie"},{"id":"por.1","name":"Portuguese Primeira Liga"},{"id":"eng.2","name":"English Championship"},{"id":"usa.1","name":"Major League Soccer"},{"id":"mex.1","name":"Mexican Liga MX"},{"id":"bra.1","name":"Brazilian Serie A"},{"id":"uefa.champions","name":"UEFA Champions League"},{"id":"uefa.europa","name":"UEFA Europa League"},{"id":"eng.fa","name":"English FA Cup"},{"id":"esp.copa_del_rey","name":"Copa del Rey"}]},"meta":{"timestamp":"2026-06-07T16:46:32.052Z","request_id":"83025059-ffbe-4429-a77a-b2acb0489e1c"},"status":"ok","message":"Leagues retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/standings":{"get":{"operationId":"get_v1_standings","tags":["Standings"],"summary":"League table","description":"","parameters":[{"name":"league","in":"query","required":false,"description":"League id (e.g. eng.1, esp.1, ita.1, ger.1) — see /v1/leagues","schema":{"type":"string"},"example":"eng.1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"table":[{"id":"359","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/359.png","rank":1,"team":"Arsenal","wins":26,"draws":7,"losses":5,"played":38,"points":85,"goals_for":71,"goals_against":27,"goal_difference":44},{"id":"382","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/382.png","rank":2,"team":"Manchester City","wins":23,"draws":9,"losses":6,"played":38,"points":78,"goals_for":77,"goals_against":35,"goal_difference":42},{"id":"360","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/360.png","rank":3,"team":"Manchester United","wins":20,"draws":11,"losses":7,"played":38,"points":71,"goals_for":69,"goals_against":50,"goal_difference":19},{"id":"362","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/362.png","rank":4,"team":"Aston Villa","wins":19,"draws":8,"losses":11,"played":38,"points":65,"goals_for":56,"goals_against":49,"goal_difference":7},{"id":"364","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/364.png","rank":5,"team":"Liverpool","wins":17,"draws":9,"losses":12,"played":38,"points":60,"goals_for":63,"goals_against":53,"goal_difference":10},{"id":"349","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/349.png","rank":6,"team":"AFC Bournemouth","wins":13,"draws":18,"losses":7,"played":38,"points":57,"goals_for":58,"goals_against":54,"goal_difference":4},{"id":"366","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/366.png","rank":7,"team":"Sunderland","wins":14,"draws":12,"losses":12,"played":38,"points":54,"goals_for":42,"goals_against":48,"goal_difference":-6},{"id":"331","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/331.png","rank":8,"team":"Brighton & Hove Albion","wins":14,"draws":11,"losses":13,"played":38,"points":53,"goals_for":52,"goals_against":46,"goal_difference":6},{"id":"337","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/337.png","rank":9,"team":"Brentford","wins":14,"draws":11,"losses":13,"played":38,"points":53,"goals_for":55,"goals_against":52,"goal_difference":3},{"id":"363","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/363.png","rank":10,"team":"Chelsea","wins":14,"draws":10,"losses":14,"played":38,"points":52,"goals_for":58,"goals_against":52,"goal_difference":6},{"id":"370","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/370.png","rank":11,"team":"Fulham","wins":15,"draws":7,"losses":16,"played":38,"points":52,"goals_for":47,"goals_against":51,"goal_difference":-4},{"id":"361","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/361.png","rank":12,"team":"Newcastle United","wins":14,"draws":7,"losses":17,"played":38,"points":49,"goals_for":53,"goals_against":55,"goal_difference":-2},{"id":"368","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/368.png","rank":13,"team":"Everton","wins":13,"draws":10,"losses":15,"played":38,"points":49,"goals_for":47,"goals_against":50,"goal_difference":-3},{"id":"357","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/357.png","rank":14,"team":"Leeds United","wins":11,"draws":14,"losses":13,"played":38,"points":47,"goals_for":49,"goals_against":56,"goal_difference":-7},{"id":"384","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/384.png","rank":15,"team":"Crystal Palace","wins":11,"draws":12,"losses":15,"played":38,"points":45,"goals_for":41,"goals_against":51,"goal_difference":-10},{"id":"393","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/393.png","rank":16,"team":"Nottingham Forest","wins":11,"draws":11,"losses":16,"played":38,"points":44,"goals_for":48,"goals_against":51,"goal_difference":-3},{"id":"367","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/367.png","rank":17,"team":"Tottenham Hotspur","wins":10,"draws":11,"losses":17,"played":38,"points":41,"goals_for":48,"goals_against":57,"goal_difference":-9},{"id":"371","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/371.png","rank":18,"team":"West Ham United","wins":10,"draws":9,"losses":19,"played":38,"points":39,"goals_for":46,"goals_against":65,"goal_difference":-19},{"id":"379","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/379.png","rank":19,"team":"Burnley","wins":4,"draws":10,"losses":24,"played":38,"points":22,"goals_for":38,"goals_against":75,"goal_difference":-37},{"id":"380","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/380.png","rank":20,"team":"Wolverhampton Wanderers","wins":3,"draws":11,"losses":24,"played":38,"points":20,"goals_for":27,"goals_against":68,"goal_difference":-41}],"league":"eng.1","league_name":"English Premier League"},"meta":{"timestamp":"2026-06-07T16:46:32.222Z","request_id":"df819e75-7589-4e98-99a9-3b3bf2e2ceee"},"status":"ok","message":"Standings retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/match":{"get":{"operationId":"get_v1_match","tags":["Matches"],"summary":"Match detail (line-ups, scorers)","description":"","parameters":[{"name":"league","in":"query","required":false,"description":"League id (e.g. eng.1, esp.1, ita.1, ger.1) — see /v1/leagues","schema":{"type":"string"},"example":"eng.1"},{"name":"id","in":"query","required":true,"description":"Match id","schema":{"type":"string"},"example":"740966"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"match":{"id":"740966","name":"Brighton & Hove Albion vs Manchester United","goals":[],"teams":[{"id":"331","team":"Brighton & Hove Albion","score":"0","winner":false,"home_away":"home"},{"id":"360","team":"Manchester United","score":"3","winner":true,"home_away":"away"}],"venue":"American Express Stadium","status":"Full Time","lineups":[{"team":"Brighton & Hove Albion","starters":["Bart Verbruggen","Lewis Dunk","Jan Paul van Hecke","Ferdi Kadioglu","Mats Wieffer","Jack Hinshelwood","James Milner","Pascal Gross","Danny Welbeck","Maxim De Cuyper","Diego Gómez"],"formation":"4-2-3-1"},{"team":"Manchester United","starters":["Senne Lammens","Lisandro Martínez","Harry Maguire","Luke Shaw","Noussair Mazraoui","Bruno Fernandes","Kobbie Mainoo","Mason Mount","Bryan Mbeumo","Patrick Dorgu","Amad"],"formation":"4-2-3-1"}]},"league":"eng.1"},"meta":{"timestamp":"2026-06-07T16:46:32.554Z","request_id":"49633a52-e129-4f30-a3cf-9519852aaab2"},"status":"ok","message":"Match retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/matches":{"get":{"operationId":"get_v1_matches","tags":["Matches"],"summary":"Matches & results","description":"","parameters":[{"name":"league","in":"query","required":false,"description":"League id (e.g. eng.1, esp.1, ita.1, ger.1) — see /v1/leagues","schema":{"type":"string"},"example":"eng.1"},{"name":"dates","in":"query","required":false,"description":"Date range YYYYMMDD-YYYYMMDD","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":10,"league":"eng.1","matches":[{"id":"740966","away":{"id":"360","form":"WWDWW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/360.png","team":"Manchester United","score":"3","winner":true,"home_away":"away","abbreviation":"MAN"},"date":"2026-05-24T15:00Z","home":{"id":"331","form":"LLWLW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/331.png","team":"Brighton & Hove Albion","score":"0","winner":false,"home_away":"home","abbreviation":"BHA"},"name":"Manchester United at Brighton & Hove Albion","clock":"90'+6'","venue":"American Express Stadium","status":"Full Time","completed":true},{"id":"740967","away":{"id":"380","form":"DDLDL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/380.png","team":"Wolverhampton Wanderers","score":"1","winner":false,"home_away":"away","abbreviation":"WOL"},"date":"2026-05-24T15:00Z","home":{"id":"379","form":"DLDLL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/379.png","team":"Burnley","score":"1","winner":false,"home_away":"home","abbreviation":"BUR"},"name":"Wolverhampton Wanderers at Burnley","clock":"90'+8'","venue":"Turf Moor","status":"Full Time","completed":true},{"id":"740968","away":{"id":"359","form":"LWWWW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/359.png","team":"Arsenal","score":"2","winner":true,"home_away":"away","abbreviation":"ARS"},"date":"2026-05-24T15:00Z","home":{"id":"384","form":"WLDLD","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/384.png","team":"Crystal Palace","score":"1","winner":false,"home_away":"home","abbreviation":"CRY"},"name":"Arsenal at Crystal Palace","clock":"90'+9'","venue":"Selhurst Park","status":"Full Time","completed":true},{"id":"740969","away":{"id":"361","form":"LWDWL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/361.png","team":"Newcastle United","score":"0","winner":false,"home_away":"away","abbreviation":"NEW"},"date":"2026-05-24T15:00Z","home":{"id":"370","form":"WDLLW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/370.png","team":"Fulham","score":"2","winner":true,"home_away":"home","abbreviation":"FUL"},"name":"Newcastle United at Fulham","clock":"90'+9'","venue":"Craven Cottage","status":"Full Time","completed":true},{"id":"740975","away":{"id":"337","form":"DDLWL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/337.png","team":"Brentford","score":"1","winner":false,"home_away":"away","abbreviation":"BRE"},"date":"2026-05-24T15:00Z","home":{"id":"364","form":"DLDLW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/364.png","team":"Liverpool","score":"1","winner":false,"home_away":"home","abbreviation":"LIV"},"name":"Brentford at Liverpool","clock":"90'+11'","venue":"Anfield","status":"Full Time","completed":true},{"id":"740970","away":{"id":"362","form":"WWWDW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/362.png","team":"Aston Villa","score":"2","winner":true,"home_away":"away","abbreviation":"AVL"},"date":"2026-05-24T15:00Z","home":{"id":"382","form":"LDWWW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/382.png","team":"Manchester City","score":"1","winner":false,"home_away":"home","abbreviation":"MNC"},"name":"Aston Villa at Manchester City","clock":"90'+12'","venue":"Etihad Stadium","status":"Full Time","completed":true},{"id":"740972","away":{"id":"349","form":"DDWWD","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/349.png","team":"AFC Bournemouth","score":"1","winner":false,"home_away":"away","abbreviation":"BOU"},"date":"2026-05-24T15:00Z","home":{"id":"393","form":"DLDLW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/393.png","team":"Nottingham Forest","score":"1","winner":false,"home_away":"home","abbreviation":"NFO"},"name":"AFC Bournemouth at Nottingham Forest","clock":"90'+12'","venue":"The City Ground","status":"Full Time","completed":true},{"id":"740973","away":{"id":"363","form":"LWLDL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/363.png","team":"Chelsea","score":"1","winner":false,"home_away":"away","abbreviation":"CHE"},"date":"2026-05-24T15:00Z","home":{"id":"366","form":"WWDDL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/366.png","team":"Sunderland","score":"2","winner":true,"home_away":"home","abbreviation":"SUN"},"name":"Chelsea at Sunderland","clock":"90'+13'","venue":"Stadium of Light","status":"Full Time","completed":true},{"id":"740974","away":{"id":"368","form":"LLDDL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/368.png","team":"Everton","score":"0","winner":false,"home_away":"away","abbreviation":"EVE"},"date":"2026-05-24T15:00Z","home":{"id":"367","form":"WLDWW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/367.png","team":"Tottenham Hotspur","score":"1","winner":true,"home_away":"home","abbreviation":"TOT"},"name":"Everton at Tottenham Hotspur","clock":"90'+12'","venue":"Tottenham Hotspur Stadium","status":"Full Time","completed":true},{"id":"740971","away":{"id":"357","form":"LWDWL","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/357.png","team":"Leeds United","score":"0","winner":false,"home_away":"away","abbreviation":"LEE"},"date":"2026-05-24T15:00Z","home":{"id":"371","form":"WLLLW","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/371.png","team":"West Ham United","score":"3","winner":true,"home_away":"home","abbreviation":"WHU"},"name":"Leeds United at West Ham United","clock":"90'+5'","venue":"London Stadium","status":"Full Time","completed":true}],"league_name":"English Premier League"},"meta":{"timestamp":"2026-06-07T16:46:32.678Z","request_id":"2587dd41-6985-46c5-9df1-f3d80d9725f3"},"status":"ok","message":"Matches retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/team":{"get":{"operationId":"get_v1_team","tags":["Teams"],"summary":"Team detail","description":"","parameters":[{"name":"league","in":"query","required":false,"description":"League id (e.g. eng.1, esp.1, ita.1, ger.1) — see /v1/leagues","schema":{"type":"string"},"example":"eng.1"},{"name":"id","in":"query","required":true,"description":"Team id","schema":{"type":"string"},"example":"359"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"team":{"id":"359","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/359.png","name":"Arsenal","color":"e20520","record":"26-7-5","location":"Arsenal","nickname":"Arsenal","standing":"1st in English Premier League","abbreviation":"ARS","alternate_color":"003399"},"league":"eng.1"},"meta":{"timestamp":"2026-06-07T16:46:32.876Z","request_id":"cc410124-8598-4ca9-830a-759304b0e5c4"},"status":"ok","message":"Team retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/teams":{"get":{"operationId":"get_v1_teams","tags":["Teams"],"summary":"Teams in a league","description":"","parameters":[{"name":"league","in":"query","required":false,"description":"League id (e.g. eng.1, esp.1, ita.1, ger.1) — see /v1/leagues","schema":{"type":"string"},"example":"eng.1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":20,"teams":[{"id":"349","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/349.png","name":"AFC Bournemouth","color":"f42727","location":"AFC Bournemouth","nickname":"AFC Bournemouth","abbreviation":"BOU","alternate_color":"0000CC"},{"id":"359","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/359.png","name":"Arsenal","color":"e20520","location":"Arsenal","nickname":"Arsenal","abbreviation":"ARS","alternate_color":"003399"},{"id":"362","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/362.png","name":"Aston Villa","color":"660e36","location":"Aston Villa","nickname":"Aston Villa","abbreviation":"AVL","alternate_color":"333333"},{"id":"337","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/337.png","name":"Brentford","color":"f42727","location":"Brentford","nickname":"Brentford","abbreviation":"BRE","alternate_color":"f8ced9"},{"id":"331","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/331.png","name":"Brighton & Hove Albion","color":"0606fa","location":"Brighton & Hove Albion","nickname":"Brighton & Hove Albion","abbreviation":"BHA","alternate_color":"ffdd00"},{"id":"379","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/379.png","name":"Burnley","color":"6C1D45","location":"Burnley","nickname":"Burnley","abbreviation":"BUR","alternate_color":"00FFFF"},{"id":"363","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/363.png","name":"Chelsea","color":"144992","location":"Chelsea","nickname":"Chelsea","abbreviation":"CHE","alternate_color":"FFFFFF"},{"id":"384","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/384.png","name":"Crystal Palace","color":"0202fb","location":"Crystal Palace","nickname":"Crystal Palace","abbreviation":"CRY","alternate_color":"ffdd00"},{"id":"368","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/368.png","name":"Everton","color":"0606fa","location":"Everton","nickname":"Everton","abbreviation":"EVE","alternate_color":"132257"},{"id":"370","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/370.png","name":"Fulham","color":"ffffff","location":"Fulham","nickname":"Fulham","abbreviation":"FUL","alternate_color":"00CC00"},{"id":"357","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/357.png","name":"Leeds United","color":"ffffff","location":"Leeds United","nickname":"Leeds United","abbreviation":"LEE","alternate_color":"0000FF"},{"id":"364","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/364.png","name":"Liverpool","color":"d11317","location":"Liverpool","nickname":"Liverpool","abbreviation":"LIV","alternate_color":"FFFFFF"},{"id":"382","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/382.png","name":"Manchester City","color":"99c5ea","location":"Manchester City","nickname":"Manchester City","abbreviation":"MNC","alternate_color":"000000"},{"id":"360","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/360.png","name":"Manchester United","color":"da020e","location":"Manchester United","nickname":"Manchester United","abbreviation":"MAN","alternate_color":"FFFFFF"},{"id":"361","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/361.png","name":"Newcastle United","color":"000000","location":"Newcastle United","nickname":"Newcastle United","abbreviation":"NEW","alternate_color":"ffffff"},{"id":"393","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/393.png","name":"Nottingham Forest","color":"c8102e","location":"Nottingham Forest","nickname":"Nottingham Forest","abbreviation":"NFO","alternate_color":"132257"},{"id":"366","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/366.png","name":"Sunderland","color":"EB172B","location":"Sunderland","nickname":"Sunderland","abbreviation":"SUN","alternate_color":"87cced"},{"id":"367","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/367.png","name":"Tottenham Hotspur","color":"ffffff","location":"Tottenham Hotspur","nickname":"Tottenham Hotspur","abbreviation":"TOT","alternate_color":"000000"},{"id":"371","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/371.png","name":"West Ham United","color":"7c2c3b","location":"West Ham United","nickname":"West Ham United","abbreviation":"WHU","alternate_color":"F1E7E0"},{"id":"380","logo":"https://a.espncdn.com/i/teamlogos/soccer/500/380.png","name":"Wolverhampton Wanderers","color":"fdb913","location":"Wolverhampton Wanderers","nickname":"Wolverhampton Wanderers","abbreviation":"WOL","alternate_color":"32A8DD"}],"league":"eng.1","league_name":"English Premier League"},"meta":{"timestamp":"2026-06-07T16:46:33.006Z","request_id":"fddc15a7-da46-4b0c-81d8-5e3f4f884173"},"status":"ok","message":"Teams retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/news":{"get":{"operationId":"get_v1_news","tags":["News"],"summary":"League news","description":"","parameters":[{"name":"league","in":"query","required":false,"description":"League id (e.g. eng.1, esp.1, ita.1, ger.1) — see /v1/leagues","schema":{"type":"string"},"example":"eng.1"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":6,"league":"eng.1","articles":[{"link":"https://www.espn.com/soccer/story/_/id/48990165/transfer-rumors-news-arsenal-psg-fight-nottingham-forest-morgan-gibbs-white","image":"https://a.espncdn.com/photo/2026/0419/r1645969_1296x729_16-9.jpg","headline":"Transfer rumors, news: Arsenal, PSG to fight for Gibbs-White","published":"2026-06-07T14:05:25Z","description":"Arsenal could face strong competition from Paris Saint-Germain for the signature of Nottingham Forest midfielder Morgan Gibbs-White. Transfer Talk has the latest."},{"link":"https://www.espn.com/soccer/story/_/id/48944912/premier-league-efl-summer-transfer-window-2026-dates-does-open-deadline-day","image":"https://a.espncdn.com/photo/2024/0913/r1385766_1296x729_16-9.jpg","headline":"Premier League, EFL summer transfer window 2026 dates: When does it open, when is Deadline Day?","published":"2026-06-07T12:00:31Z","description":"Everything that Premier League and EFL supporters need to know about the 2026 summer transfer window, and key dates around it."},{"link":"https://www.espn.com/soccer/story/_/id/48709856/world-cup-2026-which-players-your-premier-league-team-going","image":"https://a.espncdn.com/photo/2026/0525/r1663354_1296x729_16-9.jpg","headline":"World Cup 2026: Which players from your Premier League team are going?","published":"2026-06-07T11:41:40Z","description":"Which Premier League players from your team are representing their country at the 2026 World Cup in the United States, Canada and Mexico?"},{"link":"https://www.espn.com/soccer/story/_/id/48981673/transfer-rumors-news-bayern-olise-real-madrid-target-perez","image":"https://a.espncdn.com/photo/2026/0606/r1669122_1296x729_16-9.jpg","headline":"Transfer rumors, news: Man United target Balde, other left backs","published":"2026-06-06T21:53:40Z","description":"Manchester United are stepping up interest in various left backs. Transfer Talk has the latest."},{"link":"https://www.espn.com/soccer/story/_/id/48956021/16-players-use-world-cup-get-big-transfer-europe","image":"https://a.espncdn.com/photo/2026/0331/r1636426_1296x729_16-9.jpg","headline":"16 players who could use World Cup to get a big transfer in Europe","published":"2026-06-06T12:06:42Z","description":"The World Cup is the biggest stage in sports, so which players are hoping to use it to get their next big transfer?"},{"link":"https://www.espn.com/video/clip/_/id/48978343/west-ham-80m-fernandes-valuation-opening-gambit","image":"https://a.espncdn.com/media/motion/2026/0605/dm_260605_Ogden_West_Hams_Fernandes_valuation_is_an_opening_gambit/dm_260605_Ogden_West_Hams_Fernandes_valuation_is_an_opening_gambit.jpg","headline":"Ogden: West Ham's £80m Fernandes valuation is an 'opening gambit'","published":"2026-06-05T22:05:32Z","description":"Mark Ogden says West Ham's reported £80m valuation of Mateus Fernandes is an 'opening gambit', with relegation also making it difficult to hold on to key players."}]},"meta":{"timestamp":"2026-06-07T16:46:33.100Z","request_id":"9461d6da-1a1a-4e49-b3b4-75a3ebab154a"},"status":"ok","message":"News retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"service":"soccer-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/news":"League news (league=).","GET /v1/team":"Team detail (league=, id=).","GET /v1/match":"Full match detail by id (league=, id=).","GET /v1/teams":"Teams in a league (league=).","GET /v1/leagues":"Supported leagues and their ids.","GET /v1/matches":"Matches & results (league=, dates=YYYYMMDD-YYYYMMDD).","GET /v1/standings":"League table (league=)."},"description":"Soccer (football) data for the world's top leagues: league tables/standings, teams, team detail (record, form), matches & results by date, full match detail (lineups, scorers) and news — Premier League, La Liga, Serie A, Bundesliga, Ligue 1, Champions League and more. Real live data, no key."},"meta":{"timestamp":"2026-06-07T16:46:33.176Z","request_id":"85d030a3-23b3-400d-8adb-901fdd37c6ee"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":3000,"rps_limit":5,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":950,"monthly_call_quota":58000,"rps_limit":15,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3900,"monthly_call_quota":320000,"rps_limit":30,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":13500,"monthly_call_quota":1500000,"rps_limit":80,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/soccer-api"}