Skip to content
GET /v1/scoreboard

Tournaments & live matches

Try it live

10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.

Custom headers (optional)
api.oanor.com/tennislive-api

It works. Grab an API key and use it in your project.

Get an API key

Code snippets

curl "https://api.oanor.com/tennislive-api/v1/scoreboard" \
  -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/tennislive-api/v1/scoreboard", {
  headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/tennislive-api/v1/scoreboard");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
    "https://api.oanor.com/tennislive-api/v1/scoreboard",
    headers={"x-oanor-key": "oanor_test_..."}
)

Example response

A real response from this endpoint, captured by the latest health check.

{
    "data": {
        "tour": "atp",
        "count": 3,
        "tournaments": [
            {
                "id": "172-2026",
                "date": "2026-05-18T04:00Z",
                "name": "Roland Garros",
                "status": "Final",
                "matches": [],
                "match_count": 0
            },
            {
                "id": "49-2026",
                "date": "2026-06-06T04:00Z",
                "name": "Boss Open",
                "status": "Final",
                "matches": [],
                "match_count": 0
            },
            {
                "id": "415-2026",
                "date": "2026-06-06T04:00Z",
                "name": "Libéma Open",
                "status": "Final",
                "matches": [],
                "match_count": 0
            }
        ]
    },
    "meta": {
        "timestamp": "2026-06-08T01:20:05.071Z",
        "request_id": "bfb0e9aa-b98d-4a73-80d4-f14a6a2b5abf"
    },
    "status": "ok",
    "message": "Scoreboard retrieved successfully",
    "success": true
}