Tennis data reference
Generated from GET /v2/sports/4. Not hand-maintained - if the API adds a status or renames a statistic, this page follows on the next build.
- Sport id
- 4
- Participants
- 2
- Match clock
- no
- Incident positions
- no
Statuses 20
Every value event.status_id can take for this sport. Map onto this list rather than parsing status_type: ids are stable, labels are localized, and postponed matches keep status_type: scheduled.
| id | Name | Short | Type | Notes |
|---|---|---|---|---|
| 1 | Not started | Sched. | scheduled | clock stoppedset by incident 427 |
| 6 | Start delayed | Delay. | scheduled | clock stoppedset by incident 438 |
| 149 | Delayed by rain | Delayed | scheduled | |
| 5 | Postponed | Post. | scheduled | clock stoppedset by incident 440TRAP: status_type is scheduled, exactly like a normal upcoming match. A postponed match is indistinguishable from a scheduled one unless you look at status_id. Never branch only on status_type. |
| 134 | 1st set | 1st set | live | clock running |
| 155 | Break after 1st set | 1st set break | live | breakclock stopped |
| 65 | 2nd set | 2nd set | live | clock running |
| 156 | Break after 2nd set | 2nd set break | live | breakclock stopped |
| 135 | 3rd set | 3rd set | live | clock running |
| 157 | Break after 3rd set | 3rd set break | live | breakclock stopped |
| 136 | 4th set | 4th set | live | clock running |
| 158 | Break after 4th set | 4th set break | live | breakclock stopped |
| 137 | 5th set | 5th set | live | clock running |
| 2 | Interrupted | Interr. | interrupted | clock stoppedset by incident 441Play stopped and may resume. Incident 1001 (Match resumed) brings it back. Distinct from Abandoned (7), which may never resume. |
| 7 | Abandoned | Abd. | interrupted | clock stoppedset by incident 442Play stopped and may never resume. Same status_type as Interrupted (2), so tell them apart by status_id. |
| 11 | Finished | Fin. | finished | clock stoppedset by incident 437One of FIVE terminal statuses (11, 12, 13, 14, 140). Treat every status_type: finished as terminal - checking for 11 alone misses matches decided in extra time, on penalties or in overtime. |
| 12 | Finished awarded win | AW | finished | clock stoppedset by incident 436Walkover: the result was awarded, not played out. Statistics and the timeline may be empty or not reflect play. |
| 76 | Retired | Ret. | finished | |
| 3 | Cancelled | Canc. | cancelled | clock stoppedset by incident 439 |
| 152 | To finish | To fin. | scheduled | clock stoppedset by incident 451TRAP: status_type is scheduled, but the match already started and was stopped - it is waiting to be finished on another date. Do not present it as an upcoming fixture. |
Results 21
Entries that can appear in participants[].results[], keyed by id. There is no score field - you select the result you need.
| id | Name | Code | Type | Data type |
|---|---|---|---|---|
| 411 | Winner | winner | team | binary |
| 412 | Progress | progress | team | binary |
| 2 | Result | result | team | integer |
| 43 | First set | first_set | team | integer |
| 43 | First set | first_set | person | integer |
| 44 | Second set | second_set | team | integer |
| 44 | Second set | second_set | person | integer |
| 45 | Third set | third_set | team | integer |
| 45 | Third set | third_set | person | integer |
| 46 | Fourth set | fourth_set | team | integer |
| 46 | Fourth set | fourth_set | person | integer |
| 47 | Fifth set | fifth_set | team | integer |
| 47 | Fifth set | fifth_set | person | integer |
| 115 | Current game points | current_game_points | team | integer |
| 627 | Supertiebreak points | supertiebreak_points | team | integer |
| 627 | Supertiebreak points | supertiebreak_points | person | integer |
| 116 | First set tiebreak points | tie_break_1st_set_pts | team | integer |
| 117 | Second set tiebreak points | tie_break_2nd_set_pts | team | integer |
| 118 | Third set tiebreak points | tie_break_3rd_set_pts | team | integer |
| 119 | Fourth set tiebreak points | tie_break_4th_set_pts | team | integer |
| 120 | Fifth set tiebreak points | tie_break_5th_set_pts | team | integer |
Event details 13
Per-match metadata in the event's details, with the input type and allowed values.
| id | Name | Code | Input | Data type |
|---|---|---|---|---|
| 6 | Surface | surface | select | - |
| 7 | Sets number | sets_number | select | - |
| 54 | Will there be deuces? | will_there_be_deuces | select | - |
| 55 | Will there be advantage set? | will_there_be_advantage_set | select | - |
| 166 | Possible supertiebreak | possible_supertiebreak | select | - |
| 57 | IPTL Format? | iptl_format | select | - |
| 8 | Weather conditions | weather_condition_id | select | - |
| 1 | First set start date | first_set_start_date | datetime | - |
| 2 | Second set start date | second_set_start_date | datetime | - |
| 3 | Third set start date | third_set_start_date | datetime | - |
| 4 | Fourth set start date | fourth_set_start_date | datetime | - |
| 5 | Fifth set start date | fifth_set_start_date | datetime | - |
| 167 | Super tiebreak start date | super_tiebreak_start_date | datetime | - |
Incidents 108
Incident types that can appear in this sport's events_incidents. category: emergency marks operational notices, not match events - never render them on a timeline.
| id | Name | Code | Type | Trader | Category | Notes |
|---|---|---|---|---|---|---|
| 239 | In progress | in-progress | event | no | standard | |
| 2846 | The match will not be covered | the-match-will-not-be-covered | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will not be covered at all. The attribute gives the reason. Nothing further will arrive.Other: Scout's technical issues, Change of venue, Change of match date, Problems with TV transmission source |
| 224 | Not started | not-started | event | yes | standard | |
| 2847 | Problems with the source of the broadcast | problems-with-the-source-of-the-broadcas | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The broadcast source has a problem. Paired with 2848 when it is solved. |
| 2738 | Match about to start | match-about-to-start | event | yes | standard | |
| 2848 | Problem with the source of the broadcast has been solved | problem-with-the-source-of-the-broadcast | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The broadcast source problem is solved. |
| 237 | Start delayed | start-delayed | event | yes | standard | |
| 2849 | Change of coverage from venue to TV | change-of-coverage-from-venue-to-tv | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. Before kick-off (group: prematch): moved from venue to TV. |
| 90 | Delayed by rain | delayed-by-rain | event | yes | standard | |
| 2850 | Change of coverage from TV to venue | change-of-coverage-from-tv-to-venue | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. Before kick-off (group: prematch): moved from TV to venue. |
| 2215 | Warm-up | warm-up | event | no | standard | |
| 2851 | Change of coverage latency | change-of-coverage-latency | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. Latency of the coverage changed. Relevant if you gate markets on feed delay.Other: from 3-6 to 7-15, from 7-15 to 3-6 |
| 228 | 1st set started | 1st-set-started | event | yes | standard | |
| 2852 | Scouting coverage can start with a delay of | scouting-coverage-can-start-with-a-delay | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Scouting coverage will start late. The attribute gives the size (under 3, 3-5 or 5-10 minutes).Other: < 3min, 3-5 min, 5-10 min |
| 229 | 2nd set started | 2nd-set-started | event | yes | standard | |
| 2853 | Expected delay in the start of the match | expected-delay-in-the-start-of-the-match | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will start late. The attribute gives the reason - a team arriving late, problems in the stands and so on.Other: Delayed arrival of a team, Problems in the stands, Referee problems, Infrastructure problems, Weather conditions |
| 2854 | Team line-ups will not be available | team-line-ups-will-not-be-available | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Line-ups will not be available for this match. Do not wait for lineups[] to fill. |
| 230 | 3rd set started | 3rd-set-started | event | yes | standard | |
| 2855 | Source of the coverage is delayed | source-of-the-coverage-is-delayed | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The coverage source is delayed. The attribute gives the size of the delay (about 5 to 20 seconds).Other: ~5sec, ~10sec, ~15sec, ~20sec, ~25sec, ~30sec, >30sec |
| 248 | 4th set started | 4th-set-started | event | yes | standard | |
| 2856 | The current part of the game has started with a delay | the-current-part-of-the-game-has-started | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The current period started late. |
| 231 | 5th set started | 5th-set-started | event | yes | standard | |
| 2857 | Verification of result in progress | verification-of-result-in-progress | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it. |
| 2210 | Break after | break-after | event | yes | standard | |
| 2858 | Verification of result completed and correct | verification-of-result-completed-and-cor | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of the result finished. Values are confirmed. |
| 2211 | Break after 1st set | break-after-1st-set | event | yes | standard | |
| 2859 | Verification of key statistics is in progress | verification-of-key-statistics-is-in-pro | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it. |
| 2212 | Break after 2nd set | break-after-2nd-set | event | yes | standard | |
| 2860 | Verification of key statistics completed and correct | verification-of-key-statistics-completed | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of key statistics finished. Values are confirmed. |
| 2213 | Break after 3rd set | break-after-3rd-set | event | yes | standard | |
| 2861 | Verification of game clock is in progress | verification-of-game-clock-is-in-progres | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it. |
| 2214 | Break after 4th set | break-after-4th-set | event | yes | standard | |
| 2862 | Verification of game clock completed and correct | verification-of-game-clock-completed-and | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of the game clock finished. Values are confirmed. |
| 212 | Tie break | tie-break | event | yes | standard | |
| 2863 | Match coverage interrupted due to technical issues | match-coverage-interrupted-due-to-techni | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage stopped because of technical issues. 2864 or 2865 says whether it comes back. |
| 2201 | 1st set tiebreak | 1st-set-tiebreak | event | yes | standard | |
| 2864 | Match coverage will continue | match-coverage-will-continue | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage will continue after the interruption. |
| 2202 | 2nd set tiebreak | 2nd-set-tiebreak | event | yes | standard | |
| 2865 | Match coverage will not continue | match-coverage-will-not-continue | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage will NOT continue. Expect no further incidents for this match. |
| 2203 | 3rd set tiebreak | 3rd-set-tiebreak | event | yes | standard | |
| 2866 | The match is abandoned | the-match-is-abandoned | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match was abandoned. The attribute gives the reason.Other: Problems in the stands, Referee problems, Infrastructure problems, Serious player injury, Weather conditions |
| 2204 | 4th set tiebreak | 4th-set-tiebreak | event | yes | standard | |
| 2867 | Waiting for official decision regarding match resumption | waiting-for-official-decision-regarding- | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Waiting for an official decision on whether the match resumes. 2868 or 2869 follows. |
| 2205 | 5th set tiebreak | 5th-set-tiebreak | event | yes | standard | |
| 2868 | Match will resume shortly | match-will-resume-shortly | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match resumes shortly. |
| 2209 | Super tiebreak started | super-tiebreak-started | event | yes | standard | |
| 2869 | Match will not resume | match-will-not-resume | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will not resume. |
| 2870 | Expected delay in the start of the next part of the game | expected-delay-in-the-start-of-the-next- | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The next period will start late. The attribute gives the reason.Other: Problems in the stands, Referee problems, Infrastructure problems, Weather conditions |
| 2871 | Change of coverage from venue to TV | change-of-coverage-from-venue-to-tv-live | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. During play (group: live): moved from venue to TV. |
| 2872 | Change of coverage from TV to venue | change-of-coverage-from-tv-to-venue-live | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. It tells you the coverage SOURCE changed, which usually changes latency and can change how complete the statistics are. Never render it on a timeline. During play (group: live): moved from TV to venue. |
| 2873 | Change of coverage latency | change-of-coverage-latency-live | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Coverage latency changed. The attribute gives the direction, for example from 3-6 to 7-15 seconds. Relevant if you gate markets on feed delay.Other: from 3-6 to 7-15, from 7-15 to 3-6 |
| 233 | Finished regular time | finished-regular-time | event | yes | standard | |
| 2874 | Expected delay in the start of the match - safety reasons | expected-delay-in-the-start-of-the-match | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The match will start late for safety reasons. |
| 232 | Finished awarded win | finished-awarded-win | event | yes | standard | |
| 2875 | Verification of key statistics is in progress | verification-of-key-statistics-is-in-pro | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it. |
| 332 | Retired | retired | event | yes | standard | |
| 2876 | Verification of key statistics completed and correct | verification-of-key-statistics-completed | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of key statistics, after the match finished. Values are confirmed. |
| 236 | Interrupted | interrupted | event | yes | standard | |
| 2877 | Verification of player names for key incidents in progress | verification-of-names-for-key-incidents- | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it. |
| 235 | Postponed | postponed | event | yes | standard | |
| 2878 | Verification of player names for key incidents completed and correct | verification-of-names-for-key-incidents- | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of player names on key incidents finished. Values are confirmed. |
| 238 | Abandoned | abandoned | event | yes | standard | |
| 2879 | Verification of result is in progress | verification-of-result-is-in-progress | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it. |
| 234 | Cancelled | cancelled | event | yes | standard | |
| 2880 | Verification of result completed and correct | verification-of-result-completed-and-cor | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. Verification of the result, after the match finished. Values are confirmed. |
| 92 | To finish | to-finish | event | yes | standard | |
| 2881 | Problems with the low latency source of the coverage | problems-with-the-low-latency-source-of- | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The low-latency source has a problem. Paired with 2882. |
| 2882 | Problems with the low latency source of coverage has been solved | problems-with-the-low-latency-source-of- | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. The low-latency source problem is solved. |
| 2883 | Player name verification is in progress - substitution | player-name-verification-is-in-progress- | event | yes | emergency | emergencyOperational notice, not a match event - category: emergency. Never render it on a timeline. A verification started. Whatever it covers may still change - hold off on caching it. |
| 1000 | Betstart | betstart | event | yes | standard | marketBetting markets may be activated. Other: Master |
| 1010 | Betstop | betstop | event | yes | standard | marketAll betting markets are closed: a goal, penalty or red card looks likely, or the situation on the pitch is unclear. Other: Master |
| 1001 | Match resumed | match-resumed | event | yes | standard | informingUsed when an interrupted match resumes. |
| 287 | Game break | game-break | event | yes | standard | |
| 216 | Player change side | player-change-side | event | no | standard | |
| 2208 | New balls | new-balls | event | no | standard | |
| 2206 | Technical break | technical-break | event | no | standard | |
| 2207 | Roof closing | roof-closing | event | no | standard | |
| 1200 | Technical problems | technical-problems | event | yes | standard | marketTechnical problems during coverage. Closes all match markets automatically. |
| 249 | 0 | 0 | team | yes | standard | |
| 240 | 15 | 15 | team | yes | standard | |
| 241 | 30 | 30 | team | yes | standard | |
| 242 | 40 | 40 | team | yes | standard | |
| 243 | A | a | team | yes | standard | |
| 204 | First service | first-service | team | yes | standard | |
| 244 | First service in | first-service-in | team | yes | standard | |
| 205 | Service fault | service-fault | team | yes | standard | |
| 206 | Net - first service | net-first-service | team | yes | standard | |
| 207 | Second service | second-service | team | no | standard | |
| 208 | Double fault | double-fault | team | yes | standard | |
| 209 | Net - second service | net-second-service | team | no | standard | |
| 210 | Service ace | service-ace | team | yes | standard | |
| 211 | Replay point | replay-point | team | yes | standard | |
| 213 | Point tie break | point-tie-break | team | no | standard | |
| 214 | Game Won | game-won | team | yes | standard | |
| 215 | Set won | set-won | team | yes | standard | |
| 2216 | Set ball | set-ball | team | no | standard | |
| 2217 | Match ball | match-ball | team | yes | standard | |
| 218 | Challenge | challenge | team | yes | standard | |
| 221 | Challenge correct | challenge-correct | team | yes | standard | |
| 331 | Challenge incorrect | challenge-incorrect | team | yes | standard | |
| 222 | Medical timeout | medical-timeout | team | yes | standard | |
| 2251 | Warning | warning | team | no | standard | |
| 2252 | Penalty point | penalty-point | team | yes | standard | |
| 2253 | Foot fault | foot-fault | team | yes | standard | |
| 2254 | Racket destruction | racket-destruction | team | no | standard | |
| 2255 | Coach consultation | coach-consultation | team | no | standard | |
| 2256 | Service side | service-side | team | yes | standard | |
| 2737 | Player retired | player-retired | team | yes | standard |
Standings types 10
Values for type_name on /v2/standings. Pick the one you need and match its columns by code, not by position.
| id | Name |
|---|---|
| 215 | ATP Doubles |
| 254 | ATP Race |
| 104 | ATP ranking |
| 21 | Form table |
| 99 | League standings |
| 38 | Most popular results |
| 46 | Streaks |
| 223 | Test standing type |
| 216 | WTA Doubles |
| 105 | WTA ranking |
Statistics 56
Split into team statistics (in participants[].stats) and person statistics (in sub_participants[].stats). Match by code, not by position.
Team 28
| id | Name | Code | Data type |
|---|---|---|---|
| 48 | Aces | service_aces | integer |
| 106 | Double faults | double_faults | integer |
| 105 | Service faults | service_faults | integer |
| 111 | 1st services in | first_services_in | integer |
| 130 | 1st serve in % | first_services_in_percentage | integer |
| 126 | First service points | first_service_points | integer |
| 112 | 1st services attempts | first_services_attempts | integer |
| 129 | 1st serve % | first_services_percentage | integer |
| 127 | Second service points | second_service_points | integer |
| 131 | 2nd services attempts | second_services_attempts | integer |
| 132 | 2nd serve % | second_services_percentage | integer |
| 107 | Break points won | break_pts_won | integer |
| 114 | Break points | break_pts | integer |
| 113 | Break points won percentage | break_pts_won_percentage | integer |
| 75 | Points | points | integer |
| 109 | Challenges | challenges | integer |
| 110 | Challenges correct | challenges_correct | integer |
| 416 | Challenges incorrect | challenges_incorrect | integer |
| 403 | Is server side | service | binary_text |
| 628 | Current service number | service_nr | select |
| 629 | Current service court side | court_side | select |
| 1680 | Break points saved | break_pts_saved | integer |
| 1681 | Service games | service_games | integer |
| 1682 | 1st return points won | first_return_points_won | integer |
| 1683 | 2nd return points won | second_return_points_won | integer |
| 1684 | Service points won (%) | service_points_won_pct | decimal |
| 1685 | Return points won (%) | return_points_won_pct | decimal |
| 1686 | Total points won (%) | total_points_won_pct | decimal |
Person 28
| id | Name | Code | Data type |
|---|---|---|---|
| 48 | Aces | service_aces | integer |
| 106 | Double faults | double_faults | integer |
| 105 | Service faults | service_faults | integer |
| 111 | 1st services in | first_services_in | integer |
| 130 | 1st serve in % | first_services_in_percentage | integer |
| 126 | First service points | first_service_points | integer |
| 112 | 1st services attempts | first_services_attempts | integer |
| 129 | 1st serve % | first_services_percentage | integer |
| 127 | Second service points | second_service_points | integer |
| 131 | 2nd services attempts | second_services_attempts | integer |
| 132 | 2nd serve % | second_services_percentage | integer |
| 107 | Break points won | break_pts_won | integer |
| 114 | Break points | break_pts | integer |
| 113 | Break points won percentage | break_pts_won_percentage | integer |
| 75 | Points | points | integer |
| 109 | Challenges | challenges | integer |
| 110 | Challenges correct | challenges_correct | integer |
| 416 | Challenges incorrect | challenges_incorrect | integer |
| 403 | Is server side | service | binary_text |
| 628 | Current service number | service_nr | select |
| 629 | Current service court side | court_side | select |
| 1680 | Break points saved | break_pts_saved | integer |
| 1681 | Service games | service_games | integer |
| 1682 | 1st return points won | first_return_points_won | integer |
| 1683 | 2nd return points won | second_return_points_won | integer |
| 1684 | Service points won (%) | service_points_won_pct | decimal |
| 1685 | Return points won (%) | return_points_won_pct | decimal |
| 1686 | Total points won (%) | total_points_won_pct | decimal |