TennisExplorer Match Results Scraper avatar

TennisExplorer Match Results Scraper

Pricing

from $3.10 / 1,000 completed matches

Go to Apify Store
TennisExplorer Match Results Scraper

TennisExplorer Match Results Scraper

Collect completed ATP and WTA singles match results from TennisExplorer for one date. Get players, winners, set scores, event details, match IDs, links, and available public match fields in a structured dataset.

Pricing

from $3.10 / 1,000 completed matches

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

🎾 Build a TennisExplorer results dataset

Tennis analysts, journalists, and developers can collect completed ATP and WTA singles results from TennisExplorer for one date. Each saved row brings players, winners, set scores, event details, links, and other source-visible match fields into a structured dataset for analysis and reporting.

📊 Completed TennisExplorer match data

Each dataset item is one completed ATP or WTA singles match for the requested date and tour. Values come from public TennisExplorer pages, and optional fields are present only when the source shows them.

🗓️ Run results for one date

Enter one date, choose ATP singles, WTA singles, or both, start the run, and open the dataset. Run dates separately when you need results for more than one date.

How to run

  1. Enter a date in YYYY-MM-DD format.
  2. Choose atp, wta, or both.
  3. Start the run and open the dataset link in the Output tab.

⚙️ Input

Choose one calendar date and which singles tours to include.

Input fields

FieldTypeWhat it does
datestringRequired results date in YYYY-MM-DD format. One date is accepted per run.
tourstringSelects atp, wta, or both. It defaults to both.

Example input

This is the public input from a successful run using the default tour:

{
"date": "2025-12-26",
"tour": "both"
}

🧾 Output

The results output link opens the collected match results as dataset items. Every row uses the same shape, with optional fields omitted when the source does not show them.

Match row

FieldTypeWhat it does
datestringCalendar date of the completed match.
tourstringSingles tour, either atp or wta.
eventobjectTournament or event context.
event.namestringSource-displayed event name.
event.countrystringSource-displayed event country, when available.
event.urlstringPublic event page link, when available.
roundstringSource-displayed match round, when available.
playersarray of objectsThe two players in source order. Set scores use this same order.
players[].namestringSource-displayed player name.
players[].urlstringPublic player page link, when available.
players[].seedintegerTournament seed, when shown by the source.
players[].rankintegerPlayer rank, when shown by the source.
players[].preMatchOddsnumberDecimal pre-match odds, when shown by the source.
winnerstringSource-displayed winner name.
setsarray of objectsOrdered completed set scores. Tiebreak notation stays as source-displayed text.
sets[].player1stringScore for the first player in that set.
sets[].player2stringScore for the second player in that set.
matchStatusstringSource-displayed match status, when available.
matchTimestringSource-displayed match time, when available.
matchIdstringStable match identifier used by the source.
matchUrlstringPublic result or match-detail link, when available.
courtSurfacestringSource-displayed court surface, when available.

Example match row

This genuine row comes from a successful run using the example input above:

{
"date": "2025-12-26",
"tour": "wta",
"event": {
"name": "Shenzhen - exhibition",
"country": "CN",
"url": "https://www.tennisexplorer.com/shenzhen-exhibition/2025/wta-women/"
},
"players": [
{
"name": "Swiatek I.",
"url": "https://www.tennisexplorer.com/player/swiatek",
"rank": 9,
"preMatchOdds": 1.72
},
{
"name": "Rybakina E.",
"url": "https://www.tennisexplorer.com/player/rybakina",
"rank": 1,
"preMatchOdds": 2.05
}
],
"winner": "Swiatek I.",
"sets": [
{
"player1": "6",
"player2": "3"
},
{
"player1": "6",
"player2": "3"
}
],
"matchStatus": "completed",
"matchTime": "12:45",
"matchId": "3100766",
"matchUrl": "https://www.tennisexplorer.com/match-detail/?id=3100766",
"courtSurface": "hard"
}

💳 Pricing

This Actor uses pay-per-event pricing for the Completed match event. The tiered event price applies to each completed ATP or WTA singles match saved to your dataset. See the Pricing tab for the current tier prices.

🔌 Integrations

Read the structured dataset through the Apify API or use Apify's standard dataset exports after a run.

❓ FAQ

Can I collect both ATP and WTA singles results in one run?

Yes. Set tour to both for the requested date.

Can I request a past date, such as 2026-09-28?

Yes. Enter any requested calendar date in YYYY-MM-DD format. Each run accepts one date.

What if a date has no completed matches?

The run returns the completed matches listed by the source for that date and tour. If the source lists none, the dataset may have no rows.

Are set tiebreaks kept as shown?

Yes. Set scores stay as source-displayed text, including tiebreak notation.

Are player ranks, seeds, odds, and court surface always present?

No. These fields are included when TennisExplorer shows them for a match. Unavailable optional fields are not filled with guesses.

Can I request more than one date in a run?

No. Run the Actor once for each date you need.

Does this collect live scores, rankings, or player profiles?

No. It collects completed ATP and WTA singles match results for the requested date and tour.

📝 Changelog

v0.0 (28-09-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré