Skip to content
datasportsAPI

No. 02 · Court & net · Fixture sport

TennisEvery point, every draw, every surface.

Every ATP, WTA, Challenger and ITF draw, point by point, with serve state, seeds, surfaces, draw brackets and live rankings.

02Court & net
Tennis17 endpoints · fixtures

Scouting report

What you get for Tennis

Tennis arrives point by point: sets split into games, each game names its server and winner, and every point carries the running score. A live match also says who is serving and on which surface it is played.

Around the matches sit the draws as brackets with seeds, the ATP and WTA rankings in official and live form, the UTR ratings, and a player's year split by surface (aces, double faults, break points, tie-breaks), along with their run at each Grand Slam.

First request

Every tennis match in play, one call.

The live board filtered to tennis: each match with its score, status and clock. The same request in four forms; pick yours.

  1. 1Create a key in the dashboard. Free gives you 1,000 requests a day during the beta.
  2. 2Put it in DATASPORTSAPI_API_KEY so the SDKs and the dsa command find it.
  3. 3Call /v2/livescores?sport=tennis.
curl -H "Authorization: Bearer dsa_live_…" \
  "https://api.datasportsapi.com/v2/livescores?sport=tennis"

The catalog

Tennis, endpoint by endpoint

Its own detail first, then the shared spine every fixture sport answers on. Each row opens the endpoint’s reference page.

All 116 endpoints

Where tennis goes deeper

7 endpoints with detail specific to the sport.

The shared spine

10 endpoints that behave the same for every fixture sport.

  1. GETLive scores/v2/livescoresReturns every live fixture across all sports, or a single sport’s in-play board when ?sport= is given.All plans
  2. GETFixtures by date/v2/fixturesLists the fixtures that start on a given UTC date.All plans
  3. GETFixture/v2/fixtures/{id}Everything we hold on one fixture.All plans
  4. GETEvents/v2/fixtures/{id}/eventsThe match’s incidents in chronological order, oldest first: goals, cards, substitutions, period markers and added-time announcements.All plans
  5. GETStatistics/v2/fixtures/{id}/statisticsTeam statistics for the match, organised by period and by category.All plans
  6. GETHead to head/v2/fixtures/{id}/h2hThe two teams’ head-to-head record as tallied by the source, seen from this fixture’s home / away point of view.All plans
  7. GETStandings/v2/leagues/{id}/standingsLeague tables for a single season.All plans
  8. GETTeam/v2/teams/{id}Returns a team’s profile — sport, country, venue, colours, logo, gender, whether it is a club or a national team, kind (team / individual / pair), manager and founding date (foundedOn, pres…All plans
  9. GETLeague/v2/leagues/{id}Returns a league’s profile: its tier (where it sits in the national pyramid), gender, the reigning champion with its title count, the clubs holding the most titles, the divisions directly a…All plans
  10. GETSearch/v2/searchA single search over teams (individual competitors included), players, managers, referees, leagues, fixtures, venues, racing series and races.All plans

What comes back

Point by point, as served

Sets, then games with server and winner, then the points inside each game, each with how it was won.

GET/v2/fixtures/{id}/pointsPro + Business

Sample from the docs, trimmed with …

GET /v2/fixtures/{id}/points
{ "data": { "format": "tennis", "innings": [],
    "sets": [ { "period": "period1", "homeScore": 6, "awayScore": 4, "points": [],
      "games": [ { "number": 1, "server": "home", "winner": "home", "homeGames": 1, "awayGames": 0,
                   "points": [ { "homeScore": "15", "awayScore": "0", "winner": "home", "description": "ace",
                                 "homeType": "won", "awayType": "none" }, … ] }, … ] }, … ], "atBats": [] } }

Tennis is one query string away.

Swap ?sport=tennis for any other fixture sport and the same code keeps working. Free key, no card.