Live Data

Live Data Feed

Scylla delivers real-time stock market data via a persistent WebSocket connection, enabling low-latency access to quotes, trading volumes, and other essential market metrics. Designed for performance-critical environments, Scylla serves traders, portfolio managers, quantitative researchers, and financial analysts who require continuous, up-to-the-second market information.

Use Cases

  • Intraday Trading — Access streaming market data to support rapid order execution and react to price movements in real time.

  • Investment Research — Evaluate securities using live pricing alongside historical performance to inform long-term allocation decisions.

  • Quantitative & Financial Analysis — Conduct in-depth research across individual instruments, sectors, and broader markets using Scylla's comprehensive data and charting capabilities.

  • Portfolio Monitoring — Track holdings in real time with automated alerts for significant price changes or threshold breaches.

Python Code Example

app.py
import asyncio
import websockets
 
async def main():
    uri = "wss://hist.grosch.capital/ws"
    
    headers = {
        "Authorization": f"Bearer {api_token}" # Replace with your own API key
    }
 
    async with websockets.connect(uri, extra_headers=headers) as websocket:
        while True:
            try:
                data = await websocket.recv()
                print(data)
            except websockets.ConnectionClosed:
                print("Connection closed.")
                break
 
if __name__ == "__main__":
    asyncio.run(main())

JavaScript Code Example

app.js
const WebSocket = require('websocket').w3cwebsocket;
 
const uri = 'wss://hist.grosch.capital/ws';
 
const headers = {
  Authorization: `Bearer apiToken`, // Replace with your own API key
};
 
const client = new WebSocket(uri, undefined, undefined, headers);
 
client.onerror = (error) => {
  console.error(`Connection Error: ${error}`);
};
 
client.onopen = () => {
  console.log('Connected to WebSocket');
};
 
client.onclose = (event) => {
  if (event.code === 1000) {
    console.log('Connection closed normally.');
  } else {
    console.error(`Connection closed with code: ${event.code}`);
  }
};
 
client.onmessage = (message) => {
  if (message.type === 'message') {
    console.log(`Received data: ${message.data}`);
  }
};
 
process.on('SIGINT', () => {
  if (client.readyState === WebSocket.OPEN) {
    console.log('Closing WebSocket...');
    client.close();
  }
});