{
  "openapi": "3.0.1",
  "info": {
    "title": "Flashscore Scraper — Live Scores, Results, Fixtures & Odds",
    "description": "Flashscore scraper for 25 sports (football, basketball, hockey, tennis, baseball, cricket, esports...): fixtures 7 days ahead, live scores and results 7 days back with half / quarter / set scores, teams, leagues and optional bookmaker odds.",
    "version": "0.1",
    "x-build-id": "8tKMGBjoZKshKQS1k"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fabrikit~flashscore-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fabrikit-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/fabrikit~flashscore-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fabrikit-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/fabrikit~flashscore-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fabrikit-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": "One day listing per sport and day is downloaded (football alone lists 300 to 600 matches a day). Head-to-head sports only: racing, golf, cycling and winter sports are not covered.",
            "items": {
              "type": "string",
              "enum": [
                "football",
                "basketball",
                "hockey",
                "tennis",
                "american-football",
                "baseball",
                "handball",
                "volleyball",
                "cricket",
                "esports",
                "rugby-union",
                "rugby-league",
                "aussie-rules",
                "futsal",
                "floorball",
                "bandy",
                "darts",
                "snooker",
                "boxing",
                "mma",
                "table-tennis",
                "badminton",
                "water-polo",
                "field-hockey",
                "netball"
              ],
              "enumTitles": [
                "Football (soccer)",
                "Basketball",
                "Ice hockey",
                "Tennis",
                "American football",
                "Baseball",
                "Handball",
                "Volleyball",
                "Cricket",
                "Esports",
                "Rugby union",
                "Rugby league",
                "Aussie rules",
                "Futsal",
                "Floorball",
                "Bandy",
                "Darts",
                "Snooker",
                "Boxing",
                "MMA",
                "Table tennis",
                "Badminton",
                "Water polo",
                "Field hockey",
                "Netball"
              ]
            },
            "default": [
              "football"
            ]
          },
          "days": {
            "title": "Days",
            "type": "array",
            "description": "Which days to list: today, yesterday, tomorrow, a date (2026-10-24) or an offset (-3, +2). Flashscore keeps 7 days back (results) and 7 days ahead (fixtures). Day boundaries follow timezoneOffset.",
            "default": [
              "today"
            ],
            "items": {
              "type": "string"
            }
          },
          "statuses": {
            "title": "Match status",
            "type": "array",
            "description": "Keep only these statuses. Empty = all. Finished = has a result; postponed, cancelled (incl. abandoned) and interrupted matches have their own status.",
            "items": {
              "type": "string",
              "enum": [
                "scheduled",
                "live",
                "finished",
                "postponed",
                "cancelled",
                "interrupted"
              ],
              "enumTitles": [
                "Scheduled (fixtures)",
                "Live",
                "Finished (results)",
                "Postponed",
                "Cancelled / abandoned",
                "Interrupted"
              ]
            }
          },
          "countries": {
            "title": "Countries / categories",
            "type": "array",
            "description": "Keep only matches whose country or Flashscore category contains any of these texts (case-insensitive): England, Spain, Europe, World, ATP - Singles, Counter-Strike...",
            "items": {
              "type": "string"
            }
          },
          "leagues": {
            "title": "Leagues / competitions",
            "type": "array",
            "description": "Keep only matches whose competition contains any of these texts (case-insensitive): Premier League, LaLiga, Champions League, NBA, NHL, Euroleague... Also matches the competition URL, e.g. /football/england/premier-league/.",
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "title": "Teams / players",
            "type": "array",
            "description": "Keep only matches with any of these texts in a team or player name, as Flashscore writes it (case-insensitive): Arsenal, Real Madrid, Lakers, Djokovic...",
            "items": {
              "type": "string"
            }
          },
          "includeOdds": {
            "title": "Include bookmaker odds (add-on)",
            "type": "boolean",
            "description": "Fetch the odds comparison of every saved match: average and best price of the sport's main market plus one row per bookmaker and selection. One extra request per match; billed as match-odds only when Flashscore has odds for that match.",
            "default": false
          },
          "oddsRegion": {
            "title": "Odds region",
            "enum": [
              "gb",
              "us-nj",
              "de",
              "fr",
              "au"
            ],
            "type": "string",
            "description": "Bookmakers differ by country, as on the site. United Kingdom lists about 20 bookmakers; the others list 2 to 8.",
            "default": "gb"
          },
          "oddsMarkets": {
            "title": "Odds markets",
            "type": "array",
            "description": "Markets kept in the odds rows. The average / best summary always uses the sport's main market (1x2 or home-away).",
            "items": {
              "type": "string",
              "enum": [
                "1x2",
                "home-away",
                "over-under",
                "asian-handicap",
                "european-handicap",
                "double-chance",
                "draw-no-bet",
                "both-teams-to-score",
                "correct-score",
                "half-full-time",
                "odd-even"
              ],
              "enumTitles": [
                "1X2 (home / draw / away)",
                "Home / away (moneyline)",
                "Over / under",
                "Asian handicap",
                "European handicap",
                "Double chance",
                "Draw no bet",
                "Both teams to score",
                "Correct score",
                "Half time / full time",
                "Odd / even"
              ]
            },
            "default": [
              "1x2",
              "home-away"
            ]
          },
          "oddsAllPeriods": {
            "title": "Odds for every period",
            "type": "boolean",
            "description": "Off = full-time markets only (including overtime where the sport prices it that way). On = also first half, second half, first quarter... where bookmakers offer them.",
            "default": false
          },
          "timezoneOffset": {
            "title": "Timezone offset (hours)",
            "minimum": -12,
            "maximum": 14,
            "type": "integer",
            "description": "UTC offset used for the day boundaries and the date field: 0 = UTC, 1 = Madrid / Paris in winter, -5 = New York in winter, 8 = Singapore. startTime is always UTC.",
            "default": 0
          },
          "maxItems": {
            "title": "Maximum matches",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many matches in total (exact; duplicates are never charged).",
            "default": 100
          },
          "maxPerSportDay": {
            "title": "Maximum matches per sport and day",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Optional cap for each sport-day listing, so several sports share maxItems instead of the first sport filling it. Empty = no cap."
          },
          "feedSign": {
            "title": "Feed signature (advanced)",
            "type": "string",
            "description": "Value of the x-fsign header Flashscore's own pages send with every feed request. Leave empty for the built-in value; change it only if Flashscore rotates it and the run reports blocks."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. Flashscore's data hosts usually answer direct connections; if they block, the Actor moves by itself to Apify datacenter and then residential proxies. Set a proxy here only to force one from the first request.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}