{
  "openapi": "3.0.1",
  "info": {
    "title": "ATP & WTA Tennis Scores & Draws — ESPN Feed",
    "description": "Every ATP and WTA match on the unauthenticated JSON feed espn.com uses — tour events and Grand Slams incl. qualifying — with per-set scores, round, seeds and result text, filtered to your dates. One flat row per match; errors free. Unofficial; no proxy, no key, no standby. No ITF or Challenger.",
    "version": "0.1",
    "x-build-id": "P3skD2dcDkzgsfceO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/acotr_moonie~tennis-scores-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-acotr_moonie-tennis-scores-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/acotr_moonie~tennis-scores-scraper/runs": {
      "post": {
        "operationId": "runs-sync-acotr_moonie-tennis-scores-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/acotr_moonie~tennis-scores-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-acotr_moonie-tennis-scores-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",
        "required": [
          "leagues"
        ],
        "properties": {
          "leagues": {
            "title": "Leagues",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "atp and/or wta for tennis (default). The other leagues of the ESPN feed are also available here. Advanced: any raw ESPN path such as soccer/bra.1 is also accepted as a plain string; unknown paths return a free error row.",
            "items": {
              "type": "string",
              "enum": [
                "nfl",
                "ncaaf",
                "nba",
                "wnba",
                "ncaab",
                "ncaaw",
                "mlb",
                "nhl",
                "mls",
                "nwsl",
                "epl",
                "championship",
                "fa-cup",
                "la-liga",
                "serie-a",
                "bundesliga",
                "ligue-1",
                "eredivisie",
                "primeira-liga",
                "liga-mx",
                "saudi-pro-league",
                "wsl",
                "ucl",
                "uel",
                "uecl",
                "nations-league",
                "world-cup",
                "copa-libertadores",
                "atp",
                "wta",
                "pga",
                "f1",
                "ufc"
              ],
              "enumTitles": [
                "NFL",
                "NCAA Football (FBS)",
                "NBA",
                "WNBA",
                "NCAA Men's Basketball (D-I)",
                "NCAA Women's Basketball",
                "MLB",
                "NHL",
                "MLS",
                "NWSL",
                "Premier League",
                "EFL Championship",
                "FA Cup",
                "La Liga",
                "Serie A",
                "Bundesliga",
                "Ligue 1",
                "Eredivisie",
                "Primeira Liga",
                "Liga MX",
                "Saudi Pro League",
                "Women's Super League",
                "Champions League",
                "Europa League",
                "Conference League",
                "UEFA Nations League",
                "FIFA World Cup",
                "Copa Libertadores",
                "ATP Tennis",
                "WTA Tennis",
                "PGA Tour",
                "Formula 1",
                "UFC"
              ]
            }
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "scoreboard",
              "schedule",
              "standings",
              "teams",
              "summary"
            ],
            "type": "string",
            "description": "scoreboard = games/matches by date (default). schedule = a team's season schedule (needs teams). standings = league table for a season. teams = team directory. summary = box-score level rows for eventIds (leaders, scoring plays, team stats).",
            "default": "scoreboard"
          },
          "dateFrom": {
            "title": "Date from",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "YYYY-MM-DD. Empty = today. Scoreboard mode only. Ranges are fetched in 7-day windows with limit=1000, so nothing is silently truncated. Max span 366 days."
          },
          "dateTo": {
            "title": "Date to",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "YYYY-MM-DD inclusive. Empty = same as dateFrom."
          },
          "teams": {
            "title": "Players (filter or schedule targets)",
            "type": "array",
            "description": "Tennis: player name substring (Alcaraz). Team sports: abbreviations, ESPN numeric ids or display names (LAL, 12, Arsenal). Scoreboard: keeps only matches involving these players/teams (dropped rows are free). Schedule: the teams to fetch.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "status": {
            "title": "Game status",
            "enum": [
              "all",
              "scheduled",
              "live",
              "final"
            ],
            "type": "string",
            "description": "Keep only scheduled, live or final games. Filtering happens before billing.",
            "default": "all"
          },
          "season": {
            "title": "Season",
            "minimum": 2001,
            "maximum": 2030,
            "type": "integer",
            "description": "Season year for standings, schedule and teams modes (e.g. 2025). Empty = ESPN's current season."
          },
          "seasonType": {
            "title": "Season type",
            "enum": [
              "1",
              "2",
              "3"
            ],
            "type": "string",
            "description": "1 = preseason, 2 = regular season, 3 = postseason. Schedule mode only."
          },
          "eventIds": {
            "title": "Event IDs (summary mode)",
            "type": "array",
            "description": "ESPN event ids from a scoreboard run, as league/id (nfl/401671789) or bare id when exactly one league is selected.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeOdds": {
            "title": "Include pregame odds",
            "type": "boolean",
            "description": "Copy the single sportsbook pregame line ESPN shows (provider, spread, over/under, moneylines) into the game row. No extra request; null when absent (tennis, UFC, finished games). Informational only.",
            "default": true
          },
          "maxItems": {
            "title": "Max items (charged rows)",
            "minimum": 0,
            "maximum": 50000,
            "type": "integer",
            "description": "Hard stop on charged rows across all leagues. Your cost ceiling. 0 = no limit.",
            "default": 1000
          },
          "timezone": {
            "title": "Timezone for dateLocal",
            "type": "string",
            "description": "IANA name (America/New_York). Used only to compute dateLocal; dates in the feed are UTC. An unknown name falls back to UTC with a free error row.",
            "default": "UTC"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}