# Kalshi Discovery Spider (`getdataforme/kalshi-discovery-spider`) Actor

Kalshi Discovery Spider is an Apify Actor that scrapes detailed prediction market data from Kalshi. Input queries to discover contracts, real-time pricing, volumes, and categories on topics like politics and economics....

- **URL**: https://apify.com/getdataforme/kalshi-discovery-spider.md
- **Developed by:** [GetDataForMe](https://apify.com/getdataforme) (community)
- **Categories:** AI, Automation, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $9.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

---

## Kalshi Discovery Spider

### Introduction

The Kalshi Discovery Spider is an Apify Actor designed to scrape and extract detailed prediction market data from Kalshi, a leading event-based trading platform. By inputting specific queries, users can discover contracts, market details, pricing, and trading volumes related to various topics like politics, economics, and companies. This tool empowers researchers, analysts, and businesses to access real-time, structured data for informed decision-making and trend analysis.

### Features

- **Comprehensive Data Extraction**: Retrieves full contract details including tickers, titles, categories, tags, and topic keywords for targeted queries.
- **Real-Time Pricing and Volume**: Captures live bid/ask prices, last prices, price deltas, and trading volumes to track market dynamics.
- **Flexible Query Support**: Accepts multiple queries to explore diverse topics, enabling broad or niche market discovery.
- **Structured Output**: Delivers clean JSON data with nested market arrays, making it easy to integrate into analytics tools or databases.
- **High Reliability**: Built on Apify's robust infrastructure for consistent performance and error handling.
- **Scalable and Efficient**: Handles large datasets without rate limiting issues, ideal for batch processing and automated workflows.

### Input Parameters

| Parameter | Type     | Required | Description                                                                 | Example                  |
|-----------|----------|----------|-----------------------------------------------------------------------------|--------------------------|
| Queries  | Array of strings | No      | A list of search terms to query Kalshi's prediction markets. Each query discovers related contracts and market data. | ["elon", "politics"]    |

### Example Usage

#### Input
```json
{
  "Queries": ["elon"]
}
````

#### Output

```json
[
  {
    "query": "elon",
    "type": "contract",
    "series_ticker": "KXMUSKOAI",
    "series_title": "Elon Win vs Open AI",
    "event_ticker": "KXMUSKOAI-26",
    "event_subtitle": "Before 2027",
    "event_title": "Will Elon win his case against OpenAI?",
    "category": "Politics",
    "tags": ["SCOTUS & courts"],
    "topic_keywords": ["AI", "California", "Elon Musk", "OpenAI", "Supreme Court"],
    "total_series_volume": 1067668,
    "total_volume": 1067668,
    "total_market_count": 1,
    "active_market_count": 1,
    "is_trending": false,
    "is_new": false,
    "is_closing": false,
    "is_price_delta": false,
    "search_score": 2400,
    "fee_type": "quadratic",
    "fee_multiplier": 1,
    "markets": [
      {
        "ticker": "KXMUSKOAI-26",
        "yes_subtitle": "Before 2027",
        "no_subtitle": "",
        "yes_bid": 41,
        "yes_ask": 42,
        "last_price": 41,
        "yes_bid_dollars": "0.4100",
        "yes_ask_dollars": "0.4200",
        "last_price_dollars": "0.4100",
        "price_delta": 0,
        "close_ts": "2027-01-01T15:00:00Z",
        "expected_expiration_ts": "2027-01-01T04:59:00Z",
        "open_ts": "2026-01-14T15:00:00Z",
        "rulebook_variables": {},
        "result": "",
        "score": 4108,
        "market_id": "",
        "title": "",
        "icon_url_dark_mode": "https://kalshi-fallback-images.s3.amazonaws.com/structured_icons/dark_diamond.webp",
        "icon_url_light_mode": "https://kalshi-fallback-images.s3.amazonaws.com/structured_icons/diamond.webp",
        "background_color_light_mode": "#AA00FF",
        "background_color_dark_mode": "#D24DFF",
        "previous_price": 41,
        "previous_price_dollars": "0.4100",
        "volume": 2135337
      }
    ],
    "product_metadata": {
      "categories": ["Politics"],
      "promoted_milestone_id": "",
      "scope": null,
      "series_frequency": "one_off",
      "series_tags": ["SCOTUS & courts"],
      "subcategories": {
        "Politics": ["SCOTUS & courts"]
      }
    },
    "actor_id": "Gs34ZRTE0F7Kh8J47",
    "run_id": "xIplCeAsKvdDOmr0H"
  }
  // Additional results omitted for brevity
]
```

### Use Cases

- **Market Research**: Analyze trends in prediction markets for topics like politics or economics to inform investment strategies.
- **Competitive Intelligence**: Track contracts related to companies or individuals, such as Elon Musk, for business insights.
- **Price Monitoring**: Monitor bid/ask spreads and volumes for real-time trading signals.
- **Content Aggregation**: Gather data for blogs, reports, or dashboards on emerging market events.
- **Academic Research**: Study public sentiment and probabilities on future events through structured market data.
- **Business Automation**: Integrate into workflows for automated data feeds in financial analysis tools.

### Installation and Usage

1. Search for "Kalshi Discovery Spider" in the Apify Store.
2. Click "Try for free" or "Run".
3. Configure input parameters (e.g., add queries).
4. Click "Start" to begin extraction.
5. Monitor progress in the log.
6. Export results in your preferred format (JSON, CSV, Excel).

### Output Format

The output is a JSON array of objects, each representing a discovered contract. Key fields include: `query` (original search term), `series_ticker` and `event_ticker` (unique identifiers), `event_title` and `category` (descriptive info), `markets` (array of market details with pricing, timestamps, and volumes), and `product_metadata` (categorization and tags). This structure ensures easy parsing for analysis, with fields like `yes_bid`, `last_price`, and `volume` providing quantitative data.

### Support

For custom/simplified outputs or bug reports, please contact:

- Email: support@getdataforme.com
- Subject line: "custom support"
- Contact form: https://getdataforme.com/contact/

We're here to help you get the most out of this Actor!

***

# Actor input Schema

## `Queries` (type: `array`):

The queries for the spider.

## Actor input object example

```json
{
  "Queries": [
    "elon"
  ]
}
```

# Actor output Schema

## `results` (type: `string`):

Scraped data items from dataset

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("getdataforme/kalshi-discovery-spider").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("getdataforme/kalshi-discovery-spider").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call getdataforme/kalshi-discovery-spider --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getdataforme/kalshi-discovery-spider",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Kalshi Discovery Spider",
        "description": "Kalshi Discovery Spider is an Apify Actor that scrapes detailed prediction market data from Kalshi. Input queries to discover contracts, real-time pricing, volumes, and categories on topics like politics and economics....",
        "version": "0.0",
        "x-build-id": "JGTnGaHX4plRfs33V"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getdataforme~kalshi-discovery-spider/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getdataforme-kalshi-discovery-spider",
                "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/getdataforme~kalshi-discovery-spider/runs": {
            "post": {
                "operationId": "runs-sync-getdataforme-kalshi-discovery-spider",
                "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/getdataforme~kalshi-discovery-spider/run-sync": {
            "post": {
                "operationId": "run-sync-getdataforme-kalshi-discovery-spider",
                "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": {
                    "Queries": {
                        "title": "Queries",
                        "type": "array",
                        "description": "The queries for the spider.",
                        "default": [
                            "elon"
                        ],
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
