{
  "openapi": "3.0.1",
  "info": {
    "title": "PrizePicks Player Props Scraper",
    "description": "Scrape live PrizePicks player props across NBA, NFL, MLB, NHL, soccer, esports and every active league. Returns line, odds tier (standard, goblin, demon), player, team, matchup, status and promo flags, with no cookies.",
    "version": "0.1",
    "x-build-id": "vrUoiZk88m4AXZqyU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~prizepicks-player-props-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-prizepicks-player-props-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~prizepicks-player-props-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-prizepicks-player-props-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~prizepicks-player-props-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-prizepicks-player-props-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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "projections",
              "league",
              "leagues"
            ],
            "type": "string",
            "description": "What to scrape. projections = player props across selected leagues (default). league = same as projections but requires an explicit league. leagues = output the live league catalog only (ids, names, projection counts).",
            "default": "projections"
          },
          "leagues": {
            "title": "Leagues",
            "type": "array",
            "description": "League names to scrape. Use All for every active board with projections. Names are matched against the live PrizePicks catalog (case-insensitive). Leave empty in projections mode to scrape all active leagues. Type custom seasonal names via leagueIds or free-text known aliases like NBA/MLB.",
            "items": {
              "type": "string",
              "enum": [
                "All",
                "NBA",
                "NFL",
                "MLB",
                "NHL",
                "WNBA",
                "CFB",
                "CBB",
                "Soccer",
                "UFC",
                "PGA",
                "Tennis",
                "CS2",
                "Valorant",
                "League of Legends"
              ],
              "enumTitles": [
                "All active leagues",
                "NBA",
                "NFL",
                "MLB",
                "NHL",
                "WNBA",
                "College Football",
                "College Basketball",
                "Soccer",
                "UFC",
                "PGA",
                "Tennis",
                "CS2",
                "Valorant",
                "League of Legends"
              ]
            }
          },
          "leagueIds": {
            "title": "League IDs",
            "type": "array",
            "description": "Optional numeric PrizePicks league ids (for example 7 for NBA, 9 for NFL, 2 for MLB). Combined with leagues. Use mode=leagues first if you need current ids.",
            "items": {
              "type": "string"
            }
          },
          "players": {
            "title": "Player names",
            "type": "array",
            "description": "Optional case-insensitive substring filters on player display name. Example: Ohtani, Jokic. Leave empty for all players.",
            "items": {
              "type": "string"
            }
          },
          "teams": {
            "title": "Teams",
            "type": "array",
            "description": "Optional case-insensitive filters matching the player team or opponent description. Example: LAL, Yankees, SEA.",
            "items": {
              "type": "string"
            }
          },
          "statTypes": {
            "title": "Stat types",
            "type": "array",
            "description": "Optional case-insensitive substring filters on stat type. Example: Points, Strikeouts, Passing Yards, PRA.",
            "items": {
              "type": "string"
            }
          },
          "oddsTypes": {
            "title": "Odds tiers",
            "type": "array",
            "description": "Keep only these PrizePicks odds tiers. standard = normal line, goblin = easier lower payout, demon = harder higher payout. Leave empty for all tiers.",
            "items": {
              "type": "string",
              "enum": [
                "standard",
                "goblin",
                "demon"
              ],
              "enumTitles": [
                "Standard",
                "Goblin",
                "Demon"
              ]
            }
          },
          "status": {
            "title": "Projection status",
            "enum": [
              "",
              "pre_game",
              "in_progress",
              "final"
            ],
            "type": "string",
            "description": "Keep only projections in this state. Leave empty for all statuses."
          },
          "promoOnly": {
            "title": "Promos / flash sales only",
            "type": "boolean",
            "description": "When true, keep only promotional or flash-sale projections.",
            "default": false
          },
          "liveOnly": {
            "title": "Live / in-game only",
            "type": "boolean",
            "description": "When true, request in-game projections and keep status=in_progress rows.",
            "default": false
          },
          "singleStat": {
            "title": "Single-stat board",
            "type": "boolean",
            "description": "When true (default), request PrizePicks single-stat projections. Turn off only if you intentionally want non-single-stat board modes.",
            "default": true
          },
          "gameMode": {
            "title": "Game mode",
            "type": "string",
            "description": "PrizePicks game_mode query value. pickem is the default consumer board.",
            "default": "pickem"
          },
          "stateCode": {
            "title": "US state code",
            "type": "string",
            "description": "Optional two-letter state code for geo-filtered lines (example: CA, NY). Leave empty for the default board."
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Hard cap on dataset rows written and billed. Prefill is intentionally small for cheap quality tests. Raise for full-board snapshots (busy days can exceed 5,000+ props).",
            "default": 50
          },
          "perPage": {
            "title": "API page size",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "PrizePicks JSON:API page size (1-1000). Larger pages mean fewer requests.",
            "default": 250
          },
          "includeLeagueCatalog": {
            "title": "Also list leagues in summary",
            "type": "boolean",
            "description": "Reserved for diagnostics. Prefer mode=leagues when you only need the catalog as dataset rows.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}