markets

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/api/v1/markets

Request

  • Base URL: https://api.pdata.world
  • URL: https://api.pdata.world/api/v1/markets
  • Auth: none declared

Query parameters

pageinteger

Page number (1-indexed).

page_sizeinteger

Items per page (1-200; default 50). Pass page_size=5 for chat-style summaries.

spread_minnumber nullable

Minimum bid-ask spread (0-1). Higher = less liquid.

spread_maxnumber nullable

Maximum bid-ask spread (0-1). Lower = more liquid.

probability_minnumber nullable

Minimum probability (0-1). Filters to markets above this implied probability.

probability_maxnumber nullable

Maximum probability (0-1).

prob_24h_change_minnumber nullable

Minimum 24h probability change (-1 to 1, signed). Use 0.15 for >=15pp positive moves.

prob_24h_change_maxnumber nullable

Maximum 24h probability change (-1 to 1, signed).

volume_24h_change_minnumber nullable

Minimum 24h notional volume change (signed USD; e.g. 1000 means +$1k vs prior 24h).

volume_24h_change_maxnumber nullable

Maximum 24h notional volume change (signed USD).

sourcestring nullable

Source name(s); single value or comma-separated list. Allowed: polymarket, kalshi, manifold, myriad, limitless, predict, opinion, gemini.

activeboolean nullable

Filter by active flag (true/false).

closedboolean nullable

Filter by closed flag (true/false). Open markets are closed=false.

volume_24hr_minnumber nullable

Minimum 24h notional volume (USD). Excludes low-activity markets.

volume_24hr_maxnumber nullable

Maximum 24h notional volume (USD).

volume_minnumber nullable

Minimum cumulative volume (USD). Excludes low-activity markets across full history.

volume_maxnumber nullable

Maximum cumulative volume (USD).

rank_minnumber nullable

Minimum rank score (numeric). Higher = more prominent.

rank_maxnumber nullable

Maximum rank score (numeric).

ends_afterstring date-time nullable

Filter to events whose end_date >= this ISO 8601 datetime (e.g. 2026-06-01T00:00:00Z).

ends_beforestring date-time nullable

Filter to events whose end_date <= this ISO 8601 datetime.

hide_endedboolean

If true, hide markets/events whose end_date is in the past (end_date <= now()); rows with no end_date are kept.

created_afterstring date-time nullable

Filter to rows whose created_at >= this ISO 8601 datetime (first appearance in pdata's database).

created_beforestring date-time nullable

Filter to rows whose created_at <= this ISO 8601 datetime.

statusstring nullable

Comma-separated status list; any of {open, closing-soon, resolved}

searchstring nullable

Full-text search across title, description, slug. Case-insensitive substring match.

sortstring nullable

Field name; prefix '-' for descending order (e.g. -volume_24hr). Common allowed values: volume_24hr, normalized_vol_24hr, liquidity, end_date, closed_time, updated_at. Markets endpoints additionally accept probability, prob_24h_change, spread. Invalid values return 400.

categoriesstring nullable

Comma-separated category labels to include (OR)

categories_excludestring nullable

Comma-separated category labels to exclude

hide_price_derivativesboolean

If true, exclude events with is_price_derivative=TRUE

include_uncategorizedboolean

If true, the include clause also matches rows whose categories array is empty/NULL or contains only labels outside the canonical set (synthetic 'Other' bucket).

countriesstring nullable

Comma-separated country names to include (OR). Full English names per the AI categorizer's prompt — e.g. 'United States', 'United Kingdom', 'European Union'. No allow-list — misspelled values silently yield zero matches.

countries_excludestring nullable

Comma-separated country names to exclude.

include_uncountriedboolean

If true, the include clause also matches rows whose countries array is empty/NULL — country-agnostic markets (synthetic 'No country' bucket).

country_matchstring

How multiple countries combine: 'any' (default, OR — tagged with any selected country) or 'all' (AND — tagged with all of them, e.g. both Iran and Israel). Markets carry ≤3 country tags.

Response

Successful Response

Changes

No recorded changes to this operation across all 1 revision of this API.