Predict
PREDICTION
LAUNCHPAD

Get markets

Fetch prediction markets via a single GET request. Use the base URL and optional query parameters to filter by status and sort order.

Base URL

All API requests use this base:

https://nqyocjuqubsdrguazcjz.supabase.co

HTTP request

To get markets, send a GET request to the markets endpoint. You must include the required headers and can add query parameters to filter and sort.

Endpoint

GET https://nqyocjuqubsdrguazcjz.supabase.co/rest/v1/combined_markets_x_posts

Required headers

apikey: <your-api-key>
Accept: application/json

Developers need to reach out to the team to get their API key. Include the apikey header with that value on every request.

Query parameters (optional)

Filter by market status and control sort order:

  • Open markets: market_status=eq.open (add order=market_opened_at.desc to sort newest first).
  • Closed markets: market_status=eq.closed (use order=market_closure_at.desc).
  • Resolved markets: market_status=eq.resolved (use order=market_resolved_at.desc).

Example URL for open markets, newest first:

GET https://nqyocjuqubsdrguazcjz.supabase.co/rest/v1/combined_markets_x_posts?market_status=eq.open&order=market_opened_at.desc

Response

The API returns a JSON array of market objects. Each object has the following structure:

[
  {
    "id": "uuid",
    "market_title": "string",
    "market_outcome_yes_representation": "string",
    "market_outcome_no_representation": "string",
    "market_r_yes": number,
    "market_r_no": number,
    "market_k": number,
    "market_status": "open" | "closed" | "resolved" | "under_review" | "pending" | "dispute",
    "market_trending": boolean,
    "market_resolution_outcome": string | null,
    "market_opened_at": string | null,
    "market_closure_at": "ISO8601 string",
    "market_resolved_at": string | null,
    "market_updated_at": "string",
    "market_volume": number,
    "latest_p_yes": number | null,
    "market_collected_fee": number | null,
    "original_post_url": string | null,
    "original_post_text": string | null,
    "original_post_author_username": string | null,
    "original_post_author_avatar_url": string | null,
    "reply_post_url": string | null,
    "reply_post_author_username": string | null,
    "reply_post_author_avatar_url": string | null
  }
]

id — unique market ID (use for deep links, e.g. /markets/{id}). market_title — question text. market_closure_at — resolution deadline (ISO 8601). market_volume — total volume in $PREDICT. latest_p_yes — current YES probability from 0 to 1. Post fields (original_*, reply_*) provide author/creator usernames, avatars, and URLs.

Live example (open markets)

Below are open markets returned by this API, rendered as on the main Predict page.