Polymarket
Markets
Search markets on Polymarket using different filters including market_slug, min_volume, and etc.
POST/v2/semantic/retrieve/parameterized
Query Parameters
min_volumestring
Minimum trading volume filter
Example:
"100"condition_idstring
Ethereum condition ID for the market
Example:
"0xeaff81adbcd9dcd88a73a41402cb4a6b87234213a6b3ecaa0441126cde6d5b7f"market_slugstring
Market identifier or keyword search
Example:
"bitcoin-up-or-down-january-17-3pm-et"event_slugstring
Filter by event slug
Example:
"bitcoin-up-or-down-january-17-3pm-et"end_date_minstring
Filter markets ending after this timestamp (inclusive)
Example:
"1768467703"end_date_maxstring
Filter markets ending before this timestamp (inclusive)
Example:
"1769213303"closedstring
Market status (false = open, true = closed)
Example:
"True"Response Fields
| Field | Type | Description |
|---|---|---|
condition_id | String | Ethereum condition ID for the market |
question | String | Market question/title |
slug | String | URL-friendly market identifier |
event_slug | String | URL-friendly event identifier |
closed | Boolean | Market status (false = open, true = closed) |
volume_total | Float | Total trading volume |
start_date | String (ISO 8601) | Market start timestamp |
end_date | String (ISO 8601) | Market end/resolution timestamp |
close_date | String (ISO 8601) | Market close timestamp |
side_a_token_id | String | Token ID of the first side of the market |
side_b_token_id | String | Token ID of the second side of the market |
side_a_outcome | String | Outcome of the first side of the market |
side_b_outcome | String | Outcome of the second side of the market |
winning_outcome | String | Winning outcome of the market |
Tips for Best Results
- •Use
closed: "False"to get only tradeable (open) markets - •Combine
min_volumewithclosedto find liquid, active markets - •Use partial slugs for broad searches (e.g., "nba" finds all NBA-related markets)
- •Increase
limitto 200 for bulk data retrieval - •Use
offsetfor pagination through large result sets - •The
has_morefield indicates if additional pages exist - •Use
end_date_minandend_date_maxwith Unix timestamps (as strings) to filter by market end dates
Markets
curl --request POST \
--url https://narrative.agent.heisenberg.so/api/v2/semantic/retrieve/parameterized \
--header 'Authorization: Bearer YOUR_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"agent_id": 574,
"params": {
"min_volume": "100",
"condition_id": "0xeaff81adbcd9dcd88a73a41402cb4a6b87234213a6b3ecaa0441126cde6d5b7f",
"market_slug": "bitcoin-up-or-down-january-17-3pm-et",
"event_slug": "bitcoin-up-or-down-january-17-3pm-et",
"end_date_min": "1768467703",
"end_date_max": "1769213303",
"closed": "True"
},
"pagination": {
"limit": 10,
"offset": 0
},
"formatter_config": {
"format_type": "raw"
}
}'200Example response
{
"timestamp": "",
"params": {
"closed": "True",
"condition_id": "0xeaff81adbcd9dcd88a73a41402cb4a6b87234213a6b3ecaa0441126cde6d5b7f",
"end_date_max": "1769213303",
"end_date_min": "1768467703",
"event_slug": "bitcoin-up-or-down-january-17-3pm-et",
"market_slug": "bitcoin-up-or-down-january-17-3pm-et",
"min_volume": "100"
},
"pagination": {
"limit": 100,
"offset": 0,
"has_more": false
},
"data": {
"results": [
{
"closed": true,
"closed_date": "2026-01-17T22:07:24Z",
"condition_id": "0xeaff81adbcd9dcd88a73a41402cb4a6b87234213a6b3ecaa0441126cde6d5b7f",
"end_date": "2026-01-17T21:00:00Z",
"event_slug": "bitcoin-up-or-down-january-17-3pm-et",
"question": "Bitcoin Up or Down - January 17, 3PM ET",
"side_a_outcome": "Up",
"side_a_token_id": "54962395221233298907357564706944806093710338832907683007646483576474886134345",
"side_b_outcome": "Down",
"side_b_token_id": "99436386356623686771311452414494038846982778884699006473918967429453507432222",
"slug": "bitcoin-up-or-down-january-17-3pm-et",
"start_date": "2026-01-15T20:01:06.506385Z",
"volume_total": 104456.760687,
"winning_outcome": "Up"
}
]
}
}