Endpoint Playground
Returns a tennis match's per-game momentum series: for each game of each set a `value` (positive favours the home player or team, negative the away side) and whether a break of serve `break_occurred`. An empty `games` list is a valid response (a live match with no completed game yet). Returns 404 when SofaScore has no tennis power data for the match, which includes matches that have not started and sports other than tennis.
14 Oct 2026: 30 games; 4 fields had a value in every checked item.
Sample value profiles: set: 1 to 3, median 2; break_occurred: true in 3 of 30; game: 1 to 13, median 5.
curl 'https://api.crawlora.net/api/v1/sofascore/event-tennis-power?id=17257382' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| id | string | Yes | 17257382 | Numeric SofaScore tennis event (match) id |
{
"code": 200,
"msg": "OK",
"data": {
"event_id": 17257382,
"source_url": "https://api.sofascore.com/api/v1/event/17257382/tennis-power",
"fetched_at": "2026-10-07T17:00:00Z",
"count": 30,
"games": [
{
"set": 1,
"game": 1,
"value": 18.446341100609,
"break_occurred": false
},
{
"set": 1,
"game": 2,
"value": -54.22,
"break_occurred": false
},
{
"set": 1,
"game": 3,
"value": 47.4,
"break_occurred": false
},
"...",
{
"set": 1,
"game": 13,
"value": 65,
"break_occurred": false
}
]
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.