{
  "openapi": "3.0.1",
  "info": {
    "title": "Polymarket & Kalshi Odds API Data Scraper",
    "description": "Get live Polymarket and Kalshi odds in one table. Filter markets by keyword, category, venue, volume or close time and export clean JSON for analysis.",
    "version": "0.0",
    "x-build-id": "ZXayic1MTzDRHzpIx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pulse-data~polymarket-kalshi-odds/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pulse-data-polymarket-kalshi-odds",
        "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/pulse-data~polymarket-kalshi-odds/runs": {
      "post": {
        "operationId": "runs-sync-pulse-data-polymarket-kalshi-odds",
        "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/pulse-data~polymarket-kalshi-odds/run-sync": {
      "post": {
        "operationId": "run-sync-pulse-data-polymarket-kalshi-odds",
        "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": {
          "venues": {
            "title": "Venues",
            "minItems": 1,
            "maxItems": 2,
            "uniqueItems": true,
            "type": "array",
            "description": "Which prediction markets to read. Results from the two venues are returned in one unified format.",
            "items": {
              "type": "string",
              "enum": [
                "polymarket",
                "kalshi"
              ],
              "enumTitles": [
                "Polymarket",
                "Kalshi"
              ]
            },
            "default": [
              "polymarket",
              "kalshi"
            ]
          },
          "query": {
            "title": "Keyword",
            "maxLength": 100,
            "type": "string",
            "description": "Only return markets whose event title or question contains every word you type (case-insensitive). Leave empty for all markets. Example: bitcoin, fed rate, hurricane.",
            "default": ""
          },
          "categories": {
            "title": "Categories",
            "maxItems": 11,
            "uniqueItems": true,
            "type": "array",
            "description": "Only return markets in these unified categories. Leave empty for all categories.",
            "items": {
              "type": "string",
              "enum": [
                "politics",
                "elections",
                "world",
                "economics",
                "finance",
                "crypto",
                "sports",
                "weather",
                "entertainment",
                "science-tech",
                "other"
              ],
              "enumTitles": [
                "Politics",
                "Elections",
                "World",
                "Economics",
                "Finance",
                "Crypto",
                "Sports",
                "Weather",
                "Entertainment",
                "Science and technology",
                "Other"
              ]
            },
            "default": []
          },
          "status": {
            "title": "Market status",
            "enum": [
              "open",
              "closed"
            ],
            "type": "string",
            "description": "Open returns markets that can be traded now. Closed returns markets whose trading has ended (closed or settled) and that were actually traded.",
            "default": "open"
          },
          "kalshiSeriesTickers": {
            "title": "Kalshi series tickers",
            "maxItems": 20,
            "type": "array",
            "description": "Optional. Read only these Kalshi series, for example KXHIGHNY for the daily high temperature in New York City. When set, the Actor skips its built-in highlight series and its general scan. Ignored when Kalshi is not selected. Maximum 20.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minVolume24h": {
            "title": "Minimum 24h volume",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "number",
            "description": "Skip markets traded less than this in the last 24 hours. Polymarket volume is in US dollars, Kalshi volume is in contracts; see the volumeUnit field. 0 keeps everything.",
            "default": 0
          },
          "includeRules": {
            "title": "Include resolution rules",
            "type": "boolean",
            "description": "Add the full resolution rules text to every row (makes rows larger). Off by default.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "volume24h",
              "closeTime"
            ],
            "type": "string",
            "description": "Volume ranks the most traded markets first within each venue and alternates venues. Close time puts markets that close soonest first across both venues and leaves out markets whose close time has already passed; with status Closed it puts the most recently closed first.",
            "default": "volume24h"
          },
          "scanDepth": {
            "title": "Kalshi scan depth",
            "enum": [
              "standard",
              "full"
            ],
            "type": "string",
            "description": "Kalshi cannot rank markets by volume itself, so the Actor ranks what it reads. Standard reads the popular Kalshi series (sports games, daily weather, Fed and CPI) plus up to 600 other events. Full reads up to 12,000 events and takes much longer.",
            "default": "standard"
          },
          "maxItems": {
            "title": "Maximum market rows",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many market rows have been delivered. You are charged per delivered row.",
            "default": 20
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}