List Moves
This route returns market moves from the last 24 hours, newest first. There are three types:
movemeans the Yes price moved sharply within a few minutes and held there.flipmeans the favorite changed.whalesmeans several different whales bought one side within a few minutes.
Moves do not count toward the daily trade allowance.
Example request
curl "https://api.rivo.markets/v2/moves?category=crypto&minPoints=10&limit=2" \
-H "Authorization: Bearer rivo_live_..."import requests
url = "https://api.rivo.markets/v2/moves"
headers = {
"Authorization": "Bearer rivo_live_...",
}
params = [
("category", "crypto"),
("minPoints", "10"),
("limit", "2"),
]
res = requests.get(url, headers=headers, params=params)
res.raise_for_status()
print(res.json())const params = new URLSearchParams([
["category", "crypto"],
["minPoints", "10"],
["limit", "2"],
]);
const res = await fetch(`https://api.rivo.markets/v2/moves?${params}`, {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.RIVO_API_KEY}`,
},
});
if (!res.ok) throw new Error(`Rivo API ${res.status}`);
const { data } = await res.json();Query parameters
venuestringReturns rows from these venues:
kalshi,polymarket,polymarket_usorgemini. To pass several values, repeat the key, up to 50 times. A row matches if it matches any of them.categorystringReturns rows in these categories:
sports,politics,crypto,finance,culture. To pass several values, repeat the key, up to 50 times. A row matches if it matches any of them.kindstringReturns rows in these kinds of market. Each kind belongs to one category:
nfl,college_football,nba,wnba,college_basketball,basketball,mlb,nhl,soccer,tennis,golf,mma,boxing,motorsport,cricket,esports,chess,rugby,olympics,parlay,other_sports,us_elections,us_politics,world_politics,other_politics,bitcoin,ethereum,solana,xrp,other_crypto,fed_rates,economic_data,stocks_indices,companies,commodities,fx,other_finance,mentions,weather,entertainment,tech_ai,health,other_culture. See Kinds of market. To pass several values, repeat the key, up to 50 times. A row matches if it matches any of them.marketmarket refReturns rows for this market. The
refcan name one contract or a market with several outcomes. To pass several values, repeat the key, up to 50 times. A row matches if it matches any of them.typestringReturns moves of these types:
move,fliporwhales. Repeat the key to pass several.minPointsnumberReturns
moverows whose price changed by at least this many points, from 0 to 100. Flips and whales have no price change, so they always pass.priceMinnumberReturns moves where the Yes price ended at or above this, from 0 to 1. Use it to leave out markets that are all but decided.
priceMaxnumberReturns moves where the Yes price ended at or below this, from 0 to 1.
qstringReturns moves on markets whose name contains every one of these words, up to 200 characters.
sincestringReturns moves at or after this time, in ISO 8601 with an offset.
limitintegerdefault50The number of rows on each page, from 1 to 200.
cursorstringPass the
nextCursorfrom the previous page to read the next one. A cursor works only on the listing that made it. See Paging.
Example response
{
"data": [
{
"id": "flip:kalshi:market:KXBTCD-26OCT1423-T80799.99:1792031312711",
"time": "2026-10-15T02:28:32.711Z",
"type": "flip",
"market": {
"ref": "a2Fsc2hpOm1hcmtldDpLWEJUQ0QtMjZPQ1QxNDIzLVQ4MDc5OS45OQ",
"contract": "a2Fsc2hpOm1hcmtldDpLWEJUQ0QtMjZPQ1QxNDIzLVQ4MDc5OS45OQ",
"title": "Bitcoin price on Oct 14, 2026?",
"venue": "kalshi",
"category": "crypto",
"kind": "bitcoin"
},
"outcome": "No",
"priceBefore": null,
"priceAfter": 0.36,
"minutes": null,
"traders": null,
"usd": null
},
{
"id": "price_move:polymarket:market:btc-updown-5m-1792031100:1792031230000",
"time": "2026-10-15T02:27:10.000Z",
"type": "move",
"market": {
"ref": "cG9seW1hcmtldDptYXJrZXQ6YnRjLXVwZG93bi01bS0xNzkyMDMxMTAw",
"contract": "cG9seW1hcmtldDptYXJrZXQ6YnRjLXVwZG93bi01bS0xNzkyMDMxMTAw",
"title": "Bitcoin Up or Down - October 14, 10:25PM-10:30PM ET",
"venue": "polymarket",
"category": "crypto",
"kind": "bitcoin"
},
"outcome": "Yes",
"priceBefore": 0.5,
"priceAfter": 0.89,
"minutes": 5,
"traders": null,
"usd": null
}
],
"nextCursor": "eyJ0IjoxNzkyMDMxMjMwMDAwLCJpZCI6InByaWNlX21vdmU6cG9seW1hcmtldDptYXJrZXQ6YnRjLXVwZG93bi01bS0xNzkyMDMxMTAwOjE3OTIwMzEyMzAwMDAifQ"
}Response fields
dataobject[]The moves on this page.
Show 10 data fields
idstringThe move's id. It never changes, so the listing and the stream use the same id.
timestringWhen Rivo recorded the move, in ISO 8601 UTC.
typestringWhat happened.
movemeans the Yes price moved sharply.flipmeans the favorite changed.whalesmeans several whales bought one side within minutes.marketobjectThe market this row is about.
Show 6 market fields
refmarket refThe market's ref. You can pass it to any
marketfilter or to Get Market. On a market of several outcomes, it names the whole event.contractmarket ref or nullThe ref of the exact contract. It is the same as
refon a market with one contract. On a market of several outcomes, such as a game with a moneyline and a spread, it tells the contracts apart. Pass it to Place Paper Order or a market bot.titlestringThe market's title, as the venue writes it.
venuestringThe venue that lists the market: one of
kalshi,polymarket,polymarket_usorgemini.categorystring or nullThe market's category: one of
sports,politics,crypto,finance,culture. It isnullwhen Rivo has not classified the market.kindstring or nullThe kind of market, such as
nflorbitcoin. It isnullwhen Rivo has not classified the market yet.
outcomestringThe side the move is about. On a
moveit isYes, the side whose price moved. On aflipit is the new favorite. Onwhalesit is the side the whales bought.priceBeforenumber or nullOn a
move, the Yes price before the move. On other types it isnull.priceAfternumber or nullThe Yes price when Rivo recorded the move. It is
nullon awhalesmove when Rivo has no price yet.minutesinteger or nullOn a
move, the number of minutes the move took. On other types it isnull.tradersinteger or nullOn
whales, the number of whales who bought. On other types it isnull.usdnumber or nullOn
whales, the dollars those whales spent between them. On other types it isnull.
nextCursorstring or nullPass this as
cursorto read the next page. It isnullon the last page.
Errors
| Code | When |
|---|---|
VALIDATION | A parameter is out of range or unknown, or the cursor came from another listing. |