Xeronance Realtime Market Data (BIST, VIOP, FX, Crypto) avatar

Xeronance Realtime Market Data (BIST, VIOP, FX, Crypto)

Pricing

Pay per usage

Go to Apify Store
Xeronance Realtime Market Data (BIST, VIOP, FX, Crypto)

Xeronance Realtime Market Data (BIST, VIOP, FX, Crypto)

Real-time quotes for Borsa Istanbul (BIST) equities, VIOP futures, BIST indices, US equities, FX pairs, precious metals, commodities, CFDs and crypto. No delay, no conflation.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Xeronance

Xeronance

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Features

Limited permissions

Share

Xeronance Realtime Market Data

Real-time quotes for Borsa Istanbul (BIST), VIOP derivatives, FX pairs, precious metals, commodities, CFDs and crypto — roughly 2,070 instruments in one Actor.

No 15-minute delay. No conflation. No snapshot-every-N-seconds. A quote is published the moment the price changes.


Why this Actor exists

Turkish market data is badly served. Google Finance is unreliable for BIST, most global APIs delay quotes by 15 minutes, and many skip the Turkish market entirely. We built this feed for our own trading systems and opened it up.

Prices come straight from a professional terminal feed — not from a delayed aggregator and not scraped from a website.


Coverage

MarketCountExamples
US equities707AAPL:EDGX, TSLA:EDGX, NVDA:EDGX
BIST equities703GARAN, THYAO, ASELS
VIOP derivatives241F_XU0301226, F_USDTRY0127, F_XAUUSD1226
Crypto191BTCUSDT:BNN, ETHUSDT:BNN
FX pairs169EURUSD, USDTRY, GBPJPY
Global index CFDs20DOW30F:CFD, GER30:CFD, NIKKEI225F:CFD, VIXF:CFD
Metals & commodities25XAUUSD, XAGUSD, XBRUSD, XTIUSD
Commodity CFDs2NATURALGAS:CFD, COPPERUS:CFD
Funds8ABE.FON, ARO.FON
Indices4XU100, XU030, XU050, USDX
Total2,070

Index CFDs cover the major global benchmarks: US (DOW30F, US500F, N100F, RUT2000F), Europe (GER30F, CAC40F, FTSE100F, IBEX35F, FTSEMIBF, SMIF, STOXX50F), Asia-Pacific (NIKKEI225F, HSIF, ASXF, FTSEA50F), plus volatility (VIXF) and German bunds (FGBL, FGBM).

Symbol names are case-insensitive. Use /v1/symbols on the REST API for the full, current list.


Try it right now

The Actor comes with a demo key already filled in — just hit Start. No signup, no card, nothing to configure.

The demo key is limited to 5 symbols per request, which is enough to see the data flowing but not enough for production.

Getting your own key

👉 t.me/xeronancebot — send /start, pick a plan, receive your key. Takes under a minute.


Input

FieldTypeDescription
apiKeystringYour Xeronance API key (starts with XR_live_)
symbolsarraySymbols to fetch. Case-insensitive.
pollSecondsinteger0 = single snapshot, then exit. Positive = repeat at this interval.
maxIterationsintegerHow many rounds in polling mode. 0 = unlimited.
{
"apiKey": "XR_live_...",
"symbols": ["GARAN", "THYAO", "EURUSD", "XAUUSD", "BTCUSDT:BNN"],
"pollSeconds": 0,
"maxIterations": 0
}

Snapshot vs. continuous

  • pollSeconds: 0 — fetch once, write the dataset, exit. Cheapest option; ideal for a scheduled task that runs every N minutes.
  • pollSeconds: 60 — keep running and collect every minute. Use with maxIterations to bound the run.

For sub-second updates, use the WebSocket endpoint directly rather than this Actor — Apify Actors are not designed for continuous streaming.


Output

One dataset row per symbol per round:

FieldDescription
symbolSymbol code
categoryshares, viop, forex, crypto, …
descriptionInstrument name
bidBid price. null if the symbol has not traded yet.
askAsk price
priceAlias of bid, kept so older integrations keep working
changeChange versus previous close
changePercentPercent change versus previous close
digitsNumber of decimal places for this instrument
quotedAtWhen the price was set (ISO-8601, +03:00)
quotedAtMsSame, Unix milliseconds
collectedAtWhen this Actor fetched it (ISO-8601, +03:00)
{
"symbol": "GARAN",
"category": "shares",
"description": "GARANTI BANKASI",
"bid": 126.9,
"ask": 126.9,
"price": 126.9,
"change": 0.4,
"changePercent": 0.32,
"digits": 2,
"quotedAt": "2026-10-30T10:38:17.067+03:00",
"quotedAtMs": 1793345897067,
"collectedAt": "2026-10-30T10:38:26.465+03:00"
}

Behaviour worth knowing

SituationWhat happens
Symbol exists but has not traded todayRow is returned with bid/ask null
bid and ask are equalBy design. The feed publishes the last traded price on both sides so you can apply your own spread.
Symbol does not existSkipped, logged as a warning, run still succeeds
Duplicate symbols in inputDeduplicated; they do not count against your plan limit
Plan symbol limit exceededRequest rejected with a clear error naming your plan
Quota exhaustedActor waits for the interval the API returns, then retries

Symbols are fetched in batches of 50, so 200 symbols cost 4 API requests, not 200.


Plans

PlanPriceSymbols per requestRequests/dayRequests/min
Free$01020060
Basic$19/mo5010,000120
Pro$49/mo200100,000600
Diamond$149/mo2,500 (all)unlimited3,000

Annual billing: pay for 10 months, get 12.

Quotas reset at midnight Europe/Istanbul. Every API response carries X-RateLimit-* headers so you can track usage before hitting a limit.

Diamond has no daily cap; the per-minute ceiling exists purely as abuse protection and no normal workload comes close to it.


Also available as

  • REST API — https://feedapi.xeronance.com (OpenAPI spec available)
  • WebSocket — streaming quotes, sub-second
  • Google Sheets add-on — live prices in a spreadsheet

Contact & support