1.0.8-2 • Published 5 years ago

pure-realtime-stock v1.0.8-2

Weekly downloads
11
License
MIT
Repository
github
Last release
5 years ago

pure-realtime-stock

NPM Downloads NPM Version

get real-time stock data for free in Node.js

How does it work?

Hidden Robinhood pages are opened programmatically for each stock. When the price of a stock changes in realtime, the price and symbol is sent over.

Installation

Using npm:

  • npm install pure-realtime-stock

Using yarn:

  • yarn add pure-realtime-stock

On Ubuntu use --unsafe-perm=true. Then follow dependency installation directions.

Usage

RealtimeStock()

Creates a new EventEmitter that outputs realtime stock prices.

const RealtimeStock = require("pure-realtime-stock");
const realtime = new RealtimeStock();

.subscribe(stock : string)

Subscribe to the price movements of a stock with the symbol.

realtime.subscribe("ROKU");

// The realtime "priceMoved" event will now output ROKU's price movements.

.unsubscribe(stock : string)

Unsubscribe from a stock's price movements.

realtime.unsubscribe("ROKU");

// The realtime "priceMoved" event will stop outputting ROKU's price movements.

.getPrice(stock : string)

Gets a stock price.

realtime.getPrice("ROKU").then(price => console.log(`ROKU's current price is ${price}.`));

.getInformation(stock: string)

Gets a stock's information as found on a Robinhood page.

realtime.getInformation("ROKU").then(info => {
 console.log(info);
 realtime.close();
});

.close()

Should be ran at the end of your program to close the connection with Robinhood. If close is not called, the program will not exit.

realtime.getPrice("ROKU").then(price => {
 console.log(price);
 realtime.close();
});

.on("priceMoved", callback( { stock : string, price : number } ) )

Listens for price movements of all the subscribed stocks.

realtime.on("priceMoved", ({ stock, price }) => console.log(`${stock} moved... new price is ${price}`);

.on("debug", callback(error : string))

Listens for event messages or non-fatal problems.

realtime.unsubscribe("BLARG123");

realtime.on("debug", (x) => console.log(x));
// Output: BLARG123 is not a subscription.

.on("logs", callback(error : string))

Listens for internal error logs.


realtime.on("logs", (e) => console.log(e));

Contributing

Feel free to send any pull requests this way!

Getting Started

  • $ git clone https://github.com/jackHedaya/pure-realtime-stock
  • $ cd pure-realtime-stock && yarn

Dependencies

  • puppeteer
1.0.8-2

5 years ago

1.0.8-1

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago