Skip to content

TennisExplorer Scraper

Try for free

Scrape tennis match results, upcoming matches, betting odds, tournaments and player match history from TennisExplorer. ATP, WTA, Challenger and ITF, singles and doubles. No login needed.

🎾 TennisExplorer Scraper

Get tennis match results, upcoming matches and betting odds from TennisExplorer as clean, structured data. Pick any date range and tour, or paste a tournament, player or match page, and get every match with players, set-by-set scores, tiebreaks, winner and average odds. No login, no browser, and a fraction of the usual price per match.

✨ Why use TennisExplorer Scraper?

  • 📅 Any day or date range — results for one day or up to 366 days per run, or the upcoming schedule for today and the next days.
  • 🎾 Every level — ATP and WTA main tour, Challenger, ITF and UTR events, singles and doubles, with a level field to filter on.
  • 📊 Clean scores — set scores, tiebreak points for both players, sets won, winner, and retirements flagged.
  • 💶 Odds included — average home/away odds on every match; with match details, the current and opening odds of every bookmaker.
  • 🏆 Tournaments and players — paste a tournament page for the full draw's results with rounds, or a player page for a season of matches.
  • ⚡ Fast and light — plain HTTP requests, no browser; a day of ATP and WTA singles takes a few seconds.

🎯 Use cases

  • 📈 Betting models — backtest strategies with results joined to the closing average odds, or bookmaker-level odds with opening prices.
  • 🧮 Rating systems — build Elo or surface-specific ratings from years of ATP, WTA, Challenger and ITF results.
  • 🗓️ Daily schedules — pull tomorrow's matches with odds and head-to-head counts for previews, tipster sites or bots.
  • 📰 Results roundups — feed yesterday's results into newsletters, apps or match reports.
  • 🔎 Scouting — follow lower-level ITF and Challenger players through a season.

🚀 How to use

  1. Choose Results or Upcoming matches.
  2. Set Date from and Date to, or leave them empty for the latest days.
  3. Pick the Tours (ATP or WTA, singles or doubles), or paste TennisExplorer tournament, player or match URLs instead.
  4. Set Maximum matches and, if you want, the filters (level, tournament name, player name) and Include match details.
  5. Click Start and export the dataset as JSON, CSV or Excel, or read it through the API.

📥 Input

FieldWhat it does
matchTyperesults (finished matches) or upcoming (schedule with odds and head-to-head).
dateFrom, dateToDays to scrape, YYYY-MM-DD. Empty: today and yesterday (results) or today and tomorrow (upcoming).
toursatp-single, wta-single, atp-double, wta-double.
startUrlsTournament, player, match, results or schedule pages. Replaces the dates and tours.
maxItemsCap on matches saved.
tournamentLevelsmain, challenger, itf, utr, other.
tournamentNames, playerNamesKeep matches whose tournament or player name contains these words.
includeMatchDetailsRound, surface, full names, rankings, bio, head-to-head and every bookmaker's odds.
timezoneUTC offset for times and day boundaries (default +0).
{
  "matchType": "results",
  "dateFrom": "2026-10-15",
  "dateTo": "2026-10-16",
  "tours": ["atp-single", "wta-single"],
  "tournamentLevels": ["main"],
  "maxItems": 100
}

📤 Output

FieldDescription
matchId, matchUrlMatch id and page.
date, time, startTimeUtc, timezoneWhen the match started.
tournament, tournamentUrl, tournamentCountryEvent and its country code.
tour, gender, matchType, levelATP/WTA, men/women, singles/doubles, main/challenger/itf/utr/other.
round, surfaceOn tournament and player pages, or with match details.
player1, player2, player1Url, player2Url, player1Seed, player2SeedPlayers (on results pages, player 1 is the winner).
statusfinished, retired, walkover, in progress or scheduled.
winner, winnerSide, scoreWinner and score from player 1's side, such as 6-7(4), 6-4, 6-4.
resultPlayer1, resultPlayer2, setsPlayer1, setsPlayer2, setsSets won, games per set, and per-set tiebreak points.
oddsPlayer1, oddsPlayer2Average decimal odds.
h2hPlayer1, h2hPlayer2Head-to-head wins (upcoming matches and match details).
player1FullName … player2Plays, bookmakerOddsWith match details: full names, ranking, birthdate, height, weight, playing hand, and current and opening odds per bookmaker.
{
  "matchId": "3353239",
  "matchUrl": "https://www.tennisexplorer.com/match-detail/?id=3353239",
  "date": "2026-10-20",
  "time": "07:35",
  "startTimeUtc": "2026-10-20T07:35:00Z",
  "timezone": "GMT+0",
  "tournament": "Almaty",
  "tournamentUrl": "https://www.tennisexplorer.com/almaty/2026/atp-men/",
  "tournamentCountry": "KZ",
  "tour": "ATP",
  "gender": "men",
  "matchType": "singles",
  "level": "main",
  "player1": "Shimabukuro S.",
  "player2": "Safiullin R.",
  "status": "finished",
  "winner": "Shimabukuro S.",
  "winnerSide": 1,
  "score": "6-7(4), 6-4, 6-4",
  "resultPlayer1": 2,
  "resultPlayer2": 1,
  "setsPlayer1": [6, 6, 6],
  "setsPlayer2": [7, 4, 4],
  "sets": [
    {"set": 1, "player1": 6, "player2": 7, "tiebreakPlayer1": 4, "tiebreakPlayer2": 7},
    {"set": 2, "player1": 6, "player2": 4, "tiebreakPlayer1": null, "tiebreakPlayer2": null},
    {"set": 3, "player1": 6, "player2": 4, "tiebreakPlayer1": null, "tiebreakPlayer2": null}
  ],
  "oddsPlayer1": 5.44,
  "oddsPlayer2": 1.14
}

💰 Pricing

Pay per match saved:

  • Match: $6.00 per 1,000 matches ($0.006 each).
  • Match with details (when Include match details is on): $9.00 per 1,000 matches ($0.009 each), instead of the basic price.

Examples: 100 results (about one day of ATP and WTA singles) cost $0.60, and 1,000 results cost $6.00 in match fees. Platform usage (compute and proxy traffic) is billed on top and is tiny for this actor: our 20-match test runs used about $0.0004 of usage, because it uses plain HTTP requests on the datacenter proxy. There is no start fee.

❓ FAQ

Is it legal to scrape TennisExplorer? The actor reads public pages that anyone can open without an account. Check the site's terms and your local laws for how you use the data.

Do I need a login or my own proxy? No. The actor works without a login, and the datacenter proxy included with the platform is enough for this site.

How many matches can I get? A busy day has several hundred matches across ATP, WTA, Challenger and ITF singles. Use a date range for history (up to 366 days per run) and Maximum matches to cap the run.

Why is a field empty? The site does not show every field everywhere: odds are missing for many lower-level matches, round and surface come from tournament and player pages or match details, and head-to-head comes from the schedule or match details. Retirements are inferred from an incomplete score.

Which time zone are the times in? UTC by default. Pick another offset in Time zone; startTimeUtc is always in UTC.

Can I schedule it or use the API? Yes. Schedule it daily for yesterday's results or tomorrow's schedule, and read the dataset through the API or webhooks.

⚠️ Limits

  • Point-by-point data and match statistics (aces, double faults) are not on TennisExplorer's match pages and are not included.
  • Retirement is inferred from the score (a winner with fewer sets than needed); walkovers without a score show only on player pages.
  • Odds are the averages the site shows; bookmaker-level odds need Include match details.
  • Player pages return the season shown on the page (add ?annual=2025 to the URL for another year).

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.