Sports data

Tennis scores API: ATP, WTA live scores, stats and rankings

Scrape tennis data from SofaScore: live scores, schedules, results, match statistics, point-by-point, betting odds, ATP and WTA rankings, player profiles and draws. ATP, WTA, Challenger, ITF and UTR, one flat row per match, ready for CSV, JSON or the API.

★ 5.0 rating · 5 reviews26 users97.7% successful runs (30 days)

What data you get

tournament / roundTournament and round
playersPlayers and seeds
scoreSet and game score
statusUpcoming, live or finished
startTimeMatch start time
statisticsMatch statistics (aces, breaks…)
pointByPointPoint-by-point sequence
oddsBetting odds for the match
rankingsATP and WTA ranking positions

How it works

  1. Open the scraper on Apify and sign up (free).
  2. Enter routes, dates and options in the form.
  3. Click Start and download results as JSON, CSV or Excel, or call the API.

Pricing

$0.90 per 1,000 rows

Pay per event: you are charged only for what the run returns — result rows, live board snapshots. There is no monthly subscription; caps in the input keep each run's cost predictable.

Apify gives $5 free credits every month — enough to test this scraper at no cost.

Example tasks

Ready-made inputs. Copy one into the scraper form or send it through the API.

Yesterday's and today's ATP and WTA results with match stats

Finished matches with statistics, up to 200 rows.

{
  "mode": "results",
  "daysBack": 1,
  "tours": [
    "atp",
    "wta"
  ],
  "status": "finished",
  "includeStatistics": true,
  "maxMatches": 200
}
Run this task →

Live tennis scores for ATP and WTA singles

Only matches on court right now.

{
  "mode": "live",
  "tours": [
    "atp",
    "wta"
  ],
  "matchType": "singles"
}
Run this task →

Current ATP and WTA top 100 rankings

Singles rankings for both tours.

{
  "mode": "rankings",
  "rankingTour": "both",
  "rankingDiscipline": "singles",
  "rankingTop": 100
}
Run this task →

Jannik Sinner's upcoming matches this week

Schedule for the next 7 days filtered by player.

{
  "mode": "schedule",
  "days": 6,
  "playerName": "Sinner",
  "tours": [
    "atp"
  ]
}
Run this task →

Use cases

FAQ

Which tours are covered?

ATP, WTA, Challenger, ITF and UTR. ATP and WTA are selected by default to keep runs small.

Can I get live scores?

Yes. Live mode returns only matches on court right now; schedule it to refresh as often as you need.

Is it legal to scrape SofaScore?

The scraper reads publicly available SofaScore data without logging in. Scraping public data is generally allowed, but you are responsible for complying with local laws and the site's terms, and for not collecting or misusing personal data.

Can I filter by player?

Yes. Enter part of a player's name, e.g. Sinner, to keep only their matches.

How do I get the data into my app or spreadsheet?

Call it through the Apify API, use the Python or JavaScript client, or connect it to Make, n8n, Zapier or Google Sheets. Results export to JSON, CSV or Excel, and runs can be scheduled.

More scrapers

Start pulling tennis data now

Run on Apify — free trial