Stock Screener
Get stock screener list data from Intellectia API (no auth) and summarize results.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 1 · 1.6k · 2 current installs · 2 all-time installs
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
Name/description (stock screener from Intellectia) matches the declared requirements: curl and python3 for making HTTP requests and parsing JSON, plus pip-installing the 'requests' library. Nothing requested (no credentials, no unrelated binaries) appears out of scope.
Instruction Scope
SKILL.md only documents how to call the documented Intellectia endpoint (curl and Python examples), describes response fields, and suggests handling rate limits. It does not instruct reading local files, accessing unrelated environment variables, or sending data to unexpected endpoints.
Install Mechanism
Install spec is a single pip dependency: 'requests'. This is proportionate for Python HTTP usage and uses a standard package manager rather than downloading arbitrary archives or external scripts.
Credentials
No environment variables, credentials, or config paths are required. The skill accesses only a public, unauthenticated API endpoint, so requested environment access is minimal and appropriate.
Persistence & Privilege
The skill does not request always:true or other elevated persistence flags. Model invocation is allowed by default (disableModelInvocation not set), which is reasonable given the skill only makes public API queries; users who prefer to prevent autonomous calls can set disableModelInvocation.
Assessment
This is an instruction-only skill that fetches public screener data from https://api.intellectia.ai and summarizes it. Before installing, confirm you are comfortable with the agent making outbound HTTP requests to that external API and with pip installing the standard 'requests' package into the environment. If you do not want the model to call the API autonomously, enable disableModelInvocation for the skill or require explicit user invocation. No credentials or local file access are requested by this skill.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
Runtime requirements
Binscurl, python3
SKILL.md
Intellectia Stock Screener
Base URL: https://api.intellectia.ai
Endpoint
GET /gateway/v1/stock/screener-list
Full URL:
https://api.intellectia.ai/gateway/v1/stock/screener-list
Query parameters
symbol_type(int): Asset type0=stock 1=etf 2=cryptoperiod_type(int): Period0=day 1=week 2=monthtrend_type(int): Trend0=bullish 1=bearishprofit_asc(bool): Sort by profit ascending (true= small → large)market_cap(int): Market cap filter0=any1=micro <300M2=small 300M-2B3=mid 2B-10B4=large 10B-200B5=mega >200B
price(int): Price filter0=any1=<52=<503=>54=>505=5-50
page(int): Page number (example: 1)size(int): Page size (example: 20)
Response (200)
Example response (shape):
{
"ret": 0,
"msg": "",
"data": {
"list": [
{
"code": "BKD.N",
"symbol": "BKD",
"symbol_type": 0,
"name": "Brookdale Senior Living Inc",
"logo": "https://intellectia-public-documents.s3.amazonaws.com/image/logo/BKD_logo.png",
"pre_close": 14.5,
"price": 15,
"change_ratio": 3.45,
"timestamp": "1769749200",
"simiar_num": 10,
"probability": 80,
"profit": 5.27,
"klines": [{ "close": 15, "timestamp": "1769749200" }],
"trend_list": [
{
"symbol": "BKD",
"symbol_type": 0,
"is_main": true,
"list": [{ "change_ratio": 5.27, "timestamp": "1730260800", "close": 16 }]
}
],
"update_time": "1769806800"
}
],
"total": 3,
"detail": {
"cover_url": "https://d159e3ysga2l0q.cloudfront.net/image/cover_image/stock-1.png",
"name": "Stocks Bullish Tomorrow",
"screener_type": 1011,
"params": "{}",
"desc": "..."
}
}
}
Field reference
Top-level:
ret(int): Status code (typically0means success)msg(string): Message (empty string when OK)data(object): Payload
data:
data.list(array): Result rowsdata.total(int): Total number of rowsdata.detail(object): Screener metadata
Each item in data.list:
code(string): Full instrument code (may include exchange suffix, e.g.BKD.N)symbol(string): Ticker symbol (e.g.BKD)symbol_type(int): Asset type (0=stock 1=etf 2=crypto)name(string): Display namelogo(string): Logo URLpre_close(number): Previous close priceprice(number): Current pricechange_ratio(number): Percent change vs previous closetimestamp(string): Quote timestamp (Unix seconds)simiar_num(int): Similarity count (as returned by API; spelling kept as-is)probability(int): Model confidence (0-100)profit(number): Predicted/expected return (as returned by API)klines(array): Price seriesklines[].close(number): Close priceklines[].timestamp(string): Unix seconds
trend_list(array): Trend comparison seriestrend_list[].symbol(string): Symbol for the series (may be empty for non-main series)trend_list[].symbol_type(int): Asset typetrend_list[].is_main(bool): Whether this is the main seriestrend_list[].list(array): Time pointstrend_list[].list[].change_ratio(number): Percent change at that pointtrend_list[].list[].timestamp(string): Unix secondstrend_list[].list[].close(number): Close price at that point
update_time(string): Last update time (Unix seconds)
data.detail:
cover_url(string): Cover image URLname(string): Screener titlescreener_type(int): Screener type IDparams(string): Serialized params (often JSON string)desc(string): Screener descriptionnum(int, optional): As returned by API (may be absent)
Examples
cURL
curl -sS "https://api.intellectia.ai/gateway/v1/stock/screener-list?symbol_type=0&period_type=0&trend_type=0&profit_asc=false&market_cap=0&price=0&page=1&size=20"
Python (requests)
python3 - <<'PY'
import requests
base_url = "https://api.intellectia.ai"
params = {
"symbol_type": 0,
"period_type": 0,
"trend_type": 0,
"profit_asc": False,
"market_cap": 0,
"price": 0,
"page": 1,
"size": 20,
}
r = requests.get(f"{base_url}/gateway/v1/stock/screener-list", params=params, timeout=30)
r.raise_for_status()
payload = r.json()
print("ret:", payload.get("ret"))
print("msg:", payload.get("msg"))
data = payload.get("data") or {}
rows = data.get("list") or []
print("total:", data.get("total"))
for row in rows[:10]:
print(row.get("symbol"), row.get("price"), row.get("change_ratio"), row.get("probability"), row.get("profit"))
PY
Notes
- No authentication required.
- If you see rate limits, reduce
sizeand add backoff/retry in client code.
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
