{
  "openapi": "3.0.1",
  "info": {
    "title": "Prediction Market Odds Feed: Polymarket Prices & Probabilities",
    "description": "Live prediction market odds in one clean table: question, outcome prices, implied probability, bid/ask, volume, liquidity, open interest, close date and result. Filter by keyword, category, volume and closing date. Optional price history. Official public API, no login.",
    "version": "0.1",
    "x-build-id": "jcwGrveKMgLbNTNq4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/steady-scrape~prediction-markets/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-steady-scrape-prediction-markets",
        "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/steady-scrape~prediction-markets/runs": {
      "post": {
        "operationId": "runs-sync-steady-scrape-prediction-markets",
        "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/steady-scrape~prediction-markets/run-sync": {
      "post": {
        "operationId": "run-sync-steady-scrape-prediction-markets",
        "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": {
          "platforms": {
            "title": "Platforms",
            "type": "array",
            "description": "Which venues to read. Kalshi is currently unavailable; runs that include it return Polymarket only and say so in the summary.",
            "items": {
              "type": "string",
              "enum": [
                "polymarket",
                "kalshi"
              ],
              "enumTitles": [
                "Polymarket",
                "Kalshi (currently unavailable)"
              ]
            },
            "default": [
              "polymarket"
            ]
          },
          "searchTerms": {
            "title": "Keywords",
            "type": "array",
            "description": "Markets matching any of these. Every word must appear in the question, event title, outcome or tags (word prefixes count: \"elect\" matches \"election\"). Put a phrase in quotes for an exact match.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "Categories",
            "type": "array",
            "description": "Only markets in any of these categories.",
            "items": {
              "type": "string",
              "enum": [
                "politics",
                "elections",
                "economy",
                "finance",
                "companies",
                "crypto",
                "sports",
                "esports",
                "geopolitics",
                "tech",
                "science",
                "culture",
                "weather"
              ],
              "enumTitles": [
                "Politics",
                "Elections",
                "Economy & Fed",
                "Finance & Markets",
                "Companies & Business",
                "Crypto",
                "Sports",
                "Esports",
                "World & Geopolitics",
                "Tech & AI",
                "Science & Health",
                "Culture & Entertainment",
                "Weather & Climate"
              ]
            }
          },
          "marketIds": {
            "title": "Specific markets",
            "type": "array",
            "description": "Market URLs, event URLs (every market in the event), slugs, numeric market IDs or 0x condition IDs. When set, keywords, categories and filters are ignored and the markets come back as given, even if closed.",
            "items": {
              "type": "string"
            }
          },
          "activeOnly": {
            "title": "Open markets only",
            "type": "boolean",
            "description": "Skip closed and resolved markets. Turn off to include resolved markets with their result.",
            "default": true
          },
          "minVolume": {
            "title": "Minimum lifetime volume (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only markets that have traded at least this much in total."
          },
          "minLiquidity": {
            "title": "Minimum liquidity (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only markets with at least this much resting liquidity in the order book."
          },
          "closingWithinDays": {
            "title": "Closing within (days)",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Only markets whose scheduled close date is within this many days from now. 0 = closing today."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "volume",
              "volume24h",
              "liquidity",
              "closingSoon",
              "newest"
            ],
            "type": "string",
            "description": "Order of the results (and which markets are kept when Max markets is reached).",
            "default": "volume"
          },
          "maxItems": {
            "title": "Max markets",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many markets. Each market is one charged result.",
            "default": 100
          },
          "strictKeywordMatch": {
            "title": "Strict keyword match",
            "type": "boolean",
            "description": "Keep only markets where every keyword word appears. Turn off to keep everything the venue's own search returns.",
            "default": true
          },
          "includeOpenInterest": {
            "title": "Add open interest",
            "type": "boolean",
            "description": "Per-market open interest (USD). Adds a few quick requests per run.",
            "default": true
          },
          "includeRules": {
            "title": "Add resolution rules",
            "type": "boolean",
            "description": "Include the full resolution rules text on each row (long).",
            "default": false
          },
          "includePriceHistory": {
            "title": "Add price history",
            "type": "boolean",
            "description": "Attach a probability time series for the first market outcome (Yes) of each market.",
            "default": false
          },
          "priceHistoryDays": {
            "title": "Price history: days",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "How far back the history goes.",
            "default": 30
          },
          "priceHistoryInterval": {
            "title": "Price history: interval",
            "enum": [
              "daily",
              "hourly"
            ],
            "type": "string",
            "description": "One point per day or per hour.",
            "default": "daily"
          },
          "priceHistoryMaxMarkets": {
            "title": "Price history: max markets",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "History is added to the first N markets in the result order (one extra request per market).",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}