- Relative dates.
dateFrom and dateTo accept the Console's relative
datepicker ("1 day" means yesterday) and, in JSON, "yesterday",
"tomorrow" and "+2 days". A scheduled run set to "1 day" always
fetches the previous day's results. YYYY-MM-DD works as before.
Optional match depth, all off by default: a run without them returns exactly
the rows it did before, at the same cost.
- Match statistics: serve, return, points and games per player, for the
match and for each set.
- Point-by-point: every game in playing order with the server, winner,
breaks, break points, aces and double faults. Sofascore leaves out the point
that wins each regular game; it is restored and flagged
isInferred, so
point totals match the match statistics exactly.
- Odds: opening and current/closing decimal odds for match winner, first
set winner and total games, including pre-match odds on upcoming draws.
- Momentum: Sofascore's per-game momentum value.
- Player profiles (singles): height, plays, turned pro, birth date, prize
money, and the season's results split by surface. Fetched once per player
per run.
- Each detail is a separate pay-per-event charge, made only for matches where
Sofascore actually had it. Statistics, point-by-point and momentum are never
requested for matches that have not started.
- Fixes every run failing with
403 {"reason": "challenge"} since
2026-09-24. Sofascore now refuses a User-Agent claiming a Chrome older
than a cutoff that trails the current stable release (148 when measured,
with 154 stable), and the client had Chrome 136 hardcoded. No proxy tier
could help, since the block was never about the IP.
- The Chrome version is now resolved at the start of each run from Google's
Chrome release feed, falling back to an estimate from Chrome's four-week
release cadence, so it can no longer go stale.
User-Agent, Sec-Ch-Ua
and the platform headers are generated together and always agree.
First release.
- Tennis matches from Sofascore for ATP, WTA, Challenger, WTA 125, ITF, UTR,
Davis Cup, Billie Jean King Cup, United Cup, Exhibition and International.
- Set-by-set scores with tiebreak points and per-set duration, plus a
ready-made
scoreString (6-3 7-6(1)).
- Both players with country, ATP/WTA ranking at match time, and seed —
including the non-numeric entry routes
WC, Q, LL and A.
- Surface, round, tournament tier, ranking points, venue and gender.
resultType distinguishes completed from retired and walkover, which
Sofascore both files under status finished.
- Live, finished and forward-dated (published draw) matches.
- Singles / doubles / both, with doubles pairs carrying their two players.
- Tour filter that cuts a default run from ~150 tournaments a day to about 4.
- Cheapest-first proxy escalation. Sofascore refuses Apify's datacenter egress
on the first request of essentially every platform run, so the Actor rotates
through up to 12 datacenter IPs — free on every plan, the free tier included
— before it will touch a metered residential one.