
Every meeting between the two teams or players of one esports, tennis or table tennis event (by customId; sport=esport here), newest first: teams, series score, status. 1 request.
2 live routes on Web / SEO, from $0.00 per call. Every route below answered our last live test on 2026-11-02; 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 |
|---|---|---|
allsportsapi2RapidAPI listing | getEventH2hCHEAPESTGET api/{sport}/event/{customId}/h2h | $0.00$0.0e+00 / 1k calls |
esportapi1RapidAPI listing | getESportsH2HEventsGET api/esport/event/{customId}/h2h | $0.00$0.0e+00 / 1k calls |
From a real call to the cheapest route: allsportsapi2.
events[].idSofascore event id of a meetingevents[].startTimestampwhenevents[].homeTeam.namehome team in that meetingevents[].homeScore.currenthome scoreevents[].status.typefinished or notstarted (upcoming meeting)HTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.
| Parameter | Type | Notes | |
|---|---|---|---|
| customId | string · path | required | Custom event ID for H2H lookup · default qDFdsBXwhe.g. pWVcspKqi |
| sport | string · path | required | Allowed values: esport, table-tennis, tennis. · one of esport, table-tennis, tennise.g. esport |
curl "https://fetchapi.co/api/gw/rapidapi-allsportsapi2/api/esport/event/pWVcspKqi/h2h" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-allsportsapi2.geteventh2h", {"sport": "esport", "customId": "pWVcspKqi"}){
"events": [
{
"id": 17333003,
"slug": "galions-solary",
"time": {},
"bestOf": 5,
"season": {
"id": 104059,
"name": "Summer 2026",
"year": "2026",
"editor": false
},
"status": {
"code": 100,
"type": "finished",
"description": "Ended"
},
"changes": {
"changes": [
"status.code",
"… 3 more"
],
"changeTimestamp": 1792687263
},
"awayTeam": {
"id": 364815,
"name": "Solary",
"slug": "solary",
"type": 0,
"sport": {
"id": 72,
"name": "E-sports",
"slug": "esports"
},
"country": {
"name": "France",
"slug": "france",
"alpha2": "FR",
"alpha3": "FRA"
},
"nameCode": "SLY",
"national": false,
"subTeams": [],
"userCount": 305,
"teamColors": {
"text": "#ffffff",
"primary": "#374df5",
"secondary": "#374df5"
}
},
"coverage": 91,
"customId": "pWVcspKqi",
"homeTeam": {
"id": 1041765,
"name": "Galions",
"slug": "galions",
"type": 0,
"sport": {
"id": 72,
"name": "E-sports",
"slug": "esports"
},
"country": {
"name": "France",
"slug": "france",
"alpha2": "FR",
"alpha3": "FRA"
},
"nameCode": "GAL",
"national": false,
"subTeams": [],
"userCount": 128,
"teamColors": {
"text": "#ffffff",
"primary": "#374df5",
"secondary": "#374df5"
}
},
"isEditor": false,
"awayScore": {
"current": 2,
"display": 2,
"period1": 0,
"period2": 1,
"period3": 0,
"period4": 1,
"period5": 0
},
"eventType": "best_of",
"…": "8 more fields"
},
"… 3 more"
]
}| Parameter | Type | Notes | |
|---|---|---|---|
| customId | string · path | required | Custom event ID for H2H lookup · default qDFdsBXwhe.g. YiqjsPyrk |
curl "https://fetchapi.co/api/gw/rapidapi-esportapi1/api/esport/event/YiqjsPyrk/h2h" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-esportapi1.getesportsh2hevents", {"customId": "YiqjsPyrk"})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.