{
  "openapi": "3.0.1",
  "info": {
    "title": "Flashscore Scraper: Live Scores, Results & Odds, 24 Sports",
    "description": "Sports data from Flashscore: live scores, results and fixtures of 24 sports — football, basketball, hockey, tennis, volleyball, handball, esports, MMA, darts and more — with opening and closing betting odds from up to 40 bookmakers, no-vig consensus, periods and stats. Recent days or full seasons.",
    "version": "0.1",
    "x-build-id": "N7N5rpks1271qXYab"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sports-odds-lab~flashscore-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sports-odds-lab-flashscore-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/sports-odds-lab~flashscore-scraper/runs": {
      "post": {
        "operationId": "runs-sync-sports-odds-lab-flashscore-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/sports-odds-lab~flashscore-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-sports-odds-lab-flashscore-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 scrape",
            "enum": [
              "recent",
              "seasons"
            ],
            "type": "string",
            "description": "Recent: every match of the chosen sports in a window of days, live ones included. Full seasons: complete past or current seasons of chosen leagues.",
            "default": "recent"
          },
          "sports": {
            "title": "Sports",
            "type": "array",
            "description": "Sports to include in recent mode (full seasons take the sport from the league).",
            "items": {
              "type": "string",
              "enum": [
                "soccer",
                "basketball",
                "hockey",
                "tennis",
                "volleyball",
                "handball",
                "americanFootball",
                "baseball",
                "rugbyUnion",
                "rugbyLeague",
                "cricket",
                "darts",
                "snooker",
                "esports",
                "mma",
                "boxing",
                "futsal",
                "floorball",
                "fieldHockey",
                "waterPolo",
                "beachVolleyball",
                "badminton",
                "tableTennis",
                "aussieRules"
              ],
              "enumTitles": [
                "Football (soccer)",
                "Basketball",
                "Ice hockey",
                "Tennis",
                "Volleyball",
                "Handball",
                "American football",
                "Baseball",
                "Rugby union",
                "Rugby league",
                "Cricket",
                "Darts",
                "Snooker",
                "Esports",
                "MMA",
                "Boxing",
                "Futsal",
                "Floorball",
                "Field hockey",
                "Water polo",
                "Beach volleyball",
                "Badminton",
                "Table tennis",
                "Aussie rules (AFL)"
              ]
            },
            "default": [
              "soccer",
              "basketball",
              "hockey",
              "tennis",
              "volleyball",
              "handball"
            ]
          },
          "statuses": {
            "title": "Match status",
            "type": "array",
            "description": "Finished includes walkovers and awarded matches. Other = cancelled, postponed or abandoned.",
            "items": {
              "type": "string",
              "enum": [
                "finished",
                "live",
                "scheduled",
                "other"
              ],
              "enumTitles": [
                "Finished",
                "Live",
                "Scheduled",
                "Cancelled / postponed"
              ]
            },
            "default": [
              "finished",
              "live",
              "scheduled"
            ]
          },
          "daysBack": {
            "title": "Days back",
            "minimum": 0,
            "type": "integer",
            "description": "How many past days to include (0 = today only). The daily feed reaches 7 days back. Values above 7 are clamped to 7.",
            "default": 1
          },
          "daysAhead": {
            "title": "Days ahead",
            "minimum": 0,
            "type": "integer",
            "description": "How many upcoming days to include, with current odds. Values above 7 are clamped to 7.",
            "default": 0
          },
          "countries": {
            "title": "Countries or categories",
            "type": "array",
            "description": "Only these countries (or categories, as Flashscore names them for individual sports), e.g. 'Spain', 'Europe', 'World'. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "competitions": {
            "title": "Competitions",
            "type": "array",
            "description": "Only these competitions, as 'Country: Competition' (e.g. 'Spain: ACB', 'Europe: Euroleague') or just the name. Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "includeWomen": {
            "title": "Include women's competitions",
            "type": "boolean",
            "description": "Include women's leagues and tournaments.",
            "default": true
          },
          "includeYouth": {
            "title": "Include youth and reserve competitions",
            "type": "boolean",
            "description": "Include U21/U19/U18, junior, reserve and academy competitions.",
            "default": true
          },
          "seasonTypes": {
            "title": "Stages",
            "type": "array",
            "description": "Regular season and play-offs by default; add pre-season and all-star games if you need them.",
            "items": {
              "type": "string",
              "enum": [
                "regular",
                "postseason",
                "preseason",
                "allstar"
              ],
              "enumTitles": [
                "Regular season",
                "Play-offs and finals",
                "Pre-season",
                "All-star"
              ]
            },
            "default": [
              "regular",
              "postseason"
            ]
          },
          "incremental": {
            "title": "Only new or changed matches (for schedules)",
            "type": "boolean",
            "description": "For runs every few minutes: skip finished, live and cancelled matches whose score and status have not changed since an earlier run with the same settings — faster, and you pay only for new data. Upcoming matches are always refreshed because their odds keep moving. The memory lives in a key-value store 'flashscore-scraper-incremental' in your account.",
            "default": false
          },
          "incrementalName": {
            "title": "Incremental memory name",
            "type": "string",
            "description": "Optional name for the incremental memory, to keep several schedules apart or start fresh (a new name = a new memory). Empty = one memory per combination of settings."
          },
          "leagues": {
            "title": "Leagues",
            "type": "array",
            "description": "Leagues as 'Sport: Country: League' (e.g. 'Handball: Europe: Champions League', 'Basketball: Spain: ACB', 'Rugby Union: Europe: Six Nations', 'Darts: World: PDC World Championship'), a short name (NBA, NHL, EPL, IPL, AFL, NRL) or the league's Flashscore URL. MMA, boxing and esports are covered in recent mode only.",
            "items": {
              "type": "string"
            }
          },
          "seasons": {
            "title": "Seasons",
            "type": "array",
            "description": "Seasons to download, e.g. '2024-2025' or '2024'. Leave empty to use Last seasons.",
            "items": {
              "type": "string"
            }
          },
          "lastSeasons": {
            "title": "Last seasons",
            "minimum": 1,
            "type": "integer",
            "description": "When no seasons are listed: the latest N seasons of each league.",
            "default": 1
          },
          "includeOdds": {
            "title": "Include odds",
            "type": "boolean",
            "description": "Opening and closing odds from every bookmaker that priced the match (up to ~40), with a no-vig consensus.",
            "default": true
          },
          "markets": {
            "title": "Markets",
            "type": "array",
            "description": "Winner = 3-way (home, draw, away) in sports with draws, 2-way elsewhere (including overtime where it exists). Handicap and total come with the market's main line.",
            "items": {
              "type": "string",
              "enum": [
                "winner",
                "handicap",
                "total"
              ],
              "enumTitles": [
                "Winner (1X2 / moneyline)",
                "Handicap (spread)",
                "Total (over/under)"
              ]
            },
            "default": [
              "winner",
              "total"
            ]
          },
          "handicapLines": {
            "title": "Handicap lines",
            "enum": [
              "main",
              "all"
            ],
            "type": "string",
            "description": "Only each bookmaker's main handicap line, or every line it quotes.",
            "default": "main"
          },
          "totalLines": {
            "title": "Total lines",
            "enum": [
              "main",
              "all"
            ],
            "type": "string",
            "description": "Only each bookmaker's main total line, or every line it quotes.",
            "default": "main"
          },
          "bookmakers": {
            "title": "Only these bookmakers",
            "type": "array",
            "description": "Limit odds to these bookmakers (name contains, e.g. 'bet365', 'betano'). Leave empty for all.",
            "items": {
              "type": "string"
            }
          },
          "onlyWithOdds": {
            "title": "Skip matches without odds",
            "type": "boolean",
            "description": "Only save matches that at least one bookmaker priced (you pay only for those).",
            "default": false
          },
          "oddsFormat": {
            "title": "Odds format",
            "enum": [
              "decimal",
              "american"
            ],
            "type": "string",
            "description": "Format of the odds in the output.",
            "default": "decimal"
          },
          "includeStats": {
            "title": "Include match statistics",
            "type": "boolean",
            "description": "Match statistics of finished and live matches (whatever the sport has: shots, aces, rebounds, kills …). One extra request per match.",
            "default": false
          },
          "maxMatches": {
            "title": "Max matches",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many matches (0 = no limit).",
            "default": 0
          },
          "concurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "type": "integer",
            "description": "How many requests run at once (the code caps it at 32).",
            "default": 16
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}