Kalshi Search Markets
Search and list Kalshi prediction markets. Pass `query` for relevance-ranked keyword search by title (e.g. 'knicks', 'super bowl') via Kalshi's keyword search API. Or omit `query` to filter by status, event, and series with cursor-based pagination. Returns market tickers, pricing, volume, and status. Ideal for: finding a market by name, market discovery, dashboards, monitoring categories, automated scanning.
Catalog action Utility
Search and list Kalshi prediction markets. Pass query for relevance-ranked keyword search by title (e.g. 'knicks', 'super bowl') via Kalshi's keyword search API. Or omit query to filter by status, event, and series with cursor-based pagination. Returns market tickers, pricing, volume, and status. Ideal for: finding a market by name, market discovery, dashboards, monitoring categories, automated scanning.
At a Glance
| Field | Value |
|---|---|
| Action ID | kalshi-search-markets |
| Category | Utility |
| Connector | Not required |
| Requires gas | No |
| Funds movement | None declared |
| Tags | kalshi, prediction-market, market-data, read |
Payload Schema
| Field | Type | Required | Description |
|---|---|---|---|
query | string | No | Free-text keyword(s) to find markets by title (e.g., 'knicks', 'super bowl', 'bitcoin'). Returns relevance-ranked active markets via Kalshi's keyword search. NOTE: when query is set, the status/eventTicker/seriesTicker filters below are ignored (they apply only to plain listing). Omit query to list/filter markets by status/event/series. |
status | string | No | Filter markets by status. |
eventTicker | string | No | Filter markets by event ticker (e.g., 'KXBTC-25MAR14') |
seriesTicker | string | No | Filter markets by series ticker (e.g., 'KXBTC') |
limit | number | No | Maximum number of markets to return (default: 20, max: 1000) |
cursor | string | No | Pagination cursor from a previous response to fetch the next page |
Result Schema
| Field | Type | Required | Description |
|---|---|---|---|
markets | array | Yes | Array of matching markets |
cursor | string | No | Cursor for the next page of results (empty if no more pages) |
count | number | No | Number of markets returned |
Examples
json{ "type": "kalshi-search-markets", "payload": { "query": "bitcoin", "status": "unopened", "eventTicker": "example-eventTicker", "seriesTicker": "example-seriesTicker", "limit": 20 }, "children": []}
bashcurl -X POST "https://api.b3os.org/v1/actions/kalshi-search-markets/test" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "inputs": { "query": "bitcoin", "status": "unopened", "eventTicker": "example-eventTicker", "seriesTicker": "example-seriesTicker", "limit": 20 }}'
Payload fields can use workflow expressions such as {{$trigger.body.amount}}, {{$nodes.fetch.result.price}}, and {{$props.asset}} when the value should come from a trigger, prior node, or reusable workflow prop.
