I recently discovered that the Yahoo Finance website uses a public API to get live market data into the frontend. After some more digging, it became obvious this was done using WebSockets and ProtoBuf, both of which I wanted to get a feeling for anyway. So, I decided to build a simple price tracker in order to get familiar with the technologies used.
A live demo can be found at stockticker.nils-jansen.com
$ git clone https://github.com/nils-jansen/stockticker.git
$ cd stockticker
$ npm install
$ npm start
Enter a stock symbol as used on finance.yahoo.com and wait for the first message from the WebSocket connection.
The file "yaticker_pb.js" was generated with protoc, using the .proto file available at github.com/yahoofinancelive/yliveticker.