New · updated every hour

Every tennis match since 1990, with odds and Elo, in one API.

ATP, WTA, Challenger and ITF, live or back to 1990. Set-by-set scores, odds from about 20 bookmakers with the fair win probability, head-to-head over every meeting, each player's Elo before the match, form, rankings and statistics. One row per match, everything joined.

Independent tool, not affiliated with Flashscore, Livesport, the ATP, the WTA, the ITF or any bookmaker.

since 1990every ATP and WTA match
~20bookmakers per match, fair probability
Elobefore every match, per surface
since 1973ATP rankings of any week
MCPa tool for AI agents
Live data

Straight from the tennis database.

What your runs read: 35 years of matches, today's draw with each favourite by Elo, and the Elo leaders of both tours. Matches update every hour, Elo every night.

What you get

One row per match, everything joined.

Score, odds, head-to-head, form, Elo, ranks and statistics arrive in the same row, so a match is ready to model, publish or compare the moment it lands. Here is a real one.

sample match rowTokyo · qualifying Q2 · 2026-09-29

Tsitsipas S. beat Hijikata R. 6-4 6-3 67 min

ATP rank
44 v 82
Elo before the match
2088 v 1976
Elo win probability
64%
market fair probability
73% 19 UK bookmakers
average margin
6.8%
head-to-head
2–0
best prices
1.30 7BetUK · 3.75 Sky Bet
form, last 10
WWWLWWWLWL v WLWLLWWLWW

Match

  • tour and tournament
  • round Q1 … Final
  • surface
  • set-by-set score
  • live game score
  • serve and return statistics

Odds

  • about 20 bookmakers of your country, each with a link
  • best price and bookmaker
  • average
  • opening and closing odds
  • fair win probability margin taken out

Players

  • ATP / WTA rank
  • Elo before the match overall and per surface
  • Elo win probability
  • last 10 results
  • surface record

Head-to-head and fatigue

  • every past meeting
  • matches and sets in 7 and 14 days
  • rest days

On request

  • point-by-point with includePointByPoint

Modes

matches · default

Matches by day

Every match of the days you pick: any past day since 1990, or up to a week ahead.

live

Live now

Matches in play: sets, games, server and in-play odds.

matchIds

Specific matches

By match id or Flashscore URL.

players

Careers

A player's whole career, newest first. Give a name or a URL.

tournaments

Draws with rounds

Every match of a tournament edition, Q1 to the final, any year.

playerProfiles

Player profiles

Full name, birth date, country, photo, rank, Elo overall and per surface.

playerStats

Player statistics

Record, serve and return per season, surface, tour or opponent's rank, top 10 included.

h2h

Head-to-head

Two players' career head-to-head with every meeting.

elo

Elo lists

The men's or women's tour, overall or on one surface.

rankings

Rankings of any week

ATP and WTA singles, doubles and race lists. ATP from 1973, WTA from 2001.

Use cases

Built for people who live on tennis data.

bettors & modellers

Betting models and value bets

Elo probability next to the market's fair probability and closing odds, for every match since 1990.

sites & bots

Odds comparison

About 20 bookmakers of your country per match, with the best price, the average and a link to each.

apps & media

Live score widgets

Matches in play with sets, games and the server, refreshed as often as you run it.

journalists

Previews and match reports

Career head-to-head, record against the top 10 and recent form, ready to quote.

researchers & students

Research datasets

35 years of results and the rankings of every week, in one consistent format.

AI agents

Answers with evidence

"Who is the favourite tomorrow, and how rested are they?" The agent gets Elo, odds and fatigue, not a guess.

How to run

From a name or a date to clean rows in seconds.

  1. 01

    Open it on Apify

    Sign in with a free Apify account. No card needed to try.

  2. 02

    Pick a mode

    Leave the input empty for today's matches, or ask for a date, a player, a tournament, a head-to-head or a ranking week.

  3. 03

    Get your rows

    Download JSON, CSV or Excel, call the API, schedule it, or hand it to an AI agent.

More inputs to try

  • {}today's singles of every tour with odds, H2H, form, Elo and statistics
  • { "mode": "live" }matches in play now
  • { "mode": "playerStats", "playerUrls": ["Jannik Sinner"], "statsSplitBy": "opponentRank" }record against the top 10, 11-50 and beyond
  • { "mode": "rankings", "rankingLists": ["atp"], "rankingDate": "2008-08-18" }the week Nadal first reached No. 1
  • { "mode": "tournaments", "tournamentUrls": ["https://www.flashscore.com/tennis/atp-singles/wimbledon/"], "years": [2019] }Wimbledon 2019, 239 matches, Q1 to the final
{
  "dateFrom": "2024-07-14",
  "players": ["Djokovic"]
}

The 2024 Wimbledon final: Alcaraz beat Djokovic 6-2 6-2 7-6(4), with odds, head-to-head, Elo and statistics in one row.

Reliability

Runs that don't break.

The same factory promises as every CrawlPlant Actor. How the factory works

Updated every hour

The tennis database updates every hour, and Elo is recalculated every night.

Fast on history

Wimbledon 2019, 239 matches, in 11 s. Lists and profiles in 2 to 4 s.

Partial, never failed

If a match's odds or statistics can't be read, every other field of that match still arrives.

Checked every 3 hours

Canary checks run the Actor, test the database and watch data freshness.

A summary every run

Failed requests are retried automatically, and each run ends with a summary of what it returned.

Pricing

Pricing

$1.00per 1,000 matches

Down to $0.70 per 1,000 on Apify's Gold plan. Statistics, Elo, rounds, rankings and live scores are included in the match row. Odds and head-to-head are extras: switch them off and they aren't charged.

  • Today's matches with everything: about $0.40 for 100 matches
  • 1,000 finished matches with statistics only: about $1.00
  • A career of 1,492 matches: about $1.49 · head-to-head of 10 pairs: about $0.05
  • No subscription. The free plan is enough to try it
Events and prices per 1,000, on Apify's Free and Gold plans
eventFreeGold
match row$1.00$0.70
+ bookmaker odds matches with odds only$1.50$1.05
+ head-to-head, form and fatigue$1.50$1.05
+ point-by-point$1.00$0.70
ranking row$1.00$0.70
Elo list row$1.00$0.70
player profile$3.00$2.10
player statistics row$5.00$3.50
head-to-head of two players$5.00$3.50
FAQ

About this Actor.

General questions are on the home page. Something else? piotr@crawlplant.com

How far back does it go?

Every ATP and WTA match since 1990, Challenger since 2008 and ITF since 2011. Serve and return statistics start in 2012, and point-by-point starts in 2012 too, for a quarter of a million matches and counting. Rankings go back to the first ATP list in 1973 and to 2001 for the WTA.

Which bookmakers and odds do I get?

About 20 bookmakers of the country you choose with oddsCountry (GB, DE, PL, US, AU and more), each with a link. Every match row carries the best price and its bookmaker, the average, the opening and closing odds, and the fair win probability with the bookmaker margin taken out.

What does the Elo rating tell me?

How strong each player was right before the match, overall and on each surface, built from every match since 1990 and updated every night. The Elo win probability sits next to the market's fair probability, so you can see where the two disagree.

Can I find players by name?

Yes. playerUrls takes names like "Jannik Sinner" or "Alcaraz" as well as Flashscore URLs, and players filters any day's matches by name.

Does it do live scores?

Yes. "mode": "live" returns the matches in play now, with sets, games, the server and in-play odds.

Can an AI agent use it?

Yes. Add https://mcp.apify.com?tools=crawlplant/flashscore-tennis to any MCP client and the agent can pull matches, head-to-heads, Elo and odds on its own to answer questions like "who is the favourite tomorrow?".