npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

tipranks-api-v2

v1.0.5

Published

Tipranks.com API

Downloads

24

Readme

Tipranks.com API

For any company (e.g. Tesla) the API returns

  • price targets calculated from analyst estimates: mean, median, highest, lowest, number of estimates
  • news sentiment data (bullish vs bearish) based on published articles in the last week

It also returns trending stocks.

Examples

Tesla Price Targets

{
  "symbol": "TSLA",
  "priceTargets": {
    "mean": 297.3333333333333,
    "median": 300,
    "highest": 500,
    "lowest": 54,
    "numberOfEstimates": 21
  }
}

Tesla News Sentiment

{
  "symbol": "TSLA",
  "sentiment": {
    "bullishPercent": 0.4062,
    "bearishPercent": 0.5938
  },
  "buzz": {
    "articlesInLastWeek": 143,
    "weeklyAverage": 147.25,
    "buzz": 0.9711
  },
  "sectorAverageBullishPercent": 0.6204,
  "sectorAverageNewsScore": 0.52,
  "companyNewsScore": 0.3969
}

Trending Stocks

[
  {
    "ticker": "HAL",
    "popularity": 10,
    "sentiment": 10,
    "consensusScore": 1,
    "operations": null,
    "sector": "BASIC MATERIALS",
    "sectorID": 17343,
    "marketCap": 18394572000,
    "buy": 10,
    "sell": 0,
    "hold": 0,
    "priceTarget": 32.42,
    "rating": 5,
    "companyName": "Halliburton",
    "quarterlyTrend": 5,
    "lastRatingDate": "2019-07-24T00:00:00"
  },
  {
    "ticker": "XLNX",
    "popularity": 9,
    "sentiment": 6,
    "consensusScore": 1.6666666666666667,
    "operations": null,
    "sector": "CONSUMER GOODS",
    "sectorID": 18731,
    "marketCap": 27832018900,
    "buy": 6,
    "sell": 0,
    "hold": 3,
    "priceTarget": 131.6,
    "rating": 4,
    "companyName": "Xilinx Inc",
    "quarterlyTrend": 4,
    "lastRatingDate": "2019-07-26T00:00:00"
  }
]

Setup

  • Install Node.js (which includes npm) if you haven't already. On Mac in the command line type brew install node. More information here: nodejs.org
  • Set up a new Node.js project. In the command line type
    • mkdir my-new-project && cd my-new-project to create a new folder
    • npm init to scaffold the Node.js project
    • touch index.js to create the file index.js
    • npm install tipranks-api-v2 to install the library to access the API
    • Copy/paste the example code below inside the index.js file
const tipranksApi = require('tipranks-api-v2');
tipranksApi.getPriceTargets('MU').then(result => console.log(result));
tipranksApi.getNewsSentimentData('MU').then(result => console.log(result));
tipranksApi.getTrendingStocks().then(trending => console.log(trending));
  • node index.js to run the code inside the index.js file
  • Done! Now you should see the price targets and the news sentiment for the ticker MU

Documentation

The API supports the following commands:

  • .getPriceTargets(ticker)
    • ticker is a string representing the company ticker, e.g. TSLA.
    • This method returns the mean price target, median target, highest target, lowest target, and the number of analyst estimates. See below for an example.

Note: The price calculator (e.g. mean price) only considers analyst price estimates given in the last 3 months. The API intentionally excludes estimates given more than three months ago as analysts seem to review/update their estimates in a quarterly interval. The result: under "Analyst ratings" on the website the "average price" for MU was 46.5 and the script displayed 46.77 for "mean" price.

  • .getNewsSentimentData(ticker)

    • ticker is a string representing the company ticker, e.g. TSLA.
    • This method returns the bullish and bearish sentiment in percent, the number of articles published last week, sector average bullish percent, sector average news score, and the company's news score. See example below.
  • .getTrendingStocks()

Examples

Get Price Targets: getPriceTargets

index.js File

  • Copy the code below into the index.js file
  • node index.js to run the code
const tipranksApi = require('tipranks-api-v2');

tipranksApi.getPriceTargets('TSLA').then(result => console.log(result));

Output

{
  "symbol": "TSLA",
  "priceTargets": {
    "mean": 297.3333333333333,
    "median": 300,
    "highest": 500,
    "lowest": 54,
    "numberOfEstimates": 21
  }
}

Get News Sentiment: getNewsSentimentData

index.js File

  • Copy the code below into the index.js file
  • node index.js to run the code
const tipranksApi = require('tipranks-api-v2');

tipranksApi.getNewsSentimentData('TSLA').then(result => console.log(result));

Output

{
  "symbol": "TSLA",
  "sentiment": {
    "bullishPercent": 0.4062,
    "bearishPercent": 0.5938
  },
  "buzz": {
    "articlesInLastWeek": 143,
    "weeklyAverage": 147.25,
    "buzz": 0.9711
  },
  "sectorAverageBullishPercent": 0.6204,
  "sectorAverageNewsScore": 0.52,
  "companyNewsScore": 0.3969
}