
Every esports match (Counter-Strike, LoL, Dota 2) being played right now, one item per match with teams, map score, best-of, status and tournament. 18 live in our call (16 CS, 2 Dota 2). 1 request.
1 live route on Web / SEO, from $0.00 per call. Every route below answered our last live test on 2026-10-31; the gateway re-tests them daily.
The upstream price you are metered at, cheapest first. A route without a published price says so.
| Provider | Endpoint | Price |
|---|---|---|
esportapi1RapidAPI listing | getLiveESportsMatchesGET api/esport/matches/live | $0.00$0.0e+00 / 1k calls |
From a real call to the route: esportapi1.
events[].idSofascore event id: pass it to the match, statistics, lineups and incidents callsevents[].customIdthe id the head-to-head call takesevents[].homeTeam.namehome teamevents[].awayTeam.nameaway teamevents[].homeScore.currenthome score now (period1, period2... by period)events[].status.typenotstarted, inprogress, finished, canceledevents[].status.descriptionperiod or clock, e.g. 3rd quarter, Second gameevents[].startTimestampkick-off, Unix secondsevents[].tournament.uniqueTournament.nameleague / competitionevents[].tournament.category.sport.slugsportevents[].bestOfbest of N mapsHTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.
No parameters.
curl "https://fetchapi.co/api/gw/rapidapi-esportapi1/api/esport/matches/live" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-esportapi1.getliveesportsmatches", {}){
"events": [
{
"id": 17383631,
"slug": "99firepower-1utility-fortress",
"time": {
"currentPeriodStartTimestamp": 1792693562
},
"bestOf": 1,
"season": {
"id": 105795,
"name": "Advanced Europe season 59 2026",
"year": "2026",
"editor": false
},
"status": {
"code": 1001,
"type": "inprogress",
"description": "First game"
},
"changes": {
"changes": [
"status.code",
"… 3 more"
],
"changeTimestamp": 1792693564
},
"awayTeam": {
"id": 1293690,
"name": "99firepower 1utility",
"slug": "99firepower-1utility",
"type": 0,
"sport": {
"id": 72,
"name": "E-sports",
"slug": "esports"
},
"country": {
"name": "Lithuania",
"slug": "lithuania",
"alpha2": "LT",
"alpha3": "LTU"
},
"nameCode": "91U",
"national": false,
"subTeams": [],
"userCount": 0,
"teamColors": {
"text": "#ffffff",
"primary": "#374df5",
"secondary": "#374df5"
}
},
"coverage": 90,
"customId": "YiqjsPyrk",
"homeTeam": {
"id": 1165448,
"name": "Fortress",
"slug": "fortress",
"type": 0,
"sport": {
"id": 72,
"name": "E-sports",
"slug": "esports"
},
"country": {
"name": "Denmark",
"slug": "denmark",
"alpha2": "DK",
"alpha3": "DNK"
},
"nameCode": "FOR",
"national": false,
"subTeams": [],
"userCount": 1,
"teamColors": {
"text": "#ffffff",
"primary": "#374df5",
"secondary": "#374df5"
}
},
"isEditor": false,
"awayScore": {
"current": 0,
"display": 0,
"period1": 0,
"period2": 0,
"period3": 0,
"period4": 0,
"period5": 0
},
"eventType": "best_of",
"…": "9 more fields"
},
"… 3 more"
]
}Call it over HTTP or from any MCP client. Each key has a rate limit and a monthly cap; calls are metered at the upstream price.