Tennis Match Tracker: Results, Form, H2H & Stats
Pricing
from $1.00 / 1,000 matches
Tennis Match Tracker: Results, Form, H2H & Stats
Tennis results, fixtures and live matches across ATP, WTA, Challenger and ITF. Every match comes with both players' recent form, surface record, head-to-head and serve and return statistics, measured before the match started. No API key, no proxy.
Pricing
from $1.00 / 1,000 matches
Rating
0.0
(0)
Developer
Mariam Ahmed
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Tennis results, today's matches and tomorrow's order of play across ATP, WTA, Challenger and ITF, singles and doubles. Every match comes with the part a scoreboard leaves out: both players' recent form, their record on this surface, rest days, the head-to-head and the match statistics.
Other tennis scrapers return match rows. A match row tells you who played. It does not tell you that one player has lost three in a row on hard courts while the other has not played in three weeks. This Actor puts that next to every match, ready for a spreadsheet, a model or a pre-match check.
What does this do?
For each day you ask for, it reads every tennis match listed, keeps the tours and players you want, and for each match adds:
Match: Shevchenko A. vs Hurkacz H. · ATP Chengdu, hard · scheduled 24 Sep 11:05 UTCShevchenko HurkaczLast 10 matches 3-7 (L1) 7-3 (L1)Last 10 on hard 3-7 (L3) 7-3Days since last match 5.0 21.7Matches in last 14 days 2 0Head-to-head 0-4 (all four on hard, last: United Cup, Jan 2025)
For played matches it also adds the full score with tiebreaks and serve and return statistics for both players.
Who is it for?
- Tennis bettors and tipsters — form, surface record, fatigue and H2H for the whole day's card in one run, instead of opening forty match pages
- Model builders — clean, consistent rows with form measured before each match started, so results never leak into the features
- Fantasy and media sites — results, fixtures and talking points ("0-4 in their meetings") as data
- Coaches and analysts — serve and return numbers for any player's recent matches, including Challenger and ITF
What data do you get?
One row per match:
| Field | What it tells you |
|---|---|
startTime, tournament, category, surface, qualifying | When, where and at what level |
status | scheduled, live, finished, retired, walkover, cancelled… |
player1, player2 (+ country) | Who is playing. Doubles pairs are listed as A./B. |
score, sets, winner | 6-7(5) 6-3 3-6, and each set with tiebreak points |
player1Form, player2Form | Record, win rate, W/L sequence and streak over the last N matches, the same on this surface, days since last match, matches in the last 14 days, last opponent |
headToHead | Meetings, record, record on this surface, last meeting (date, event, winner, sets) |
stats | Aces, double faults, 1st serve %, 1st and 2nd serve points won, break points saved and converted, return points won, service and return games won, total points won |
url | The match page |
Flat columns (player1FormRecord, player1SurfaceRecord, h2hRecord…) make the table view and CSV export readable at a glance.
How form is measured, and why it matters
Form is always counted from matches completed before this match started. That sounds obvious, but the source lists each player's matches including the one being looked at, and anything played since. Counting those would put the result of a finished match into its own "form", which quietly ruins any backtest built on it. This Actor removes them, so a row for last Tuesday's match shows exactly what was knowable on Tuesday morning.
Also:
- Walkovers are left out of form (no match was played). Retirements count, because a match was.
- Form covers every level the source lists: tour, Challenger, ITF and team events. A player winning at Challenger level is winning.
- Surface form uses the same window on the same surface. Indoor hard counts as hard.
- Doubles pairs get form and H2H too.
Example: two days of ATP, WTA and Challenger singles
| Measured on 24 September 2026 | Result |
|---|---|
| Days read | 4 (two back, today, one ahead) |
| Matches listed across all tennis | 1,297 |
| Matches kept by the filters | 225 |
| Form and H2H found | 225 of 225 |
| Statistics found for played matches | 171 of 171 |
| Failures | none |
Upcoming matches from that run, straight from the table view:
| Match | Form (last 10) | H2H |
|---|---|---|
| Andreeva M. vs Fernandez L. (Singapore) | 7-3 vs 6-4 | 2-2 |
| Shevchenko A. vs Hurkacz H. (Chengdu) | 3-7 vs 7-3 | 0-4 |
| Sakkari M. vs Hibino N. (Singapore) | 6-4 vs 7-3 (W3) | 2-0 |
| Hijikata R. vs Rublev A. (Hangzhou) | 5-5 vs 6-4 | 0-0 |
What it refuses to do
- No picks, tips or win probabilities. These are records of what has already happened. What you conclude from them is yours.
- No odds. For bookmaker prices, see Betting Odds Comparison and Value Bet Finder.
- No invented numbers. A player with no earlier completed match gets
nullform, not0-0. A match without point data getsnullstatistics, not zeros.
Limits worth knowing
- Seven days either side of today, in UTC. That is the window the source keeps. For a player's longer history, the form fields reach back up to 50 matches.
- Upcoming matches appear once the order of play is published. One day ahead is usually full; three or more days ahead is usually nearly empty.
- Statistics depend on coverage. ATP, WTA and Challenger matches normally have the full set. Many ITF matches have none, and are returned with
stats: null. - Surface is missing for some team events (Billie Jean King Cup rows often carry none at the source). Those rows have
surface: nulland no surface form, rather than a guess. - Player search works within the chosen days. Asking for "Sinner" returns his matches in the window, each with his form over the last N matches.
Data comes from Flashscore's public match pages. No API key, account or proxy is needed.
Pricing
$0.001 per match, plus $0.005 per match insight when form, head-to-head or statistics are added and found.
A full day of ATP and WTA singles (about 50 matches) with form and statistics costs about $0.30. Switch off form and statistics for a plain results feed at $0.05 per 50 matches.
Input
| Field | Meaning |
|---|---|
| Tours and events | ATP, WTA, Challenger and ITF, singles and doubles separately, plus team events |
| Days back / Days ahead | The window, 0 to 7 days each way (UTC) |
| Match status | All, completed only, upcoming only, or live now |
| Players | Only matches involving these players; surname is enough |
| Tournaments | Only these events, by any part of the name |
| Include qualifying matches | Qualifying rounds, flagged on each row |
| Add form and head-to-head | Form, surface record, rest and H2H for both players |
| Form window | How many earlier matches form uses (3 to 50, default 10) |
| Add match statistics | Serve and return statistics for played matches |
| Maximum matches | A cap, earliest match first |
Integrations
Results export to JSON, CSV, Excel and Google Sheets, or go straight into a sheet, a dashboard or a model through the Apify API, webhooks, Make, Zapier and n8n. Schedule it every morning for the day's order of play with form attached, or every night for the day's results.