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:
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.






