Tennis Match Scraper - Scores, Odds, H2H & Form
Pricing
from $5.60 / 1,000 match-intels
Tennis Match Scraper - Scores, Odds, H2H & Form
Tennis match intel with betting context: scores, rankings, form, H2H, odds & point-by-point. ATP/WTA/Challenger/ITF.
Pricing
from $5.60 / 1,000 match-intels
Rating
5.0
(1)
Developer
Team Kamkod
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
πΎ Tennis Match Scraper β Scores, Odds, H2H & Form
Extract complete tennis match context from Flashscore in one call: live/finished scores, set-by-set results, head-to-head history, per-player form (last 20 matches), surface splits (clay/grass/hard) and betting odds β covering ATP, WTA, Challenger & ITF, singles & doubles.
Built for betting analysts, prediction models and pre-match research. Where other tennis
scrapers stop at raw scores, this actor adds the decision layer: who is in form, on which
surface, and what the odds say β all from a single matchId.
Why this actor?
Full betting context in one call β no stitching of separate feeds:
| Feature | Included |
|---|---|
| Scores, sets & fixtures (live/finished/scheduled) | β |
| Head-to-head (H2H) | β |
| Player form (last 20 matches) | β |
| Form by surface (clay/grass/hard) | β optional |
| Betting odds snapshot | β when available |
| Match statistics (winners, aces, breaks) | β |
| Rankings at match time | β |
| Point-by-point log | β live & finished |
| No proxy needed | β |
Two entry points β Match Intel
Every intel block below (H2H, form, odds, stats, rankings, point-by-point) is available two ways:
1. list β find matches, then enrich (filterable)
Returns every match for a date with ids, tournament, players, status and scores.
Set enrich: true to turn each returned match into the full intel report below
(billed as match-intel per match) β one run, no second call needed.
Input example β yesterday's & today's finished ATP matches:
{"mode": "list","dayOffsets": ["-1", "0"],"tours": ["atp"],"matchStatuses": ["finished"]}
One result per match:
{"match_id": "nTLFUd87","match_date": "2026-09-05","event": "US Open (USA), hard","category": "ATP - SINGLES","is_doubles": false,"home_players": ["Shelton B."],"away_players": ["Shapovalov D."],"status": "finished","time": null,"score_home": "3","score_away": "1","match_url": "https://www.flashscore.com/match/tennis/...","player_slugs": [{"slug": "shapovalov-denis", "player_id": "zXddgn9o"},{"slug": "shelton-ben", "player_id": "QNuG0Gzb"}]}
Filters (all optional, combinable):
dayOffsetsβ days relative todate/today, from-3to3. Default["0"].matchStatusesβfinished,live,scheduled. Empty = all.toursβatp,wta,challenger,itf. Empty = all active tours.tournamentsβ case-insensitive name match, e.g.["Wimbledon"].dateβ anchor date (YYYY-MM-DD). Empty = today.maxMatchesβ cap on results.
2. match β full intel by id (no list step)
Takes a matchId (from a list run) and returns the same complete intel package as list + enrich: true β in one call.
Input:
{ "mode": "match", "matchId": "nTLFUd87" }
Output fields:
home_players/away_playersβ names + rankings at match timestatus,score,setsβ score detailstatsβ winners, aces, double faults, break points, serve %venueβ stadium, roundh2h.home_form/h2h.away_formβ last ~20 matches per player (date, tournament, opponent, score, W/L)h2h.head_to_headβ previous meetings between the twoh2h.by_surfaceβ optional ("surfaces": true): form filtered by CLAY / GRASS / HARDoddsβ pre-match & live odds rows (home/away; bookmaker named when the site shows it)
Form entry example:
{"date": "05.09.26","tournament": "USO","home": "Shelton B.","away": "Shapovalov D.","score_home": "3","score_away": "1","result": "W"}
Use cases
- Betting models β pre-match features: form, surface affinity, H2H, odds in one API call
- Pre-match research β "how has the underdog performed on clay vs hard?"
- Daily result digests β schedule
listruns and filter by tour/status - Prediction bots / MCP agents β machine-readable intel, no HTML parsing
Pricing
Pay-per-event β you pay only for what you use:
match-listedβ $0.001 per listed match (modelist, scores/sets/tournament context)match-intelβ $0.007 per full match report (modelist+enrich:true, or modematch): form (last 20), H2H, odds, rankings, stats, venue, point-by-point
Failed runs are not charged. No proxy cost, no subscription.
Notes & limitations
- Data source: Flashscore public pages. Unofficial actor, not affiliated with Flashscore.
- Live odds appear when Flashscore publishes them (pre-match and in-play snapshots).
- Per-surface form and in-depth H2H exist for matches where Flashscore provides the tab.
- Historical depth: matches reachable within the Flashscore day navigation window (Β±3 days
for lists; match pages keep full detail once you have the
matchId).