{
  "openapi": "3.0.1",
  "info": {
    "title": "Flashscore Scraper",
    "description": "Scrape Flashscore live scores, results, fixtures, standings, H2H and match stats across football, tennis, basketball and 30+ sports. HTTP-only, MCP-ready.",
    "version": "1.0",
    "x-build-id": "Rhe4LhKcNGyCNrhhf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~flashscore-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-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/khadinakbar~flashscore-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-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/khadinakbar~flashscore-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-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": {
          "sport": {
            "title": "Sport",
            "enum": [
              "football",
              "tennis",
              "basketball",
              "hockey",
              "american-football",
              "baseball",
              "handball",
              "rugby-union",
              "rugby-league",
              "floorball",
              "futsal",
              "volleyball",
              "cricket",
              "darts",
              "snooker",
              "boxing",
              "badminton",
              "water-polo",
              "table-tennis",
              "mma"
            ],
            "type": "string",
            "description": "Sport to scrape in list mode (by day). Pick the sport whose matches you want. Defaults to 'football'. For a sport not listed here, leave this and set the numeric 'sportId' instead.",
            "default": "football"
          },
          "dayOffsets": {
            "title": "Day offsets",
            "type": "array",
            "description": "Which days to scrape in list mode, relative to today. 0 = today, -1 = yesterday's results, 1 = tomorrow's fixtures. Range -7 to 7. Example: [-1, 0, 1]. Ignored when 'date' or 'matchUrls' is set.",
            "default": [
              0
            ]
          },
          "date": {
            "title": "Exact date (optional)",
            "type": "string",
            "description": "Single calendar day to scrape in list mode, as YYYY-MM-DD (e.g. 2026-06-26). Must be within 7 days of today (Flashscore feed limit). Overrides 'dayOffsets'. Leave empty to use 'dayOffsets'."
          },
          "matchUrls": {
            "title": "Match URLs or IDs (detail mode)",
            "type": "array",
            "description": "Flashscore match URLs or raw 8-char match IDs to fetch full match detail for (stats, lineups, incidents, standings, H2H). Example: 'https://www.flashscore.com/match/2L651Hgn/' or '2L651Hgn'. When set, the actor runs detail mode and ignores sport/day inputs.",
            "items": {
              "type": "string"
            }
          },
          "detailSections": {
            "title": "Detail sections",
            "type": "array",
            "description": "Which sections to include for each match in detail mode (and when 'enrichListWithDetails' is on). Defaults to summary, stats, incidents and lineups. Add 'standings' for the league table and 'h2h' for head-to-head history.",
            "items": {
              "type": "string",
              "enum": [
                "summary",
                "stats",
                "incidents",
                "lineups",
                "standings",
                "h2h"
              ],
              "enumTitles": [
                "Summary",
                "Statistics",
                "Incidents (goals/cards/subs)",
                "Lineups",
                "Standings (league table)",
                "Head-to-head"
              ]
            },
            "default": [
              "summary",
              "stats",
              "incidents",
              "lineups"
            ]
          },
          "enrichListWithDetails": {
            "title": "Enrich list with match detail",
            "type": "boolean",
            "description": "In list mode, also fetch full match detail for every match found and nest it under each record. This is slower and bills an extra match-detail event per match. Defaults to false. Leave off for fast, cheap list scraping.",
            "default": false
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on billable records produced this run (list rows or match details). Protects your budget. Defaults to 100. Set higher for full-day or multi-day pulls.",
            "default": 100
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Feed language code for team/league naming (e.g. 'en', 'es', 'de', 'fr'). Defaults to 'en'. This affects text labels only, not which matches are returned.",
            "default": "en"
          },
          "sportId": {
            "title": "Sport ID (advanced)",
            "minimum": 1,
            "type": "integer",
            "description": "Advanced override: Flashscore's numeric sport ID, used only for a sport not in the 'sport' dropdown. Example: 1 = football, 2 = tennis, 3 = basketball. Leave empty to use the 'sport' field."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. Defaults to Apify Proxy (datacenter), which the Flashscore feed tolerates. Switch to residential only if you hit blocks.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}