TennisExplorer Results, Odds, Match Stats & Players Scraper avatar

TennisExplorer Results, Odds, Match Stats & Players Scraper

Pricing

from $0.85 / 1,000 results

Go to Apify Store
TennisExplorer Results, Odds, Match Stats & Players Scraper

TennisExplorer Results, Odds, Match Stats & Players Scraper

ATP, WTA, Challenger and ITF match results with set scores and tiebreaks, bookmaker odds per match (winner, over/under, handicap, correct score; opening and closing), player profiles, and SofaScore serve/return match statistics with point-by-point.

Pricing

from $0.85 / 1,000 results

Rating

0.0

(0)

Developer

Artsiom Kunitsyn

Artsiom Kunitsyn

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Tennis results, bookmaker odds and player profiles from TennisExplorer, plus match statistics and point-by-point from SofaScore, for betting models, research and fantasy tools. ATP, WTA, Challenger, WTA 125, UTR and ITF, singles and doubles, day by day back to the 1990s.

What you get

entityType: "matches" (default): one row per finished match

FieldExample
date, time_cet, tour2025-06-20, 17:05, atp-single
tournament, tournament_level, tournament_countryHalle, tour, DE
winner, winner_seed, loser, loser_seedKhachanov K., 8, Etcheverry T.
score, winner_sets, loser_sets7-6(2), 6-3, 2, 0
sets (per set: games and tiebreak points)[{"winner_games": 7, "loser_games": 6, "tiebreak_loser": 2}, ...]
winner_odds_avg, loser_odds_avg (average closing odds)1.36, 3.12

Turn on Include match details to add the round, the surface, and both players' ranking at the time, birthdate, height, weight and playing hand.

entityType: "odds": one row per match, bookmaker and market

Markets: match winner, over/under (sets and games), Asian handicap and correct score, from up to ~20 bookmakers (bet365, Pinnacle, Betfair, 1xBet, Unibet, William Hill and more). Each row has the opening odds and their time, the closing odds, and when the line last moved.

FieldExample
player1, player2 (winner first), market, lineKhachanov K., Etcheverry T., asian_handicap, -1.5
bookmaker1xBet
selection1_opening_odds → selection1_odds1.35 → 1.38
selection2_opening_odds → selection2_odds3.27 → 3.12
selection1_opening_time, selection1_last_change2025-06-19T19:00, 2025-06-20T16:21

entityType: "players": player profiles from the ATP/WTA rankings

Name, country, birthdate, height, weight, playing hand, current and highest singles and doubles ranking, ranking points.

entityType: "matchStats": match statistics and point-by-point (from SofaScore)

One row per finished match, with both players' serve and return statistics for the whole match, the same statistics per set (statistics_by_set), and the point-by-point record (point_by_point).

FieldExample
date, start_time_utc, tournament, category, round, surface2026-10-10, 2026-10-10T12:45+00:00, Shanghai, ATP, Round of 64, Hardcourt outdoor
player1, player2, player1_country, player1_seedSebastián Báez, Valentin Vacherot, ARG, null (unseeded)
winner, score, sets, statusValentin Vacherot, 4-6, 6-7(5), per set games and tiebreak points, Ended / Retired / Walkover
player1_aces, player1_double_faults5, 0
player1_first_serve_in / _total52 / 68
player1_first_serve_points_won / _total, player1_second_serve_points_won / _total34 / 52, 11 / 16
player1_break_points_saved / _total, player1_break_points_converted1 / 3, 1
player1_service_games_played, player1_service_games_won, player1_return_games_played11, 9, 11
player1_first_serve_return_points_won / _total, player1_second_serve_return_points_won / _total7 / 42, 8 / 22
player1_points_total, player1_service_points_won, player1_return_points_won, player1_games_won60, 45, 15, 10
player1_max_points_in_row, player1_max_games_in_row, player1_tiebreaks_won6, 2, 0

Every player1_ column has a player2_ twin. point_by_point has one entry per game: set, game, who served, who won it, whether it was a break or a tiebreak, the games score after it, and the running point score with each point's winner and ace / double fault flags.

Two ways to choose matches:

  • By day (the default: yesterday and today), from 2026-01-01 on. SofaScore's robots.txt disallows its date pages for earlier seasons, so a date range before 2026 returns nothing.
  • By player: put SofaScore player URLs or ids in SofaScore players (e.g. https://www.sofascore.com/tennis/player/sinner-jannik/206570) for their full match history, back to about 2016. Add dates to narrow it down.

Statistics and point-by-point exist for ATP, WTA (Grand Slams included), WTA 125, Challenger and most UTR matches. ITF matches come with the score only.

Input

FieldDefaultUsed byWhat it does
entityTypematchesmatches, odds, players or matchStats.
toursATP and WTA singlesallATP/WTA singles and doubles. Each tour includes its Challenger, WTA 125, UTR and ITF events.
dateFrom, dateToyesterday and todaymatches, odds, matchStatsDay range. matchStats lists days from 2026-01-01 on.
levelsallmatches, odds, matchStatstour, challenger, itf, utr, team.
tournamentsallmatches, odds, matchStatsKeep tournaments whose name contains one of these words.
playersallmatches, oddsTennisExplorer player slugs or URLs.
includeMatchDetailsoffmatchesRound, surface and both players' rank, birthdate, height, weight and hand (one extra page per match).
marketswinner, over/under, handicapoddsWhich bookmaker markets to return; add correct score if needed.
sofascorePlayersnonematchStatsSofaScore player URLs or ids: their match history instead of a day range.
includePointByPointonmatchStatsAdd the point-by-point record. Off = statistics only.
maxItems50allRow cap. Clear it for everything in range.
modeautomatches, matchStatsDaily schedules with Max results cleared return only matches not returned before.
concurrency10allPages (or SofaScore requests) fetched in parallel.
impersonatechromeallBrowser fingerprint. Change only if requests start failing.
proxyConfigurationoffmatches, odds, playersTennisExplorer needs no proxy.
sofascoreProxyConfigurationApify Proxy (datacenter)matchStatsSofaScore blocks most IPs; the Actor finds proxy IPs that work and reuses them. Proxy traffic is included in the price.

How to use it

  • Yesterday's and today's results (the default): just run it.
  • A whole season: dateFrom: 2024-01-01, dateTo: 2024-12-31, clear Max results.
  • Only the main tours: Levels = ATP / WTA tour. Only Grand Slams: Tournament names = Wimbledon, Roland Garros, US Open, Australian Open.
  • One player's matches: Players = sinner-8b8e8 (the slug from their TennisExplorer URL).
  • Closing and opening odds for backtesting: entityType: "odds", pick the markets you need.
  • Serve/return stats for yesterday's matches: entityType: "matchStats", Levels = ATP / WTA tour and Challenger.
  • A player's career stats: entityType: "matchStats", SofaScore players = their SofaScore URL, clear Max results. Turn off Include point-by-point if you only need the statistics.
  • Daily schedule: run every day with the default dates and Max results cleared; mode: auto returns only matches not returned before (for matches and matchStats).

Good to know

  • Times are Central European time, as on the site.
  • Results pages list finished matches; a match still being played appears once it's over.
  • Average odds exist for most main-tour matches; small ITF matches often have none.
  • Bookmaker coverage varies by match: big matches have ~20 books, small ones a handful or none.
  • The odds rows carry opening and closing odds, not every move in between.
  • matches, odds and players need no proxy. matchStats goes through Apify Proxy, because SofaScore blocks most IPs: the Actor finds proxy IPs that get through and keeps reusing them. Proxy traffic is included in the price.
  • In matchStats, player 1 and player 2 follow SofaScore's order (home/away), not winner first; winner and winner_code say who won.
  • Smarkets Betting Exchange Scraper — betting exchange back and lay odds, matched volume, results and traded-price history.
  • Action Network Scraper — US sportsbook odds, public betting splits, line movement, props, injuries and futures.
  • Sports Odds History Scraper — opening and closing lines per sportsbook since 2021 and ATS results since 2006.
  • Kalshi & Polymarket Scraper — prediction market odds, settled results and price history for sports, politics, economics and crypto.
  • SofaScore Scraper — results, team statistics, lineups with player ratings, incidents and odds for football, basketball, hockey, tennis and 17 more sports.
  • Flashscore Scraper — results, statistics, lineups, incidents and opening/closing odds from ~20 bookmakers for 17 sports.