Collect ATP Tennis Statistics via Web Scraping
Budget / Salary€30–250
TypeFreelance project
LocationRemote
Posted2 hours ago
Web Scraping – ATP Tennis Statistics → Excel
I am looking for a freelancer experienced in Python / web scraping / data extraction to collect and combine ATP tennis statistics into a clean Excel file.
The project concerns approximately 450–500 ATP men’s singles main-draw matches from these 9 tournaments in 2026:
* Montreal
* Washington
* Los Cabos
* Miami
* Indian Wells
* Dubai
* Acapulco
* Delray Beach
* Doha
Only ATP men’s singles main-draw matches are required.
1. TennisTourData – Aces
For every match, I need to enter both players into this TennisTourData comparison interface:
https://tennistourdata.com/atp-aces/?ttd_mode=compare&ttd_surface=hard&ttd_extra_surface=none&ttd_draw=main&ttd_stat_sort=metric&ttd_player=&ttd_compare_a=Merida+Aguilar+D.&ttd_compare_b=Tien+L.&ttd_type=all&ttd_year=last52&ttd_min_matches=&ttd_view=overall&ttd_page=1
Settings must be:
* Tour: All
* Year: Last 52 weeks
* Surface: Hard
* Draw: Main
Player names must be entered accurately, including the first initial, especially when players have the same surname (e.g. the Cerundolo brothers).
Required statistics for each player:
* Matches
* Aces
* Aces/Match
* Serves
* Ace %
Aces/Match should be calculated.
2. TennisTourData – Aces Against
Use this interface:
https://tennistourdata.com/atp-return/?ttd_mode=compare&ttd_surface=hard&ttd_extra_surface=clay&ttd_draw=main&ttd_stat_sort=count&ttd_player=&ttd_compare_a=Merida+Aguilar+D.&ttd_compare_b=Tien+L.&ttd_type=all&ttd_year=last52&ttd_min_matches=&ttd_view=overall&ttd_page=1
Same settings:
* Tour: All
* Year: Last 52 weeks
* Surface: Hard
* Draw: Main
Required:
* Aces Against
* Ace Against / Match
* Serves Against
* Ace Against %
Ace Against / Match should be calculated.
3. Actual match Aces
For every individual match, I need the actual number of Aces hit by each player in that match.
This can be obtained from a reliable tennis statistics/results website such as Flashscore, TennisTemple, or another reliable source.
Excel structure
One row = one match.
Columns:
1. Player 1
2. Player 2
3. Match Aces – Player 1
4. Match Aces – Player 2
5. Matches – Player 1
6. Aces – Player 1
7. Aces/Match – Player 1
8. Serves – Player 1
9. Ace % – Player 1
10. Matches – Player 2
11. Aces – Player 2
12. Aces/Match – Player 2
13. Serves – Player 2
14. Ace % – Player 2
15. Aces Against – Player 1
16. Ace Against / Match – Player 1
17. Serves Against – Player 1
18. Ace Against % – Player 1
19. Aces Against – Player 2
20. Ace Against / Match – Player 2
21. Serves Against – Player 2
22. Ace Against % – Player 2
Please use Excel formulas for the calculated fields where appropriate.
Important
The most important requirement is data accuracy and correct player matching.
The final dataset must correctly link:
Match → Players → TennisTourData statistics → Aces Against statistics → Actual match Aces.
Please pay particular attention to players with similar names or the same surname.
I would also appreciate a second Sources sheet containing the URLs used to obtain the data, if possible.
Test before the full project
Before completing the entire dataset, I would like the freelancer to demonstrate the process on 5–10 matches.
The test should include all the requested fields and demonstrate that the data is correctly matched.
Budget
I have a small budget, so please provide your best fixed-price offer.
In your proposal, please specify:
* Your experience with Python/web scraping
* How you plan to scrape TennisTourData
* Which source you would use for the actual match Aces
* Your fixed price
* Estimated delivery time
* Whether you provide the Python code
I am looking for a freelancer experienced in Python / web scraping / data extraction to collect and combine ATP tennis statistics into a clean Excel file.
The project concerns approximately 450–500 ATP men’s singles main-draw matches from these 9 tournaments in 2026:
* Montreal
* Washington
* Los Cabos
* Miami
* Indian Wells
* Dubai
* Acapulco
* Delray Beach
* Doha
Only ATP men’s singles main-draw matches are required.
1. TennisTourData – Aces
For every match, I need to enter both players into this TennisTourData comparison interface:
https://tennistourdata.com/atp-aces/?ttd_mode=compare&ttd_surface=hard&ttd_extra_surface=none&ttd_draw=main&ttd_stat_sort=metric&ttd_player=&ttd_compare_a=Merida+Aguilar+D.&ttd_compare_b=Tien+L.&ttd_type=all&ttd_year=last52&ttd_min_matches=&ttd_view=overall&ttd_page=1
Settings must be:
* Tour: All
* Year: Last 52 weeks
* Surface: Hard
* Draw: Main
Player names must be entered accurately, including the first initial, especially when players have the same surname (e.g. the Cerundolo brothers).
Required statistics for each player:
* Matches
* Aces
* Aces/Match
* Serves
* Ace %
Aces/Match should be calculated.
2. TennisTourData – Aces Against
Use this interface:
https://tennistourdata.com/atp-return/?ttd_mode=compare&ttd_surface=hard&ttd_extra_surface=clay&ttd_draw=main&ttd_stat_sort=count&ttd_player=&ttd_compare_a=Merida+Aguilar+D.&ttd_compare_b=Tien+L.&ttd_type=all&ttd_year=last52&ttd_min_matches=&ttd_view=overall&ttd_page=1
Same settings:
* Tour: All
* Year: Last 52 weeks
* Surface: Hard
* Draw: Main
Required:
* Aces Against
* Ace Against / Match
* Serves Against
* Ace Against %
Ace Against / Match should be calculated.
3. Actual match Aces
For every individual match, I need the actual number of Aces hit by each player in that match.
This can be obtained from a reliable tennis statistics/results website such as Flashscore, TennisTemple, or another reliable source.
Excel structure
One row = one match.
Columns:
1. Player 1
2. Player 2
3. Match Aces – Player 1
4. Match Aces – Player 2
5. Matches – Player 1
6. Aces – Player 1
7. Aces/Match – Player 1
8. Serves – Player 1
9. Ace % – Player 1
10. Matches – Player 2
11. Aces – Player 2
12. Aces/Match – Player 2
13. Serves – Player 2
14. Ace % – Player 2
15. Aces Against – Player 1
16. Ace Against / Match – Player 1
17. Serves Against – Player 1
18. Ace Against % – Player 1
19. Aces Against – Player 2
20. Ace Against / Match – Player 2
21. Serves Against – Player 2
22. Ace Against % – Player 2
Please use Excel formulas for the calculated fields where appropriate.
Important
The most important requirement is data accuracy and correct player matching.
The final dataset must correctly link:
Match → Players → TennisTourData statistics → Aces Against statistics → Actual match Aces.
Please pay particular attention to players with similar names or the same surname.
I would also appreciate a second Sources sheet containing the URLs used to obtain the data, if possible.
Test before the full project
Before completing the entire dataset, I would like the freelancer to demonstrate the process on 5–10 matches.
The test should include all the requested fields and demonstrate that the data is correctly matched.
Budget
I have a small budget, so please provide your best fixed-price offer.
In your proposal, please specify:
* Your experience with Python/web scraping
* How you plan to scrape TennisTourData
* Which source you would use for the actual match Aces
* Your fixed price
* Estimated delivery time
* Whether you provide the Python code
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.