pdata Prediction Markets
Polymarket, Kalshi + 6 more prediction markets: live odds, volume, movers. Read-only, no auth.
- 2.4.3
- Version
- remote
- Transport
- 14
- Tools
Security review
Review passedReviewed Jan 1, 2000.
- tools: 14 tools scanned
- metadata: scanned
No findings.
Tools (14)
list_events
Use when an agent wants to browse, filter, or search prediction-market events across all 8 platforms. Returns paginated events with their child markets, prices, and platform metadata. Filterable by source (polymarket/kalshi/manifold/myriad/limitless/predict/opinion/gemini), category, country, status (open/closed), and full-text search via `search`. Sortable by `volume_24hr`, `normalized_vol_24hr`, `liquidity`, `end_date`, or `closed_time` (prefix `-` for descending). Cap `page_size` ≤ 50 to keep responses small enough for LLM context windows.
get_event
Use when an agent needs the full detail of a single prediction-market event by its composite key (source + event_id). Returns the event with all of its child markets, latest probabilities, and metadata. The canonical URL `https://pdata.world/events/{source}/{event_id}` is stable for the lifetime of the underlying market. Events that closed more than 10 days ago are removed from the live tables; the same URL then returns a `kind: "tombstone"` object holding the title, close date and final outcome of each top market instead of the live `kind: "live"` object. Check `kind` before reading any other field. Large events carry hundreds of markets (a 311-market event is ~520 KB); pass `markets_limit` to take only the first N.
get_event_similar
Use when an agent needs events similar to a given event — cross-platform equivalents and topically-related markets, precomputed nightly from title embeddings. Best-first; empty list (never an error) when no similarities are known yet.
list_markets
Use when the user wants to browse, filter, or sort individual markets (not events). Returns paginated markets with their probability, volume, source, parent event ID, and 24h delta. Filterable by source, country, category, status, and full-text `search`. Sortable by `volume_24hr` or `probability`. Cap `page_size` ≤ 50 for chat-friendly responses.
get_market
Use when an agent needs the full detail of a single market by its composite key (source + market_id). Returns the market with its parent event reference, current probability, volume, 24h delta, and historical chart points. Includes a `_meta.cite_as` field that the agent can drop directly into its reply.
top_movers
Use when the user wants to see markets with the largest 24h probability swings. Returns the top N movers (default 5, max 20) ranked by absolute `prob_24h_change`, among open markets that moved more than 2 points on over 1,000 units of 24h volume, one per event. Takes the /markets filters; Climate and Weather and Mentions are always left out. Price-derivative markets are included unless `hide_price_derivatives=true`. Useful for 'what changed today?' style queries.
closing_soon
Use when the user wants to see markets that will resolve within the next 36 hours. Returns markets sorted by close timestamp ascending. Takes the /markets filters, e.g. `source=` and `categories=` (CSV); price-derivative markets are included unless `hide_price_derivatives=true`.
search_suggest
Use when an agent has a name or phrase and needs the `(source, id)` of the matching event or market before calling another tool. Resolves free text against events AND markets in one call, best-first, and reports `total_events` / `total_markets` so the agent can tell a precise hit from an ambiguous one. Every row carries `event_path`, the internal link to use for follow-up lookups. Prefer this over running `list_events?search=` and `list_markets?search=` separately when the goal is identification rather than a filtered listing. Note: `headline` carries literal `<b>` highlight markup — quote `title` instead, or strip the tags.
get_summary
Use when an agent needs platform-level context before drilling into individual markets: one row per platform (Polymarket, Kalshi, Manifold, Myriad, Limitless, Predict, Opinion, Gemini) carrying 24h notional volume, active event and market counts, and that platform's category mix. Takes no parameters and returns the whole picture in one small response, which makes it the cheapest way to answer 'how big is X relative to Y' or 'which platform covers this topic'. Volumes are in each platform's native units — Manifold reports play-money mana, not USD — so do not sum across platforms without saying so.
list_countries
Use when an agent needs the list of country tags that markets have been tagged with. Returns the canonical country vocabulary with per-country market counts. Accepts the same filter params as `list_markets` (source, category, status, volume/probability ranges, search, …): the counts then reflect that filtered population, so this doubles as a facet endpoint. The country dimension itself is ignored when computing counts, so passing `country=` does not collapse the menu. Useful as the menu source for the `country=` filter on `list_events` / `list_markets` / `top_movers`.
list_news_movers
Use when the user wants to see the news-feed view: markets that exhibited a probability spike in the chosen lookback window, scored by `|Δprob_pp| × log10(1+USD-equivalent volume)`. Refreshed after each Polymarket ingest cycle, typically every 15-20 min. The `window=` param selects the lookback: 24 (default, ≥15pp), 12 (≥12pp), or 2 (≥2h, ≥10pp); `prob_change` is measured over that window. Includes a `prob_history` array (24h bucketed trajectory) per row regardless of window. Filterable by `source=` and `categories=` (CSV). Soft flags (`is_entertainment`/`is_microprediction`/`is_crypto`/`is_sports`/`is_weather`) default OFF; opt in with `include_*=true`.
news_movers_by_category
Use when the user wants the news feed bucketed by category. Returns the same data shape as `list_news_movers` but pre-grouped into the canonical 14-category vocabulary, with cluster grouping inside each bucket. Useful for 'what's moving in politics?' style queries.
map_heat
Use when you need a geographic snapshot of where prediction-market attention is concentrated. Returns per-country heat (capped news score, summed) for the current moment (`at=now`) or a past hour (`at=<ISO8601>`).
map_timeline
Use when you need the hourly total-heat time series that drives the /map playback scrubber. History accretes from launch (no backfill).