Markets API
Endpoints for retrieving prediction market information.
List All Markets
Get a paginated list of prediction markets with comprehensive filtering options.
Endpoint: GET /public/api/v1/markets/
Query Parameters
All parameters are optional.
Pagination
page(integer, default: 1) - Page number using 1-based indexinglimit(integer, default: 20, max: 100) - Results per pageoffset(integer) - Results to skip (0-based). Use instead of page for offset-based pagination
Filtering
status(string) - Filter by market status (e.g., "new", "processing", "completed")active(boolean) - Only active markets if trueclosed(boolean) - Only closed markets if trueevent_id(integer) - Filter by event ID
Example Request
curl "https://market-api.probable.markets/public/api/v1/markets/?page=1&limit=20&active=true"Example Response
{
"markets": [
{
"id": 456,
"condition_id": "0x123...",
"question": "Will BTC exceed $100k?",
"market_slug": "btc-100k",
"outcomes": ["Yes", "No"],
"clobTokenIds": ["0xabc...", "0xdef..."],
"active": true,
"closed": false
}
],
"pagination": {
"hasMore": true,
"totalResults": 500,
"page": 1,
"limit": 20,
"totalPages": 25,
"hasPrevPage": false
}
}Market Fields
id- Market identifiercondition_id- CTF Conditional Token IDquestion- Market question/titlemarket_slug- URL-friendly market identifieroutcomes- Array of outcome namesclobTokenIds- CTF token IDs for tradingactive- Boolean market statusclosed- Boolean closed status
Caching
Results are cached for 3 minutes.
Get Market by ID
Retrieve detailed information for a single market by its numeric ID, including outcomes and associated event.
Endpoint: GET /public/api/v1/markets/{id}
Path Parameters
id(required, integer) - Numeric market identifier
Example Request
curl "https://market-api.probable.markets/public/api/v1/markets/456"Example Response
{
"id": 456,
"condition_id": "0x123...",
"question": "Will BTC exceed $100k?",
"description": "Predict if Bitcoin will reach $100,000...",
"market_slug": "btc-100k",
"outcomes": ["Yes", "No"],
"clobTokenIds": ["0xabc...", "0xdef..."],
"active": true,
"closed": false,
"archived": false,
"event": {
"id": 123,
"slug": "btc-usd-2025-11",
"title": "Bitcoin Price Prediction"
},
"volume": 500000,
"liquidity": 100000
}Caching
Results are cached for 2 minutes.
Error Responses
404- Market not found with provided ID500- Internal server error
Get Market by Polymarket ID
Retrieve market details using the Polymarket API identifier. Useful for cross-referencing with external Polymarket data.
Endpoint: GET /public/api/v1/markets/polymarket/{polymarketId}
Path Parameters
polymarketId(required, string) - Polymarket market identifier
Example Request
curl "https://market-api.probable.markets/public/api/v1/markets/polymarket/pm-market-123"Example Response
Same structure as Get Market by ID.
Caching
Results are cached for 2 minutes.
Error Responses
404- Market not found with provided Polymarket ID500- Internal server error
Get Market by BSC Question ID
Retrieve market details using the BSC (Binance Smart Chain) question ID. Useful for on-chain cross-referencing.
Endpoint: GET /public/api/v1/markets/bsc/{bscQuestionId}
Path Parameters
bscQuestionId(required, string) - BSC question identifier
Example Request
curl "https://market-api.probable.markets/public/api/v1/markets/bsc/0xabc123..."Example Response
Same structure as Get Market by ID.
Caching
Results are cached for 2 minutes.
Error Responses
404- Market not found with provided BSC question ID500- Internal server error