cURL
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": 575,
"params": {
"condition_id": "ALL",
"min_volume_24h": "0",
"min_liquidity_percentile": "0",
"volume_trend": "ALL",
"min_top1_wallet_pct": "0",
"max_unique_traders_7d": "0"
},
"pagination": { "limit": 10, "offset": 0 },
"formatter_config": { "format_type": "raw" }
}'import requests
response = requests.post(
"https://narrative.agent.heisenberg.so/api/v2/semantic/retrieve/parameterized",
headers={"Authorization": "Bearer YOUR_TOKEN"},
json={
"agent_id": 575,
"params": {
"condition_id": "ALL",
"min_volume_24h": "0",
"min_liquidity_percentile": "0",
"volume_trend": "ALL",
"min_top1_wallet_pct": "0",
"max_unique_traders_7d": "0",
},
"pagination": {"limit": 10, "offset": 0},
"formatter_config": {"format_type": "raw"},
},
)
print(response.json())const response = await fetch(
"https://narrative.agent.heisenberg.so/api/v2/semantic/retrieve/parameterized",
{
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
agent_id: 575,
params: {
condition_id: "ALL",
min_volume_24h: "0",
min_liquidity_percentile: "0",
volume_trend: "ALL",
min_top1_wallet_pct: "0",
max_unique_traders_7d: "0",
},
pagination: { limit: 10, offset: 0 },
formatter_config: { format_type: "raw" },
}),
}
);
const data = await response.json();{
"timestamp": "<string>",
"params": {
"condition_id": "<string>",
"min_volume_24h": "<string>",
"min_liquidity_percentile": "<string>",
"volume_trend": "<string>",
"min_top1_wallet_pct": "<string>",
"max_unique_traders_7d": "<string>"
},
"pagination": {
"limit": 123,
"offset": 123,
"has_more": true
},
"data": {
"results": [
{}
]
},
"request_id": "<string>"
}Polymarket
Market 360
Market Quality & Structure Endpoint
POST
/
api
/
v2
/
semantic
/
retrieve
/
parameterized
cURL
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": 575,
"params": {
"condition_id": "ALL",
"min_volume_24h": "0",
"min_liquidity_percentile": "0",
"volume_trend": "ALL",
"min_top1_wallet_pct": "0",
"max_unique_traders_7d": "0"
},
"pagination": { "limit": 10, "offset": 0 },
"formatter_config": { "format_type": "raw" }
}'import requests
response = requests.post(
"https://narrative.agent.heisenberg.so/api/v2/semantic/retrieve/parameterized",
headers={"Authorization": "Bearer YOUR_TOKEN"},
json={
"agent_id": 575,
"params": {
"condition_id": "ALL",
"min_volume_24h": "0",
"min_liquidity_percentile": "0",
"volume_trend": "ALL",
"min_top1_wallet_pct": "0",
"max_unique_traders_7d": "0",
},
"pagination": {"limit": 10, "offset": 0},
"formatter_config": {"format_type": "raw"},
},
)
print(response.json())const response = await fetch(
"https://narrative.agent.heisenberg.so/api/v2/semantic/retrieve/parameterized",
{
method: "POST",
headers: {
Authorization: "Bearer YOUR_TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
agent_id: 575,
params: {
condition_id: "ALL",
min_volume_24h: "0",
min_liquidity_percentile: "0",
volume_trend: "ALL",
min_top1_wallet_pct: "0",
max_unique_traders_7d: "0",
},
pagination: { limit: 10, offset: 0 },
formatter_config: { format_type: "raw" },
}),
}
);
const data = await response.json();{
"timestamp": "<string>",
"params": {
"condition_id": "<string>",
"min_volume_24h": "<string>",
"min_liquidity_percentile": "<string>",
"volume_trend": "<string>",
"min_top1_wallet_pct": "<string>",
"max_unique_traders_7d": "<string>"
},
"pagination": {
"limit": 123,
"offset": 123,
"has_more": true
},
"data": {
"results": [
{}
]
},
"request_id": "<string>"
}Platform: Polymarket
Endpoint:
Authentication: Bearer token
Endpoint:
POST /v2/semantic/retrieve/parameterizedAuthentication: Bearer token
Query parameters
All requests useagent_id 575 (Market 360). Set filters inside params in the playground — all values must be strings.
| Parameter | Type | Description |
|---|---|---|
condition_id | String | Market condition ID. Use "ALL" for all markets. |
min_volume_24h | String | Minimum 24-hour trading volume. |
min_liquidity_percentile | String | Minimum liquidity percentile. |
volume_trend | String | Spiking, Normal, Declining, Dying Interest, No Trades, or ALL. |
min_top1_wallet_pct | String | Minimum share of exposure held by the top wallet. |
max_unique_traders_7d | String | Maximum unique traders in the last 7 days. |
Example Request
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": 575,
"params": {
"condition_id": "ALL",
"min_volume_24h": "0",
"min_liquidity_percentile": "0",
"volume_trend": "ALL",
"min_top1_wallet_pct": "0",
"max_unique_traders_7d": "0"
},
"pagination": {
"limit": 10,
"offset": 0
},
"formatter_config": {
"format_type": "raw"
}
}'
import requests
response = requests.post(
"https://narrative.agent.heisenberg.so/api/v2/semantic/retrieve/parameterized",
headers={"Authorization": "Bearer YOUR_TOKEN"},
json={
"agent_id": 575,
"params": {
"condition_id": "ALL",
"min_volume_24h": "0",
"min_liquidity_percentile": "0",
"volume_trend": "ALL",
"min_top1_wallet_pct": "0",
"max_unique_traders_7d": "0"
},
"pagination": {
"limit": 10,
"offset": 0
},
"formatter_config": {
"format_type": "raw"
}
}
)
print(response.json())
const response = await fetch("https://narrative.agent.heisenberg.so/api/v2/semantic/retrieve/parameterized", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_TOKEN",
"Content-Type": "application/json"
},
body: JSON.stringify({
"agent_id": 575,
"params": {
"condition_id": "ALL",
"min_volume_24h": "0",
"min_liquidity_percentile": "0",
"volume_trend": "ALL",
"min_top1_wallet_pct": "0",
"max_unique_traders_7d": "0"
},
"pagination": {
"limit": 10,
"offset": 0
},
"formatter_config": {
"format_type": "raw"
}
})
});
const data = await response.json();
Example Response
{
"timestamp": "",
"params": {
"condition_id": "ALL",
"max_unique_traders_7d": "0",
"min_liquidity_percentile": "0",
"min_top1_wallet_pct": "0",
"min_volume_24h": "0",
"volume_trend": "ALL"
},
"pagination": {
"limit": 200,
"offset": 0,
"has_more": true
},
"data": {
"results": [
{
"condition_id": "0x24fb7c2d95c93a68018e6c4a90d88043bb67d32fd1454924cef8ebdd550228f3",
"created_at": "2026-02-09T16:53:53.025942Z",
"current_volume_24h": "44646247.155082",
"current_volume_7d": "116971972.905561",
"end_date": "2026-03-31T00:00:00Z",
"liquidity_percentile": "100.00",
"liquidity_risk_flag": false,
"liquidity_tier": "Top 5%",
"market_active": true,
"market_closed": false,
"net_pnl": "102441.064396",
"no_avg_pnl": "-13.643443",
"peak_hour_trades": 391,
"profit_loss_ratio": "2.43",
"question": "Will Israel launch a major ground offensive in Lebanon by March 31?",
"slug": "will-israel-launch-a-major-ground-offensive-in-lebanon-by-march-31",
"snapshot_time": "2026-03-25T18:00:00.010272Z",
"squeeze_risk_flag": false,
"top10_wallet_pct": "65.45",
"top1_wallet_pct": "18.28",
"top3_wallet_pct": "36.24",
"trade_concentration_flag": false,
"trades_per_hour_avg": "213.08",
"unique_traders_7d": 4941,
"updated_at": "2026-03-25T18:00:00.010272Z",
"volume_collapse_risk_flag": false,
"volume_ratio_24h_to_7d": "267.18",
"volume_trend": "Spiking",
"whale_control_flag": false,
"winning_side": "Yes",
"yes_avg_pnl": "44.593246"
}
]
},
"request_id": ""
}
Authorizations
Your Falcon API key from the dashboard
Body
application/json
Filter parameters. All values must be strings.
Hide child attributes
Hide child attributes
Market condition ID. Use "ALL" for all markets ranked by 24h volume.
Minimum 24-hour trading volume.
Minimum liquidity percentile relative to active markets.
Filter by recent volume momentum.
Available options:
Spiking, Normal, Declining, Dying Interest, No Trades, ALL Minimum percentage of exposure held by the largest wallet.
Maximum unique traders in the last 7 days.
Market 360 agent ID.
Available options:
575 Response
Success