Ary3k43923h8g58f7so98uyt5r64e3w APIary3k43923h8g58f7so98uyt5r64e3w.com ↗
Get live BIST brokerage distribution data: top-5 net-lot ratios, aggressive buy/sell ratios, and quote snapshots for ~650 symbols via two endpoints.
What is the Ary3k43923h8g58f7so98uyt5r64e3w API?
This API exposes current-day Borsa Istanbul brokerage distribution (AKD) data across approximately 650 BIST symbols via two endpoints: list_symbols and get_akd_filter. Each call to get_akd_filter returns a pre-computed top-5 net-lot ratio, an aggressive buy/sell ratio derived from the most recent trades, and a full quote snapshot — including last price, VWAP, bid/ask, and session status — for a single symbol.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/36bae435-c5cb-48f4-8b73-8ec64a29d701/list_symbols' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace ary3k43923h8g58f7so98uyt5r64e3w-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: BOPT BIST AKD Data API — bounded, re-runnable."""
from parse_apis.ary3k43923h8g58f7so98uyt5r64e3w_com_api import Bopt, SymbolNotFound
client = Bopt()
# List covered BIST symbols, capped to 5.
for sym in client.symbols.list(limit=5):
print(sym.symbol, sym.name)
# Pick the first symbol and drill into its live AKD snapshot.
first_sym = client.symbols.list(limit=1).first()
if first_sym is not None:
try:
akd = first_sym.get_akd()
except SymbolNotFound:
print(f"{first_sym.symbol} has no AKD data today")
else:
print(f"{akd.symbol} akd_available={akd.akd_available}")
# Quote snapshot
if akd.quote is not None:
q = akd.quote
print(f" last={q.last} change={q.change_pct}% vol={q.volume_lot} lots")
# Brokerage distribution — top-5 ratio and leading buyers/sellers
if akd.brokerage is not None:
b = akd.brokerage
print(f" brokers={b.broker_count} top5 ratio={b.top5_net_lot_ratio}")
for pos in b.buyers[:3]:
print(f" buyer: {pos.broker} net_lot={pos.net_lot} avg_cost={pos.avg_cost}")
# Recent aggressive trades
if akd.recent_trades is not None:
rt = akd.recent_trades
print(f" agg buy/sell ratio={rt.aggressive_buy_sell_ratio}")
for t in rt.trades[:3]:
print(f" {t.time} {t.side} {t.lot} lots @ {t.price}")
print("exercised: symbols.list / get_akd (quote, brokerage, recent_trades)")
Returns every BIST symbol the terminal covers (about 650) with its company name, in one round trip and in upstream order (alphabetical by symbol). Use the symbol values as input to get_akd_filter. updated_at is the terminal's last refresh time (Istanbul local clock, HH:MM:SS.mmm).
No input parameters required.
{
"type": "object",
"fields": {
"count": "integer, number of symbols covered",
"symbols": "array of {symbol, name}: BIST ticker and company name",
"updated_at": "string, terminal refresh time of the list (Istanbul local time, HH:MM:SS.mmm)"
},
"sample": {
"data": {
"count": 654,
"symbols": [
{
"name": "A1 Capital Yatırım Menkul Değerler A.Ş.",
"symbol": "A1CAP"
},
{
"name": "A1 Yenilenebilir Enerji Üretim A.Ş.",
"symbol": "A1YEN"
},
{
"name": "Ziraat Gayrimenkul Yatırım Ortaklığı A.Ş.",
"symbol": "ZRGYO"
}
],
"updated_at": "16:18:52.098"
},
"status": "success"
}
}About the Ary3k43923h8g58f7so98uyt5r64e3w API
Symbol Coverage
list_symbols returns all BIST tickers the terminal tracks — roughly 650 symbols — paired with company names and a terminal refresh timestamp (updated_at) in Istanbul local time (HH:MM:SS.mmm). The array is ordered alphabetically by symbol. The symbol values from this response are the valid inputs for get_akd_filter.
Brokerage Distribution and Filter Ratios
get_akd_filter accepts a single symbol parameter (case-insensitive, 1–10 alphanumeric characters) and returns three top-level blocks. The brokerage block contains top5_net_lot_ratio — the sum of net lots held by the five largest net-buying brokers divided by the equivalent sum for the five largest net-selling brokers — alongside raw top5_buyers_net_lot, top5_sellers_net_lot, broker count, and a buyers[] array of individual broker entries. When the divisor is zero, top5_net_lot_ratio is null.
Trade Aggressiveness and Quote Snapshot
The recent_trades block provides aggressive_buy_lot, aggressive_sell_lot, and aggressive_buy_sell_ratio, which measures buying pressure from the most recent tape. Each block carries its own updated_at timestamp. The quote block adds last, change_pct, bid, ask, high, low, open, prev_close, vwap, volume_lot, volume_try, and session_status. The top-level akd_available boolean is true only when both the brokerage and recent_trades blocks are non-null, making it straightforward to filter out symbols with incomplete data in a single check.
The Ary3k43923h8g58f7so98uyt5r64e3w API is a managed, monitored endpoint for ary3k43923h8g58f7so98uyt5r64e3w.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ary3k43923h8g58f7so98uyt5r64e3w.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official ary3k43923h8g58f7so98uyt5r64e3w.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Screening BIST stocks where
top5_net_lot_ratioexceeds a threshold to identify concentrated institutional buying. - Alerting when
aggressive_buy_sell_ratioflips above or below 1.0 intraday across a watchlist of symbols. - Building a brokerage-flow dashboard that maps
buyers[]entries to named brokers and tracks net-lot changes over time. - Combining
volume_tryandvwapfrom thequoteblock with brokerage ratios to filter high-liquidity breakout candidates. - Validating
akd_availablebefore running any ratio-based strategy to exclude symbols with partial data. - Populating a symbol picker by iterating
list_symbolsand displaying company names alongside tickers.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AKD Securities or Borsa Istanbul provide an official developer API for this brokerage distribution data?+
What does `akd_available: false` mean for a given symbol?+
brokerage or recent_trades blocks is null for that symbol — typically because the terminal has not yet populated intraday distribution data for it. The quote block may still be present even when akd_available is false, so price data can still be read independently.How fresh is the data returned by `get_akd_filter`?+
quote, brokerage, and recent_trades — carries its own updated_at timestamp in Istanbul local time. These reflect the terminal's last refresh for that block and can differ from one another. There is no push or streaming mechanism; each API call returns a point-in-time snapshot as of the most recent terminal update.Does the API cover historical brokerage distribution data, such as prior trading sessions?+
Can I retrieve brokerage data for multiple symbols in a single call?+
get_akd_filter accepts one symbol per request. Bulk retrieval requires iterating over the symbols array from list_symbols and calling get_akd_filter once per symbol. You can fork this API on Parse and revise it to add a batch endpoint that accepts multiple tickers.