A high-volume watchlist scores each overview row by last price times volume, and keeps the rows only while the description still matches the sample.
The v2 screener returns one named strategy at a time. The documented example is the high-volume overview.
To access this endpoint, you must obtain an API key: Get your API key
Load the overview screen
metricType overview and filter high_volume select the documented example. In the example file, page is a string.
Score each symbol by traded value
Last price, percent change, and volume arrive as display strings. The script parses them, multiplies price by volume, and prints the description with the metric type.
import requests
url = "https://api.mboum.com/v2/markets/screener"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
params = {"metricType": "overview", "filter": "high_volume", "page": 1}
response = requests.get(url, headers=headers, params=params)
response.raise_for_status()
payload = response.json()
def num(value):
return float(str(value).replace(",", "").replace("%", "").replace("+", ""))
description = payload["meta"]["description"]
print(payload["meta"]["metricType"], description)
for row in payload.get("body", [])[:5]:
last = num(row["lastPrice"])
volume = num(row["volume"])
print(row["symbol"], num(row["percentChange"]), last * volume)
Read the description before you trust the rows
Keep the scored rows when the printed description matches the sentence in the excerpt. Another filter returns its own description. A technical, performance, or fundamental request uses different columns from this overview row.
{
"meta": {
"metricType": "overview",
"description": "Stocks with strong volume gains from the previous session and positive price and volume momentum in the past month.",
"count": 50,
"total": 220,
"page": "1"
},
"body": [
{
"symbol": "A",
"lastPrice": "142.86",
"percentChange": "+2.73%",
"volume": "2,169,200"
}
]
}
Learn more or explore other endpoints: Mboum v2 screener