{
  "openapi": "3.0.1",
  "info": {
    "title": "SofaScore Scraper [$1/1K 💰] Matches, Stats, Lineups & Odds",
    "description": "SofaScore scraper for 24 sports: live scores, fixtures and results by day, match statistics, lineups with player ratings, incidents, odds, standings, teams, squads and player profiles. Paste any SofaScore URL or search by name. One flat price per row, every match detail included.",
    "version": "0.0",
    "x-build-id": "IpXNgpUMxNVQBRfd5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~sofascore-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-sofascore-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/memo23~sofascore-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-sofascore-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/memo23~sofascore-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-sofascore-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": {
          "startUrls": {
            "title": "SofaScore URLs",
            "type": "array",
            "description": "Any match, team, player or league page from sofascore.com. A sport page (sofascore.com/basketball) lists that sport's matches for today. Examples:\n- Match: https://www.sofascore.com/football/match/arsenal-leeds-united/JsR#id:16363871\n- Team: https://www.sofascore.com/football/team/arsenal/42\n- Player: https://www.sofascore.com/football/player/erling-haaland/839956\n- League: https://www.sofascore.com/football/tournament/england/premier-league/17",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "searchQueries": {
            "title": "Search by name",
            "type": "array",
            "description": "Team, player, league or match names, one per line (for example: Real Madrid, Nikola Jokic, Serie A). The run follows the best hits and returns their data, so you do not need a URL or an id.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "Search for",
            "enum": [
              "all",
              "teams",
              "players",
              "tournaments",
              "matches"
            ],
            "type": "string",
            "description": "Limit the search to one kind of result. \"Anything\" takes SofaScore's own ranking across all kinds.",
            "default": "all"
          },
          "maxResultsPerQuery": {
            "title": "Search hits to follow per name",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many of the top search hits to return for each name.",
            "default": 5
          },
          "sports": {
            "title": "Sports (matches by day or live)",
            "type": "array",
            "description": "Lists every match of the chosen sports for the days set below, the most-followed leagues first. Leave empty if you only want the URLs and names above.",
            "items": {
              "type": "string",
              "enum": [
                "football",
                "basketball",
                "tennis",
                "ice-hockey",
                "american-football",
                "baseball",
                "volleyball",
                "handball",
                "table-tennis",
                "cricket",
                "rugby",
                "esports",
                "mma",
                "futsal",
                "badminton",
                "darts",
                "snooker",
                "waterpolo",
                "aussie-rules",
                "floorball",
                "minifootball",
                "padel",
                "bandy",
                "beach-volley"
              ],
              "enumTitles": [
                "Football",
                "Basketball",
                "Tennis",
                "Ice hockey",
                "American football",
                "Baseball",
                "Volleyball",
                "Handball",
                "Table tennis",
                "Cricket",
                "Rugby",
                "Esports",
                "MMA",
                "Futsal",
                "Badminton",
                "Darts",
                "Snooker",
                "Water polo",
                "Aussie rules",
                "Floorball",
                "Minifootball",
                "Padel",
                "Bandy",
                "Beach volleyball"
              ]
            }
          },
          "liveOnly": {
            "title": "Live matches only",
            "type": "boolean",
            "description": "Return only the matches in play right now for the chosen sports. The day settings below are then ignored.",
            "default": false
          },
          "dateFrom": {
            "title": "From date",
            "type": "string",
            "description": "First day to list, as YYYY-MM-DD in UTC. Leave empty to count from today with the two fields below."
          },
          "dateTo": {
            "title": "To date",
            "type": "string",
            "description": "Last day to list. Leave empty for a single day. A run covers up to 31 days."
          },
          "daysBack": {
            "title": "Days back from today",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "For scheduled runs: include this many days before today. Ignored when a From date is set. Example: 1 with \"Finished only\" gives yesterday's and today's results every time the run starts.",
            "default": 0
          },
          "daysAhead": {
            "title": "Days ahead of today",
            "minimum": 0,
            "maximum": 30,
            "type": "integer",
            "description": "For scheduled runs: include this many days after today. Ignored when a From date is set. Example: 7 with \"Upcoming only\" gives the coming week's fixtures.",
            "default": 0
          },
          "matchPeriod": {
            "title": "Which matches",
            "enum": [
              "all",
              "finished",
              "upcoming"
            ],
            "type": "string",
            "description": "Applies to day lists and to the matches of a league, team or player.",
            "default": "all"
          },
          "matchDetails": {
            "title": "Details per match",
            "type": "array",
            "description": "Each option is one extra request per match, so fewer options means faster runs and smaller rows. Statistics, incidents, shot map, top players, momentum, commentary and average positions exist only once a match has started.",
            "items": {
              "type": "string",
              "enum": [
                "venue",
                "statistics",
                "lineups",
                "incidents",
                "odds",
                "h2h",
                "votes",
                "shotmap",
                "bestPlayers",
                "momentum",
                "commentary",
                "averagePositions",
                "form",
                "streaks",
                "winProbability"
              ],
              "enumTitles": [
                "Venue, referee, attendance and managers",
                "Statistics (possession, xG, shots ... per period)",
                "Lineups with player ratings and statistics",
                "Incidents (goals, cards, substitutions, VAR)",
                "Odds (all markets, opening and current)",
                "Head-to-head record",
                "Fan votes",
                "Shot map",
                "Top players of the match",
                "Momentum graph",
                "Text commentary",
                "Average player positions",
                "Form before the match",
                "Team streaks",
                "Win probability"
              ]
            },
            "default": [
              "venue",
              "statistics",
              "lineups",
              "incidents"
            ]
          },
          "leagueData": {
            "title": "For each league",
            "type": "array",
            "description": "What a league URL or a league found by name returns. Standings give one row per team. Matches give one row per match of the season. Player statistics give one row per player.",
            "items": {
              "type": "string",
              "enum": [
                "info",
                "standings",
                "matches",
                "playerStats"
              ],
              "enumTitles": [
                "League info",
                "Standings",
                "Matches of the season",
                "Player statistics"
              ]
            },
            "default": [
              "info",
              "standings",
              "matches"
            ]
          },
          "season": {
            "title": "Season",
            "type": "string",
            "description": "For leagues: 24/25, 2024/2025, 2024 or a SofaScore season id. Leave empty for the current season."
          },
          "teamData": {
            "title": "For each team",
            "type": "array",
            "description": "What a team row carries besides the profile (manager, venue, league, followers, form). \"Matches\" adds one row per match of the team.",
            "items": {
              "type": "string",
              "enum": [
                "squad",
                "seasonStatistics",
                "transfers",
                "matches"
              ],
              "enumTitles": [
                "Squad",
                "Season statistics",
                "Transfers in and out",
                "Matches of the team"
              ]
            },
            "default": [
              "squad"
            ]
          },
          "playerData": {
            "title": "For each player",
            "type": "array",
            "description": "What a player row carries besides the profile (team, position, age, height, market value, contract). \"Matches\" adds one row per match the player took part in.",
            "items": {
              "type": "string",
              "enum": [
                "seasonStatistics",
                "transferHistory",
                "nationalTeam",
                "attributes",
                "matches"
              ],
              "enumTitles": [
                "Statistics for every season",
                "Transfer history",
                "National team record",
                "Attributes and strengths",
                "Matches of the player"
              ]
            },
            "default": [
              "seasonStatistics",
              "transferHistory"
            ]
          },
          "matchIds": {
            "title": "Match ids",
            "type": "array",
            "description": "SofaScore match ids, one per line (the number after #id: in a match URL). Handy when you already store ids from an earlier run.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "The run stops after this many rows. One row is one match, team, player, league, standings line or player-statistics line. Free Apify plans get up to 100 rows per run.",
            "default": 100
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}