{
  "openapi": "3.0.1",
  "info": {
    "title": "Flashscore Scraper: Live Scores, Results & Odds",
    "description": "Scrape Flashscore for 29 sports: fixtures, live scores and results with every period, plus goals, cards, stats, lineups, injuries, odds, head-to-head, tennis point-by-point and league tables. For betting models, odds tracking, live score apps and fantasy. Only-changed mode for live polling.",
    "version": "1.0",
    "x-build-id": "Y0Y00yqDlrpn6lhJc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/panix~flashscore-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-panix-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/panix~flashscore-scraper/runs": {
      "post": {
        "operationId": "runs-sync-panix-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/panix~flashscore-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-panix-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": {
          "sports": {
            "title": "Sports",
            "type": "array",
            "description": "Every match of these sports on the selected days: fixtures, live games and results. Leave empty to get only the URLs and match IDs below, or today's football when those are empty too.",
            "items": {
              "type": "string",
              "enum": [
                "football",
                "tennis",
                "basketball",
                "hockey",
                "american-football",
                "baseball",
                "handball",
                "rugby-union",
                "floorball",
                "bandy",
                "futsal",
                "volleyball",
                "cricket",
                "darts",
                "snooker",
                "boxing",
                "beach-volleyball",
                "aussie-rules",
                "rugby-league",
                "badminton",
                "water-polo",
                "field-hockey",
                "table-tennis",
                "beach-soccer",
                "mma",
                "netball",
                "pesapallo",
                "esports",
                "kabaddi"
              ],
              "enumTitles": [
                "Football",
                "Tennis",
                "Basketball",
                "Ice hockey",
                "American football",
                "Baseball",
                "Handball",
                "Rugby union",
                "Floorball",
                "Bandy",
                "Futsal",
                "Volleyball",
                "Cricket",
                "Darts",
                "Snooker",
                "Boxing",
                "Beach volleyball",
                "Aussie rules",
                "Rugby league",
                "Badminton",
                "Water polo",
                "Field hockey",
                "Table tennis",
                "Beach soccer",
                "MMA",
                "Netball",
                "Pesäpallo",
                "Esports",
                "Kabaddi"
              ]
            }
          },
          "days": {
            "title": "Days",
            "type": "array",
            "description": "Days relative to today in your time zone. Flashscore lists 7 days back and 7 days ahead; for older seasons paste a league URL below.",
            "items": {
              "type": "string",
              "enum": [
                "-7",
                "-6",
                "-5",
                "-4",
                "-3",
                "-2",
                "-1",
                "0",
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7"
              ],
              "enumTitles": [
                "7 days ago (-7)",
                "6 days ago (-6)",
                "5 days ago (-5)",
                "4 days ago (-4)",
                "3 days ago (-3)",
                "2 days ago (-2)",
                "Yesterday (-1)",
                "Today (0)",
                "Tomorrow (+1)",
                "In 2 days (+2)",
                "In 3 days (+3)",
                "In 4 days (+4)",
                "In 5 days (+5)",
                "In 6 days (+6)",
                "In 7 days (+7)"
              ]
            },
            "default": [
              "0"
            ]
          },
          "dateFrom": {
            "title": "From date (instead of days)",
            "type": "string",
            "description": "Optional. A date range replaces the Days field, for example 2026-10-30. Must be within 7 days of today."
          },
          "dateTo": {
            "title": "To date",
            "type": "string",
            "description": "Last day of the range (included)."
          },
          "timezone": {
            "title": "Time zone",
            "type": "string",
            "description": "Decides where days begin and end, and the <code>localStartTime</code> field. An IANA name such as <code>Europe/London</code>, <code>America/New_York</code>, <code>Asia/Kolkata</code>, or an offset such as <code>+05:30</code>. Default UTC.",
            "default": "UTC"
          },
          "urls": {
            "title": "Flashscore URLs",
            "type": "array",
            "description": "Match pages, league pages (results, fixtures, standings, or a past season such as <code>.../premier-league-2024-2025/results/</code>) and team pages. League pages return the whole season, not only the 15-day window. Team pages return recent results and every upcoming fixture.",
            "items": {
              "type": "string"
            }
          },
          "matchIds": {
            "title": "Match IDs",
            "type": "array",
            "description": "Flashscore match IDs (8 characters, the <code>matchId</code> field of earlier runs), for example to add details to matches you already have.",
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Match status",
            "type": "array",
            "description": "Only matches in these states. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "scheduled",
                "live",
                "finished",
                "postponed",
                "cancelled",
                "interrupted",
                "abandoned",
                "delayed"
              ],
              "enumTitles": [
                "Scheduled",
                "Live",
                "Finished",
                "Postponed",
                "Cancelled",
                "Interrupted",
                "Abandoned",
                "Delayed"
              ]
            }
          },
          "countries": {
            "title": "Countries or categories",
            "type": "array",
            "description": "Country (England, Spain, USA) or category (World, Europe, ATP, WTA, Challenger). Matches the whole name or its first words, so <code>Ireland</code> is not Northern Ireland and <code>ATP</code> covers ATP singles and doubles. Case and accents are ignored.",
            "items": {
              "type": "string"
            }
          },
          "competitions": {
            "title": "Competitions",
            "type": "array",
            "description": "Part of the competition name: <code>Champions League</code>, <code>NBA</code>, <code>Wimbledon</code>, or a tennis surface such as <code>clay</code>. Add the country for one exact league: <code>England: Premier League</code> (not the Premier League Cup).",
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "title": "Teams or players",
            "type": "array",
            "description": "Only matches with one of these teams or players, for example <code>Alcaraz</code> or <code>Real Madrid</code>. Whole words count (<code>Man</code> does not match Manchester); put a name in double quotes for an exact match: <code>\"Arsenal\"</code> skips Arsenal Tula.",
            "items": {
              "type": "string"
            }
          },
          "topLeaguesOnly": {
            "title": "Top competitions only",
            "type": "boolean",
            "description": "Only the competitions Flashscore lists as top leagues (Premier League, LaLiga, Champions League, NBA, NHL, ATP and WTA tours, Grand Slams and similar).",
            "default": false
          },
          "includeIncidents": {
            "title": "Goals, cards and substitutions",
            "type": "boolean",
            "description": "Timeline with minute, player, assist, score after each goal, card reasons and substitutions. Venue, city, attendance and referee are added free when known.",
            "default": false
          },
          "includeStatistics": {
            "title": "Match statistics",
            "type": "boolean",
            "description": "Every statistic Flashscore shows, per period: xG, possession, shots, corners, aces, rebounds and more, with numbers parsed.",
            "default": false
          },
          "includeLineups": {
            "title": "Lineups",
            "type": "boolean",
            "description": "Formations, starting players and substitutes with shirt numbers, ratings, captains, coaches and per-player events. Before kick-off: predicted lineups (football) with age, height and market value.",
            "default": false
          },
          "includeMissingPlayers": {
            "title": "Injured and suspended players",
            "type": "boolean",
            "description": "Missing and doubtful players with the reason (injury, suspension). Football, basketball and ice hockey.",
            "default": false
          },
          "includeOdds": {
            "title": "Betting odds",
            "type": "boolean",
            "description": "Pre-match odds from every bookmaker Flashscore shows for the chosen country: opening and current price, movement, and the winning selection after the match.",
            "default": false
          },
          "oddsCountry": {
            "title": "Bookmakers of country",
            "enum": [
              "GB",
              "IE",
              "DE",
              "FR",
              "ES",
              "PL",
              "CZ",
              "SK",
              "RO",
              "PT",
              "NL",
              "BE",
              "SE",
              "DK",
              "NO",
              "FI",
              "AT",
              "CH",
              "GR",
              "TR",
              "UA",
              "US",
              "US-NY",
              "US-NJ",
              "US-PA",
              "CA",
              "MX",
              "BR",
              "AR",
              "CO",
              "PE",
              "CL",
              "AU",
              "NZ",
              "IN",
              "NG",
              "KE",
              "ZA",
              "JP",
              "KR"
            ],
            "type": "string",
            "description": "Bookmakers differ by country. GB returns about 20.",
            "default": "GB"
          },
          "oddsMarkets": {
            "title": "Odds markets",
            "type": "array",
            "description": "Leave empty for every market the match has.",
            "items": {
              "type": "string",
              "enum": [
                "HOME_DRAW_AWAY",
                "HOME_AWAY",
                "OVER_UNDER",
                "ASIAN_HANDICAP",
                "BOTH_TEAMS_TO_SCORE",
                "DOUBLE_CHANCE",
                "DRAW_NO_BET",
                "EUROPEAN_HANDICAP",
                "CORRECT_SCORE",
                "HALF_FULL_TIME",
                "ODD_EVEN",
                "TO_QUALIFY"
              ],
              "enumTitles": [
                "1X2 (home, draw, away)",
                "Home/away (no draw)",
                "Over/under",
                "Asian handicap",
                "Both teams to score",
                "Double chance",
                "Draw no bet",
                "European handicap",
                "Correct score",
                "Half-time/full-time",
                "Odd/even",
                "To qualify"
              ]
            }
          },
          "oddsScopes": {
            "title": "Odds periods",
            "type": "array",
            "description": "Full time by default. Leave empty for every period (larger rows).",
            "items": {
              "type": "string",
              "enum": [
                "FULL_TIME",
                "FIRST_HALF",
                "SECOND_HALF",
                "FIRST_PERIOD",
                "FIRST_SET",
                "SECOND_SET",
                "FIRST_QUARTER",
                "FULL_TIME_INCLUDING_OT"
              ],
              "enumTitles": [
                "Full time",
                "1st half",
                "2nd half",
                "1st period",
                "1st set",
                "2nd set",
                "1st quarter",
                "Full time incl. overtime"
              ]
            },
            "default": [
              "FULL_TIME"
            ]
          },
          "includeH2H": {
            "title": "Head-to-head and form",
            "type": "boolean",
            "description": "Previous meetings of the two sides and each side's last matches with results.",
            "default": false
          },
          "h2hLimit": {
            "title": "Matches per head-to-head list",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "How many past matches to keep in each list.",
            "default": 10
          },
          "includePointByPoint": {
            "title": "Tennis point-by-point",
            "type": "boolean",
            "description": "Every game with server, winner, breaks and the points in order, with break, set and match points counted.",
            "default": false
          },
          "includeStandings": {
            "title": "League tables",
            "type": "boolean",
            "description": "One extra row per competition (type <code>standings</code>) with rank, played, wins, draws, losses, goals, points and form. Charged once per table.",
            "default": false
          },
          "includeMarkdown": {
            "title": "Add Markdown for AI and reports",
            "type": "boolean",
            "description": "A readable summary of each match in the <code>markdown</code> field, ready for ChatGPT, Claude, RAG pipelines or a chat bot.",
            "default": false
          },
          "maxItems": {
            "title": "Max matches",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many matches. 0 or empty = no limit (your spending limit still applies). A full football day can have 1,500 matches."
          },
          "maxMatchesPerLeague": {
            "title": "Max matches per league or team URL",
            "minimum": 0,
            "type": "integer",
            "description": "Results and fixtures per league page, newest results first. 0 = the whole season.",
            "default": 200
          },
          "onlyChanged": {
            "title": "Only new or changed matches",
            "type": "boolean",
            "description": "Skip matches whose score, status, period and start time are the same as in the previous run with the same monitor name. Skipped matches are free. Rows get <code>changeType</code> and <code>changedFields</code>.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Any name, for example <code>premier-league-live</code>. Each name keeps its own memory in your account (key-value store <code>flashscore-scraper-monitors</code>)."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify datacenter proxy by default: every retry comes from a new IP address.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Parallel requests",
            "minimum": 1,
            "maximum": 32,
            "type": "integer",
            "description": "How many match-detail requests run at the same time.",
            "default": 8
          },
          "maxRetries": {
            "title": "Retries per request",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "A failed request is retried with a new IP address up to this many times.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}