{
  "openapi": "3.0.1",
  "info": {
    "title": "ESPN Sports Scraper — Scores, Standings, Rosters & Injuries",
    "description": "ESPN sports data: scores and results with period scores and top performers, team season schedules, standings, teams, pro rosters, injury reports and news for NFL, NBA, WNBA, MLB, NHL, college and soccer leagues.",
    "version": "0.1",
    "x-build-id": "cjWvyWp5sfqUhMRG6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fabrikit~espn-sports-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fabrikit-espn-sports-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~espn-sports-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fabrikit-espn-sports-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~espn-sports-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fabrikit-espn-sports-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": {
          "dataType": {
            "title": "What to scrape",
            "enum": [
              "games",
              "schedule",
              "standings",
              "teams",
              "rosters",
              "injuries",
              "news"
            ],
            "type": "string",
            "description": "`games`: scores, results and upcoming games for the chosen dates. `schedule`: the full season of the teams in `teams`. `standings`: league tables. `teams`: team directory with venue, record and next game. `rosters`: players of professional teams. `injuries`: current injury report (NFL, NBA, WNBA, MLB, NHL). `news`: latest headlines per league or team.",
            "default": "games"
          },
          "leagues": {
            "title": "Leagues",
            "type": "array",
            "description": "Leagues to cover. Rosters are only returned for professional leagues; injuries only where ESPN publishes a report (NFL, NBA, WNBA, MLB, NHL).",
            "items": {
              "type": "string",
              "enum": [
                "nfl",
                "ncaaf",
                "nba",
                "wnba",
                "ncaab",
                "mlb",
                "nhl",
                "mls",
                "epl",
                "laliga",
                "bundesliga",
                "seriea",
                "ligue1",
                "ucl",
                "ligamx"
              ],
              "enumTitles": [
                "NFL",
                "NCAA Football (FBS)",
                "NBA",
                "WNBA",
                "NCAA Men's Basketball (Division I)",
                "MLB",
                "NHL",
                "MLS",
                "English Premier League",
                "Spanish LaLiga",
                "German Bundesliga",
                "Italian Serie A",
                "French Ligue 1",
                "UEFA Champions League",
                "Mexican Liga MX"
              ]
            }
          },
          "customLeagues": {
            "title": "Other ESPN leagues (advanced)",
            "type": "array",
            "description": "Any other team-sport league on ESPN, written as `sport/league` exactly like in ESPN's URLs: soccer/ned.1 (Eredivisie), soccer/por.1, soccer/uefa.europa, soccer/arg.1, football/cfl... Unknown paths are reported in the log and skipped.",
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "title": "Teams",
            "type": "array",
            "description": "Optional. Limit the run to these teams: ESPN abbreviation (LAL), full name (Los Angeles Lakers), nickname (Lakers) or ESPN team id (13). Required for `schedule` in college leagues. For `news` each team gets its own feed.",
            "items": {
              "type": "string"
            }
          },
          "dateFrom": {
            "title": "From date",
            "type": "string",
            "description": "First game day for `games`, YYYY-MM-DD (US Eastern). Also accepts `today`, `yesterday`, `tomorrow`, `-3` or `+2` (days from today). Empty = yesterday, so the default run returns last night's results and today's games. NFL and college football without dates use ESPN's current week."
          },
          "dateTo": {
            "title": "To date",
            "type": "string",
            "description": "Last game day for `games` (inclusive), YYYY-MM-DD. Empty = `dateFrom` plus `days` - 1. At most 31 days per run."
          },
          "days": {
            "title": "Days to cover",
            "minimum": 1,
            "maximum": 31,
            "type": "integer",
            "description": "Number of days for `games` when `dateTo` is empty. One request per league and day.",
            "default": 2
          },
          "gameStates": {
            "title": "Game states",
            "type": "array",
            "description": "For `games` and `schedule`: keep only games in these states. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "pre",
                "in",
                "post"
              ],
              "enumTitles": [
                "Scheduled (upcoming)",
                "Live",
                "Finished"
              ]
            }
          },
          "season": {
            "title": "Season",
            "minimum": 1900,
            "maximum": 2100,
            "type": "integer",
            "description": "For `schedule` and `standings`. Empty = current season. ESPN numbers NBA, NHL and college basketball seasons by the year they end (2026 = 2025-26) and soccer seasons by the year they start (2025 = 2025-26); NFL and MLB by their calendar year."
          },
          "seasonType": {
            "title": "Season part (schedule)",
            "enum": [
              "current",
              "regular",
              "postseason"
            ],
            "type": "string",
            "description": "For `schedule` in US leagues: regular season or postseason. Empty = whatever part of the season ESPN shows now.",
            "default": "current"
          },
          "standingsLevel": {
            "title": "Standings grouping",
            "enum": [
              "default",
              "overall",
              "division"
            ],
            "type": "string",
            "description": "For `standings`: ESPN's default grouping (conferences in the NBA, NFL and NHL; leagues in MLB; one table in soccer), a single overall table, or divisions.",
            "default": "default"
          },
          "includeTeamDetails": {
            "title": "Team details (teams)",
            "type": "boolean",
            "description": "For `teams`: one extra request per team to add the home venue, current record, standing summary and next game. Turn off for a faster logo and colour list.",
            "default": true
          },
          "includePlayerNotes": {
            "title": "Include player notes (injuries)",
            "type": "boolean",
            "description": "For `injuries`: ESPN's feed also carries short notes on healthy (Active) players, e.g. last game's stat line. Off = only real injury designations (Out, Questionable, Injured Reserve, Day-To-Day...).",
            "default": false
          },
          "newsLimit": {
            "title": "Articles per feed (news)",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "For `news`: how many headlines to request per league (or per team when `teams` is set). ESPN returns at most 50.",
            "default": 20
          },
          "maxItems": {
            "title": "Maximum rows",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many rows in total (exact). Each row is one game, standings line, team, player, injury or article.",
            "default": 500
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional. ESPN's public API accepts direct connections, so no proxy is used by default. If the platform's IP is ever refused, the Actor retries with other browser headers and then with Apify Proxy (datacenter) on its own.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}