{
  "openapi": "3.0.1",
  "info": {
    "title": "Flashscore Tennis Scraper: Results, Live Scores, Odds & Stats",
    "description": "Flashscore tennis matches for ATP, WTA, Challenger and ITF: live scores, results and fixtures with set and tiebreak scores, player rankings, match statistics, point by point, umpire, duration and bookmaker odds. Player match history by link. No login. Pay per match.",
    "version": "0.1",
    "x-build-id": "SjGl6qfW9z0ZriG2F"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/themineworks~flashscore-tennis-results-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-themineworks-flashscore-tennis-results-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/themineworks~flashscore-tennis-results-scraper/runs": {
      "post": {
        "operationId": "runs-sync-themineworks-flashscore-tennis-results-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/themineworks~flashscore-tennis-results-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-themineworks-flashscore-tennis-results-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to collect",
            "enum": [
              "matchesByDay",
              "playerResults"
            ],
            "type": "string",
            "description": "Matches of chosen days, or the match history of chosen players.",
            "default": "matchesByDay"
          },
          "days": {
            "title": "Days",
            "type": "array",
            "description": "For matches by day. One per line: today, yesterday, tomorrow, an offset such as -3 or +2, or a date such as 2026-09-28. Flashscore lists 7 days back to 7 days ahead. Days are UTC days. Leave empty for today.",
            "items": {
              "type": "string"
            }
          },
          "players": {
            "title": "Players",
            "type": "array",
            "description": "For player results. Flashscore player links, one per line, for example https://www.flashscore.com/player/sinner-jannik/6HdC3z4H/ (slug/id such as sinner-jannik/6HdC3z4H works too).",
            "items": {
              "type": "string"
            }
          },
          "maxMatchesPerPlayer": {
            "title": "Matches per player",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Most recent matches per player, newest first. About 40 matches per page.",
            "default": 40
          },
          "statuses": {
            "title": "Match status",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "finished",
                "live",
                "scheduled",
                "cancelled",
                "postponed",
                "abandoned"
              ],
              "enumTitles": [
                "Finished",
                "Live",
                "Scheduled",
                "Cancelled",
                "Postponed",
                "Abandoned"
              ]
            }
          },
          "tours": {
            "title": "Tours",
            "type": "array",
            "description": "Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "atp",
                "wta",
                "challenger",
                "itf",
                "juniors",
                "teams",
                "exhibition",
                "other"
              ],
              "enumTitles": [
                "ATP",
                "WTA",
                "Challenger (men and women)",
                "ITF (men and women)",
                "Juniors",
                "Team events (Davis Cup, BJK Cup, United Cup)",
                "Exhibitions",
                "Other"
              ]
            }
          },
          "matchTypes": {
            "title": "Singles or doubles",
            "type": "array",
            "description": "Leave empty for both (player results default to singles).",
            "items": {
              "type": "string",
              "enum": [
                "singles",
                "doubles"
              ],
              "enumTitles": [
                "Singles",
                "Doubles"
              ]
            }
          },
          "tournaments": {
            "title": "Tournament names",
            "type": "array",
            "description": "Keep only tournaments whose name contains one of these, for example Beijing or US Open.",
            "items": {
              "type": "string"
            }
          },
          "includeRankings": {
            "title": "Add ATP and WTA rankings",
            "type": "boolean",
            "description": "Current singles ranking, points and previous rank of each player in singles matches. Two extra requests per run.",
            "default": true
          },
          "includeStatistics": {
            "title": "Add match statistics",
            "type": "boolean",
            "description": "Aces, double faults, first serve percentage, points won on serve and return, break points and more, for the match and each set.",
            "default": false
          },
          "includePointByPoint": {
            "title": "Add point by point",
            "type": "boolean",
            "description": "Every game with the server, whether serve was broken, and each point score with break, set and match point markers.",
            "default": false
          },
          "includeSummary": {
            "title": "Add duration and umpire",
            "type": "boolean",
            "description": "Match duration, each set's duration and the chair umpire.",
            "default": false
          },
          "includeOdds": {
            "title": "Add bookmaker odds",
            "type": "boolean",
            "description": "Opening and current odds from the bookmakers Flashscore shows in one country.",
            "default": false
          },
          "oddsCountry": {
            "title": "Odds country",
            "type": "string",
            "description": "Two letter country code whose bookmakers to show, for example GB, DE, US, AU.",
            "default": "GB"
          },
          "oddsMarkets": {
            "title": "Odds markets",
            "type": "array",
            "description": "Leave empty for every market.",
            "items": {
              "type": "string",
              "enum": [
                "winner",
                "over_under",
                "handicap",
                "correct_score",
                "odd_even"
              ],
              "enumTitles": [
                "Match and set winner",
                "Over/under games or sets",
                "Handicap",
                "Correct score",
                "Odd or even"
              ]
            }
          },
          "maxMatches": {
            "title": "Max matches",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many matches in the run. A full day holds 130 to 470.",
            "default": 200
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}