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": 572,
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377"
},
"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": 572,
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377",
},
"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: 572,
params: {
token_id: "69435545313357346912686520645149775930858973121193492847015767460308803044235",
start_time: "1769902905868",
end_time: "1770034843377",
},
pagination: { limit: 10, offset: 0 },
formatter_config: { format_type: "raw" },
}),
}
);
const data = await response.json();{
"timestamp": "<string>",
"params": {
"token_id": "<string>",
"start_time": "<string>",
"end_time": "<string>"
},
"pagination": {
"limit": 123,
"offset": 123,
"has_more": true
},
"data": {
"results": [
{
"token_id": "<string>",
"timestamp": "<string>",
"best_bid": "<string>",
"best_ask": "<string>",
"spread": "<string>",
"bid_depth": "<string>",
"ask_depth": "<string>"
}
]
},
"request_id": "<string>"
}Polymarket
Orderbook
Order book snapshots for a Polymarket token. Check liquidity depth and spread on sport markets before placing trades.
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": 572,
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377"
},
"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": 572,
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377",
},
"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: 572,
params: {
token_id: "69435545313357346912686520645149775930858973121193492847015767460308803044235",
start_time: "1769902905868",
end_time: "1770034843377",
},
pagination: { limit: 10, offset: 0 },
formatter_config: { format_type: "raw" },
}),
}
);
const data = await response.json();{
"timestamp": "<string>",
"params": {
"token_id": "<string>",
"start_time": "<string>",
"end_time": "<string>"
},
"pagination": {
"limit": 123,
"offset": 123,
"has_more": true
},
"data": {
"results": [
{
"token_id": "<string>",
"timestamp": "<string>",
"best_bid": "<string>",
"best_ask": "<string>",
"spread": "<string>",
"bid_depth": "<string>",
"ask_depth": "<string>"
}
]
},
"request_id": "<string>"
}Platform: Polymarket
Endpoint:
Authentication: Bearer token
Endpoint:
POST /v2/semantic/retrieve/parameterizedAuthentication: Bearer token
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": 572,
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377"
},
"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": 572,
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377"
},
"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": 572,
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377"
},
"pagination": {
"limit": 10,
"offset": 0
},
"formatter_config": {
"format_type": "raw"
}
})
});
const data = await response.json();
Available filters
String
required
Token ID of the market outcome to retrieve orderbook snapshots for.
String
Return snapshots at or after this Unix timestamp in milliseconds (as a string).
String
Return snapshots at or before this Unix timestamp in milliseconds (as a string).
Example Response
{
"timestamp": "",
"params": {
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"start_time": "1769902905868",
"end_time": "1770034843377"
},
"pagination": {
"limit": 50,
"offset": 0,
"has_more": false
},
"data": {
"results": [
{
"token_id": "69435545313357346912686520645149775930858973121193492847015767460308803044235",
"timestamp": "2026-04-10T18:00:00Z",
"best_bid": "0.5750",
"best_ask": "0.5850",
"spread": "0.0100",
"bid_depth": "125400.30",
"ask_depth": "98200.15"
}
]
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
token_id | String | Token ID |
timestamp | String (ISO 8601) | Snapshot time |
best_bid | String (Decimal) | Highest bid price |
best_ask | String (Decimal) | Lowest ask price |
spread | String (Decimal) | Bid-ask spread |
bid_depth | String (Decimal) | Total bid side liquidity (USD) |
ask_depth | String (Decimal) | Total ask side liquidity (USD) |
Notes
Wide spreads indicate illiquid markets — beware of slippage.
Compare bid/ask depth to assess which side has more support.
Track spread over time to detect liquidity drying up before game start
Authorizations
Your Falcon API key from the dashboard
Body
application/json
Filter parameters. All values must be strings.
Orderbook agent ID.
Available options:
572 Response
Success
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Token ID
Snapshot time (ISO 8601)
Highest bid price
Lowest ask price
Bid-ask spread
Total bid side liquidity (USD)
Total ask side liquidity (USD)