kalshi_structured_targets
Pack: kalshi · Endpoint: https://gateway.pipeworx.io/kalshi/mcp
Kalshi’s entity index — players, teams, actors, films its markets reference — from Kalshi.
Tool description as the model sees it
The ENTITIES Kalshi’s markets are about, as Kalshi models them — players, teams, actors, films and similar — from GET /structured_targets. Each row has a stable id, a type — granular by sport, e.g. “actor”, “football_player”, “soccer_team”, “film”, “company”, “politician”, with NO bare “player” or “team” and no error for an unknown one (it returns an empty list, and the response names the known types when that happens), a name, source ids, and a type-specific details block (a player carries league, position, jersey, team_id; an actor carries films and social handles). Use it to resolve a name to the id Kalshi itself uses, so a market about a person can be tied to that person rather than to a string that happens to match. Filter by type, competition, or explicit ids; page with cursor (up to 2,000 per page). This is a reference index, not market data — nothing here carries a price.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | no | Entity type. Kalshi’s types are GRANULAR BY SPORT and there is no bare “player”, “team” or “athlete” — an unknown value returns 200 with an EMPTY list rather than an error. Seen live 2026-09-16: actor, album, baseball_player, baseball_team, basketball_player, basketball_team, company, couple, cricket_team, darts_competitor, esports_competitor, film, football_player, football_team, golf_competitor, hockey_player, politician, racing_competitor, soccer_player, soccer_team, song, table_tennis_competitor, tennis_competitor, tv_show, ufc_competitor, volleyball_team. |
competition | string | no | Competition filter, e.g. “NFL”, “NCAAMB”. Same silent-empty behaviour as type for an unrecognised value. |
ids | array | no | Explicit structured-target ids to fetch. A comma-separated string is accepted too. |
items | string | no | |
page_size | number | no | 1-2000 (default 100). |
cursor | string | no | Pagination cursor from a previous response. |
Example call
Arguments
{
"type": "football_player",
"page_size": 3
}
curl
curl -X POST https://gateway.pipeworx.io/kalshi/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"kalshi_structured_targets","arguments":{"type":"football_player","page_size":3}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('kalshi_structured_targets', {
"type": "football_player",
"page_size": 3
});
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"kalshi": {
"url": "https://gateway.pipeworx.io/kalshi/mcp"
}
}
}
See Getting Started for client-specific install steps.