Market detail
MCP tool: get_market
Takes a marketRef from the live feed or market search. The ref is opaque and carries no venue identifier.
Set live=true to refresh the price from the venue. That leaves our cache and adds latency, so reserve it for the moment a decision depends on the current price.
Query parameters
livebooleandefault: falseRefresh the price from the venue rather than serving the cached one.
Response
livePrice is null unless live=true. A yesPrice of null inside it means the venue could not be reached, not that the market is priced at zero.
curl "https://api.rivo.markets/v1/markets/{marketRef}?live=true" \
-H "Authorization: Bearer rivo_live_..."import requests
r = requests.get(
"https://api.rivo.markets/v1/markets/{marketRef}",
headers={"Authorization": "Bearer rivo_live_..."},
params={
"live": "true",
},
)
print(r.json()["data"])const res = await fetch("https://api.rivo.markets/v1/markets/{marketRef}?live=true", {
headers: { Authorization: "Bearer rivo_live_..." },
});
const { data } = await res.json();response
{
"success": true,
"data": {
"marketRef": "cG9seW1hcmtldDptYXJrZXQ6MHhhYmM",
"marketTitle": "Will the Fed cut in September?",
"marketCategory": "finance",
"yesPrice": 0.71,
"noPrice": 0.29,
"spread": 0.02,
"liquidity": 184200,
"openInterest": 921400,
"volume24h": 61200,
"closesAt": "2026-09-18T18:00:00.000Z",
"totalAmount": 412000,
"whaleCount": 9,
"events": [],
"livePrice": { "yesPrice": 0.713, "updatedAt": 1755071883000 }
}
}