curl --request GET \
--url https://api.rook.pm/v1/markets \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/markets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/markets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"market_id": "mkt_fed_dec_2026_cut",
"version": "1",
"title": "Will the Fed cut rates at its December 2026 decision?",
"description": "Illustrative rates-market market for the documentation walkthrough.",
"event_ids": [
"evt_pm_900001"
],
"family_ids": [
"fam_fed_dec_2026"
],
"category": "rates",
"settlement_summary": "YES pays 1 USDC per share if the policy-rate target is lower after the decision than immediately before it.",
"payout_conditions": [
"A cut pays YES 1 USDC and NO 0 USDC.",
"An unchanged rate or a hike pays YES 0 USDC and NO 1 USDC."
],
"outcomes": [
{
"outcome_id": "out_fed_dec_2026_cut_yes",
"label": "YES",
"listings": [
{
"listing_id": "lst_pm_fed_dec_2026_cut_yes",
"venue": "polymarket",
"venue_market_id": "1000001",
"venue_outcome_id": "YES",
"outcome_id": "out_fed_dec_2026_cut_yes",
"mapping_version": "1",
"status": "OPEN",
"trading_rules": {
"quantity_unit": "shares",
"quote_currency": "USDC",
"payout_currency": "USDC",
"payout_unit": "1",
"quantity_increment": "1",
"tick_bands": [
{
"lower_price": "0",
"upper_price": "1",
"tick_size": "0.01"
}
]
},
"observed_at": "2026-10-19T12:00:00Z",
"venue_event_ids": [
"900001"
]
}
]
},
{
"outcome_id": "out_fed_dec_2026_cut_no",
"label": "NO",
"listings": []
}
],
"is_combo": false,
"analytical_only": false,
"observed_at": "2026-10-19T12:00:00Z"
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}List markets
Find markets and inspect their settlement rules, outcome sides and venue listings. Supply venue plus venue_market_id to translate a native market ID into a Rook market_id, or use market_id when you already have the Rook ID. For example, venue=polymarket&venue_market_id=1000001 uses the numeric Polymarket market ID, not its slug, condition ID or outcome token ID.
Each market returns its Rook market_id, original event references, family_ids, settlement summary, payout conditions and outcomes. Outcome listings retain venue_market_id, venue_event_ids and venue outcome identifiers. Rook can map settlement-equivalent listings to one market, while each listing keeps its original venue event membership. Related markets remain separate markets.
Filter by event_id to stay inside an original venue event, or family_id to find related markets across events. Add include=EVIDENCE for settlement sources or include=LEGS for a Combo. Use market_ids for a batch Rook-ID lookup. Single, batch and native market selectors are mutually exclusive; version requires market_id. Exact lookups keep the items envelope and return an empty array when no mapping is known.
curl --request GET \
--url https://api.rook.pm/v1/markets \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/markets"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/markets', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"market_id": "mkt_fed_dec_2026_cut",
"version": "1",
"title": "Will the Fed cut rates at its December 2026 decision?",
"description": "Illustrative rates-market market for the documentation walkthrough.",
"event_ids": [
"evt_pm_900001"
],
"family_ids": [
"fam_fed_dec_2026"
],
"category": "rates",
"settlement_summary": "YES pays 1 USDC per share if the policy-rate target is lower after the decision than immediately before it.",
"payout_conditions": [
"A cut pays YES 1 USDC and NO 0 USDC.",
"An unchanged rate or a hike pays YES 0 USDC and NO 1 USDC."
],
"outcomes": [
{
"outcome_id": "out_fed_dec_2026_cut_yes",
"label": "YES",
"listings": [
{
"listing_id": "lst_pm_fed_dec_2026_cut_yes",
"venue": "polymarket",
"venue_market_id": "1000001",
"venue_outcome_id": "YES",
"outcome_id": "out_fed_dec_2026_cut_yes",
"mapping_version": "1",
"status": "OPEN",
"trading_rules": {
"quantity_unit": "shares",
"quote_currency": "USDC",
"payout_currency": "USDC",
"payout_unit": "1",
"quantity_increment": "1",
"tick_bands": [
{
"lower_price": "0",
"upper_price": "1",
"tick_size": "0.01"
}
]
},
"observed_at": "2026-10-19T12:00:00Z",
"venue_event_ids": [
"900001"
]
}
]
},
{
"outcome_id": "out_fed_dec_2026_cut_no",
"label": "NO",
"listings": []
}
],
"is_combo": false,
"analytical_only": false,
"observed_at": "2026-10-19T12:00:00Z"
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}Examples
GET /v1/markets
GET /v1/markets?market_id=mkt_fed_dec_2026_cut
GET /v1/markets?q=Fed%20rate%20cut&page_size=5
GET /v1/markets?category=rates&page_size=20
items, next_page_token, snapshot_id and as_of. An ID lookup returns zero or one item with its full details. No match returns an empty items array.
Use q to search titles, descriptions and tags by words. Results are ordered by relevance. page_size sets the maximum results per page; use next_page_token to continue. Other filters, such as category or venue, narrow the search.
GET /v1/markets?market_id=mkt_fed_dec_2026_cut&include=EVIDENCE
market_ids for a batch lookup. Do not combine it with market_id. A version filter requires market_id.
GET /v1/markets?venue=polymarket&venue_market_id=1000001
family_ids. Native IDs use exact decimal text in JSON. Do not combine native and Rook ID selectors.Authorizations
Proposed server-to-server API key. No client request HMAC signing scheme is specified.
Headers
Caller correlation reference; not an idempotency guarantee.
Query Parameters
Rook canonical market ID. Resolve a venue_market_id first; related markets do not share an ID merely because they share a family. Omit to browse. Exact lookup retains the items envelope.
1Original venue market ID. For Polymarket this is its numeric Gamma market ID, encoded as decimal text. It is not an event, condition or CLOB token ID.
1Market version to retrieve. Requires market_id. Omit for the current version.
1Add settlement evidence or Combo leg details to each returned market.
EVIDENCE, LEGS Rook market IDs in this resource. On an event these reflect its source venue membership; on a family they identify the related market members.
1Opaque text identifier. Preserve its exact value.
1Search titles, descriptions and tags by words, ignoring letter case. Results are ordered by relevance with stable ID tie-breaking. Other filters narrow the matches.
1Rook ID for one original venue event. Its identity is scoped to venue and venue_event_id; related events remain separate. Omit to browse. Exact lookup retains the items envelope. Opaque text identifier. Preserve its exact value.
1Rook family ID connecting related markets across original venue events. Omit to browse. Exact lookup retains the items envelope. Opaque text identifier. Preserve its exact value.
1Venue identifier, such as polymarket or kalshi. Required when looking up a venue-native ID; never inferred from the ID.
Exact category label used by the catalog, for example rates. Narrows search results.
Filter by the resource lifecycle status. This does not indicate analytical coverage or feed freshness.
OPEN, CLOSED, RESOLVED, UNKNOWN Requested maximum items; service caps disclosed by coverage. Oversize requests fail explicitly.
x >= 1Opaque continuation; reuse the same filters/order. Cursor pins the original snapshot.