Tennis Matches, Odds & H2H Analytics avatar

Tennis Matches, Odds & H2H Analytics

Pricing

$3.00 / 1,000 matches

Go to Apify Store
Tennis Matches, Odds & H2H Analytics

Tennis Matches, Odds & H2H Analytics

All tennis matches for any date with pre-match analytics: betting odds, head-to-head, last meetings, player form, surface record, rankings and seeds. ATP, WTA, Challenger, ITF. Data from SofaScore.

Pricing

$3.00 / 1,000 matches

Rating

0.0

(0)

Developer

Rishi Deva

Rishi Deva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Categories

Security

Limited permissions

Share

🎾 Tennis Matches, Odds & H2H Analytics

Get all tennis matches for any date with pre-match analytics in one run: betting odds, head-to-head record, last meetings, player form, results on the same surface, rankings and seeds. Data comes from SofaScore and covers ATP, WTA, Challenger, ITF, UTR and more.

No coding, no API keys, no browser automation. Pick a date and get a clean, ready-to-use dataset.

Why this Actor

Most tennis scrapers give you only a list of matches. To analyze a match you then need several more tools. This Actor does it in one step:

  • 📅 Daily schedule for any date, sorted by importance (Grand Slams and Masters first)
  • 💰 Pre-match odds (decimal) for both players
  • ⚔️ Head-to-head: wins of each player and the last 10 meetings with date, tournament and surface
  • 📈 Player form: last N results (e.g. WWLWW) and wins/losses on the match surface
  • 🏆 Rankings, seeds, round, surface, score and winner for finished matches
  • 📊 Match statistics (aces, double faults, serve %) for finished matches, optional
  • 🔁 Reliable: automatic retries and proxy rotation

Use cases

  • Sports betting research and value-bet models
  • Tennis analytics and machine learning datasets
  • Daily previews for tennis websites, Telegram channels and newsletters
  • AI agents that need structured tennis data
  • Scheduled daily runs to build your own historical database

Input

FieldDescriptionDefault
dateMatch date YYYY-MM-DD (UTC). Empty = todaytoday
categoriesFilter, e.g. ATP, WTA, Challenger, ITF. Empty = allATP, WTA
maxMatchesMaximum number of matches50
includeDoublesAlso return doubles matchesfalse
includeOddsAdd betting oddstrue
includeH2HAdd head-to-head datatrue
includeFormAdd recent form of both playerstrue
formMatchesHow many recent matches to use for form10
includeStatisticsAdd statistics for finished matchesfalse

Example input:

{
"date": "2026-11-03",
"categories": ["ATP", "WTA"],
"maxMatches": 50
}

Output

One item per match. Real example from a run:

{
"startTimeUtc": "2026-11-03T10:00:00+00:00",
"category": "ATP",
"tournament": "Paris, France",
"round": "Round of 64",
"surface": "Hardcourt indoor",
"status": "notstarted",
"player1": "Andrey Rublev",
"player1Ranking": 22,
"player2": "Tomas Martin Etcheverry",
"player2Ranking": 31,
"odds": {
"player1": 1.4,
"player2": 3
},
"h2hPlayer1Wins": 1,
"h2hPlayer2Wins": 1,
"h2hMatches": [
{
"date": "2025-06-19",
"tournament": "Halle, Germany",
"surface": "Grass",
"winner": "player2"
},
{
"date": "2024-08-08",
"tournament": "Montreal, Canada",
"surface": "Hardcourt outdoor",
"winner": "player1"
}
],
"formPlayer1": {
"last": "LLLLWWWLWW",
"wins": 5,
"losses": 5,
"surfaceWins": 0,
"surfaceLosses": 2
},
"formPlayer2": {
"last": "LWWLLLWWLW",
"wins": 5,
"losses": 5,
"surfaceWins": 3,
"surfaceLosses": 4
},
"url": "https://www.sofascore.com/tennis/match/tomas-martin-etcheverry-andrey-rublev/fKRsWOrb#id:17449521"
}

Export to JSON, CSV, Excel or connect via API, Make, Zapier, n8n or any AI agent.

Pricing

You pay only for matches you receive (pay per result). Use maxMatches and categories to control the cost.

Tips

  • Run it every morning with Schedules to get the day's previews automatically.
  • For upcoming matches the form and H2H show the situation before the match. For finished matches, the current match is excluded from H2H.
  • formPlayer.last starts with the most recent match.

FAQ

Is it legal? The Actor collects publicly available sports data. You are responsible for using it in line with applicable laws and the source's terms.

Is this an official SofaScore API? No. This Actor is not affiliated with SofaScore.

Something broke? Open an issue on the Issues tab and it will be fixed quickly.