Tennis Scraper - ATP, WTA, ITF Live Scores, Results, H2H
Pricing
$1.20 / 1,000 match rows
Tennis Scraper - ATP, WTA, ITF Live Scores, Results, H2H
Tennis scraper for ATP, WTA, Challenger and ITF: one day feed returned 549 matches from 80 tournaments in a single request. Live scores, set scores, tiebreaks, surface, singles or doubles, head-to-head and odds. 15-day window, no browser, no proxy, no API key.
Pricing
$1.20 / 1,000 match rows
Rating
0.0
(0)
Developer
Snow Leo Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Tennis Scraper: ATP, WTA, Challenger and ITF Live Scores, Results, H2H
Scrape tennis matches without a browser, a proxy or an API key. One request returns a whole day of tennis: on 21 October 2026 a single day feed carried 549 matches from 80 tournaments (ATP, WTA, Challenger, ITF men, ITF women, singles and doubles). The window is 15 days: seven days back, today and seven days ahead.
Every row is one match. You pay per match row that reaches your dataset. There is no start fee and no per-request fee.
What one run returns
- Who and when: both sides (players or doubles pairs), country of each
side, start time in UTC, status (
scheduled,live,finished), link to the match. - Score: sets won by each side, the score of every set in
period_scores, and the tiebreak score of every set that went to one intiebreaks. Awinner_namecolumn saves you the lookup. - Tournament, parsed for you:
tour(atp, wta, challenger, itf-men, itf-women, teams, exhibition),gender,match_type(singles or doubles),event_name,event_country,prize_level(M15, M25, W35, W100 and so on),surface(hard, clay, grass, carpet),indoorandqualification. - Optional extras that you switch on: head-to-head history of both sides
per match (
includeHeadToHead), bookmaker odds (includeOdds) and the raw feed keys (includeRawFields).
Example row, shortened:
{"event_id": "zHfvs0hR","tour": "atp","match_type": "singles","event_name": "Almaty","event_country": "Kazakhstan","surface": "hard","indoor": true,"home_name": "Bellucci M.","away_name": "Etcheverry T. M.","status": "finished","home_score": 2,"away_score": 1,"period_scores": [{"period": "1", "home": 7, "away": 6}, {"period": "2", "home": 2, "away": 6}, {"period": "3", "home": 6, "away": 4}],"tiebreaks": [{"period": "1", "home": 7, "away": 5}],"winner_name": "Bellucci M."}
Input
| Field | What it does |
|---|---|
dayOffsets | Days relative to today. 0 today, -1 yesterday, 3 in three days. Allowed from -7 to +7. |
tours | atp, wta, challenger, itf-men, itf-women. Empty means everything on the feed. |
matchTypes | singles, doubles, or both. |
surfaces | hard, clay, grass, carpet. |
matchStatuses | scheduled, live, finished. |
tournamentContains | Words that must appear in the tournament line, for example Almaty or Wimbledon. |
playerContains | Words that must appear in either side, for example Sinner. Doubles match on either partner. |
includeHeadToHead, includeOdds, includeRawFields | Extra data, off by default. |
onlyChanged | Incremental mode: only matches that are new or changed since the previous run with the same monitorStoreName. |
compactOutput | Drops empty columns, handy for AI agents and narrow CSV files. |
maxItems | Caps rows delivered, not rows scanned. Filtered rows are never charged. |
A schedule with onlyChanged and matchStatuses: ["live"] gives you a live
score feed that pays only for matches whose score moved.
Typical uses
- Live score widgets and Telegram bots: run every few minutes in incremental mode.
- Betting models and analytics: daily finished results with set scores, tiebreaks, surface and head-to-head history for training data.
- Fantasy and media sites: the day's schedule per tournament or per player.
- AI agents:
compactOutputplusmaxItemskeeps answers short and cheap.
Honest limits
- The source serves only a window of -7 to +7 days. Older results are not available here.
- Player names come as the source writes them (
Sinner J.). Rankings, point by point statistics and player profiles are not part of this Actor. - Odds appear only for matches the source has odds for.
- Tennis feeds are quiet outside the season: an empty run names the reason in
the log and in the
REPORTrecord instead of failing silently.
Price
Pay per event: one match row delivered. Rows removed by your filters, rows that are duplicates inside one run and, in incremental mode, rows already delivered are not charged. There is no start fee. A full day of tennis, about 550 rows, costs well under a dollar.
Related Actors
Need football, basketball, hockey and the other 28 sports from the same source? Use the Flashscore Scraper from the same publisher.