{
  "openapi": "3.0.1",
  "info": {
    "title": "DraftKings Sportsbook Odds & Player Props Scraper",
    "description": "Scrapes DraftKings Sportsbook odds for NBA, NFL, MLB, NHL, UFC, soccer and more: moneylines, spreads, totals, alternate lines, player props and futures, one row per selection with American or decimal odds and implied probability.",
    "version": "1.0",
    "x-build-id": "2h1LnszjZnrahzxkE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/confidential_gnat~draftkings-odds-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-confidential_gnat-draftkings-odds-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/confidential_gnat~draftkings-odds-scraper/runs": {
      "post": {
        "operationId": "runs-sync-confidential_gnat-draftkings-odds-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/confidential_gnat~draftkings-odds-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-confidential_gnat-draftkings-odds-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": "DraftKings league or game URLs",
            "type": "array",
            "description": "DraftKings Sportsbook pages, for example https://sportsbook.draftkings.com/leagues/basketball/nba or https://sportsbook.draftkings.com/leagues/football/nfl (league pages) or a single game page such as https://sportsbook.draftkings.com/event/bos-celtics-%40-det-pistons/34510070. Leave empty to use the league pickers below.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "leagues": {
            "title": "Leagues",
            "type": "array",
            "description": "Pick leagues to scrape in addition to the start URLs (never applied to them).",
            "items": {
              "type": "string",
              "enum": [
                "nba",
                "wnba",
                "nfl",
                "ncaaf",
                "mlb",
                "nhl",
                "ufc",
                "mls"
              ],
              "enumTitles": [
                "NBA",
                "WNBA",
                "NFL",
                "College football",
                "MLB",
                "NHL",
                "UFC",
                "MLS"
              ]
            },
            "default": []
          },
          "maxItems": {
            "title": "Max games",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum games per start URL (soonest first). For futures it is the maximum futures events per category. Every game returns all the selected markets. A game page counts as one.",
            "default": 5
          },
          "marketCategories": {
            "title": "Market categories",
            "type": "array",
            "description": "What to scrape. Game lines = moneyline, spread and total (one request per league). Alternate lines = alternate spreads and totals, 3-way and half-time/full-time (one extra request per game). Player props = all player categories (points, rebounds, passing yards...; one extra request per game and category). Game props = quarters, halves, team props and other game specials. Futures = awards, champions and season markets. Leave empty for game lines only.",
            "items": {
              "type": "string",
              "enum": [
                "game_lines",
                "alternate_lines",
                "player_props",
                "game_props",
                "futures"
              ],
              "enumTitles": [
                "Game lines",
                "Alternate lines",
                "Player props",
                "Game props",
                "Futures"
              ]
            },
            "default": []
          },
          "propTypes": {
            "title": "Prop types",
            "type": "array",
            "description": "Only fetch and keep markets and categories that contain one of these words, for example points, rebounds, assists, passing yards, touchdown, strikeouts, mvp. Leave empty for everything in the selected categories.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "includeLive": {
            "title": "Include live (in-play) games",
            "type": "boolean",
            "description": "Also return games that already started. Live odds change every few seconds, so each record shows the odds at scrape time.",
            "default": false
          },
          "oddsFormat": {
            "title": "Odds format",
            "enum": [
              "american",
              "decimal",
              "both"
            ],
            "type": "string",
            "description": "American odds (+120, -110), decimal odds (2.20, 1.91) or both.",
            "default": "american"
          },
          "leagueIds": {
            "title": "League IDs",
            "type": "array",
            "description": "Optional. Any other DraftKings league by id (the number in the navigation list), for example 89345 for MLS. Or paste the league page into the start URLs.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "snapshotName": {
            "title": "Snapshot name",
            "type": "string",
            "description": "Optional. Use the same name on each scheduled run to track line movement. Every record gets changeSinceLastRun: new, changed or unchanged (odds or line moved). Records are never skipped, so odds are always fresh."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "DraftKings blocks datacenter and home IPs. Use Apify Proxy with the RESIDENTIAL group (US, GB and CA all work). Blocked requests are retried on a new IP automatically.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}