API Documentation

The API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. These APIs are only available for customers with Global Plan. Navigate to the account page to upgrade.

Base URL: /api

Swagger schema: Download




Authentication

All GET request require an api_key in the URL. You can find your API Key under My Profile in the account page. If you are logged in, your API key will be automatically used in the examples so you can copy and paste them as is. The rate limit is 60 API calls/minute.




Valuation

Get the fair price and upside of all valuation models for one or more stock tickers.

Method: GET

Examples:

/valuation?tickers=AAPL,JPM

/valuation?tickers=GOOGL

Arguments:

tickersREQUIRED

Ticker(s). If more than 1 ticker are provided, use a comma to separate them. You can request up to 50 tickers at one time.

api_keyREQUIRED

API Key.

Response Attributes:

price_currency

Price currency.

stock_price

Latest stock price.

valuation

A map of key, value pairs containing the fair price and upside of each valuation model.

wacc_components

WACC and related components.

Sample code
1import requests
2r = requests.get('https://valueinvesting.io/api/valuation?tickers=AAPL,JPM&api_key=')
3print(r.json())


Sample response
1{
2  "AAPL": {
3    "price_currency": "USD",
4    "stock_price": 176.28,
5    "valuation": {
6      "fair_price_dcf_ebitda_10": 106.522934,
7      "fair_price_dcf_ebitda_5": 78.680466,
8      "fair_price_dcf_growth_10": 206.92052,
9      "fair_price_dcf_growth_5": 182.09157,
10      "fair_price_ddm_multi": 147.4993,
11      "fair_price_ddm_stable": 207.95847,
12      "fair_price_epv": 53.036533,
13      "fair_price_ev_ebitda": 57.642834,
14      "fair_price_pe": 124.20023,
15      "upside_dcf_ebitda_10": -0.3957174,
16      "upside_dcf_ebitda_5": -0.553662,
17      "upside_dcf_growth_10": 0.17381737,
18      "upside_dcf_growth_5": 0.032967843,
19      "upside_ddm_multi": -0.16326697,
20      "upside_ddm_stable": 0.17970537,
21      "upside_epv": -0.6991347,
22      "upside_ev_ebitda": -0.67300415,
23      "upside_pe": -0.29543772
24    },
25    "wacc_components": {
26      "beta": 1.20203,
27      "cost_of_debt": 0.0425,
28      "cost_of_equity": 0.07312996,
29      "wacc": 0.0715791
30    }
31  },
32  "JPM": {
33    "price_currency": "USD",
34    "stock_price": 157.26,
35    "valuation": {
36      "fair_price_ddm_multi": 194.65211,
37      "fair_price_ddm_stable": 278.0936,
38      "fair_price_pe": 160.81259,
39      "upside_ddm_multi": 0.23777257,
40      "upside_ddm_stable": 0.76836836,
41      "upside_pe": 0.022590548
42    },
43    "wacc_components": {
44      "beta": 1.12705,
45      "cost_of_debt": 0.05,
46      "cost_of_equity": 0.06565522,
47      "wacc": 0.05173176
48    }
49  }
50}

Screener

Get filters and data of one of your screeners.

Method: GET

Examples:

/screener?screener_name=Your first screener

Arguments:

screener_nameREQUIRED

Your screener name.

api_keyREQUIRED

APi Key.

Response Attributes:

columns

Columns.

currency

Screener currency.

data

An array of map of key, value pairs containing the data of the screener.

filters

An array of the screener filters.

screener_name

Screener name.

Sample code
1import requests
2r = requests.get('https://valueinvesting.io/api/screener?screener_name=Your first screener&api_key=')
3print(r.json())


Sample response
1{
2  "columns": [
3    "Ticker",
4    "Company Name",
5    "Exchange Name",
6    "Dividend Yield"
7  ],
8  "currency": "USD",
9  "data": [
10    {
11      "Dividend Yield": 0.06540358,
12      "Exchange Name": "TORONTO STOCK EXCHANGE",
13      "Ticker": "PPL.TO"
14    },
15    {
16      "Company Name": "Swedbank AB",
17      "Dividend Yield": 0.056603774,
18      "Exchange Name": "NASDAQ OMX NORDIC",
19      "Ticker": "SWED A.ST"
20    },
21    {
22      "Company Name": "Cheniere Energy Partners LP",
23      "Exchange Name": "NYSE MKT LLC",
24      "Ticker": "CQP"
25    },
26    {
27      "Dividend Yield": 0.10744811,
28      "Exchange Name": "NEW YORK STOCK EXCHANGE, INC.",
29      "Ticker": "NLY"
30    },
31  ],
32  "filters": [
33    {
34      "condition": "between",
35      "field_code": "Revenue",
36      "value": [
37        3000,
38        10000
39      ]
40    },
41    {
42      "condition": "greater than or equal to",
43      "field_code": "Dividend Yield",
44      "value": [
45        0.05
46      ]
47    }
48  ],
49  "screener_name": "Your first screener"
50}

Watchlist

Get data of one of your watchlist

Method: GET

Examples:

/watchlist?watchlist_name=Your first watchlist

Arguments:

watchlist_nameREQUIRED

Your watchlist name

api_keyREQUIRED

API Key

Response Attributes:

columns

Columns.

currency

Watchlist currency.

data

An array of map of key, value pairs containing the data of the watchlist.

watchlist_name

Watchlist name.

Sample code
1import requests
2r = requests.get('https://valueinvesting.io/api/watchlist?watchlist_name=Your first watchlist&api_key=')
3print(r.json())


Sample response
1{
2  "columns": [
3    "Ticker",
4    "Company Name",
5    "Exchange Name",
6    "Revenue_TTM",
7    "Market Capitalization"
8  ],
9  "currency": "USD",
10  "data": [
11    {
12      "Company Name": "Apple Inc",
13      "Exchange Name": "NASDAQ NMS - GLOBAL MARKET",
14      "Market Capitalization": 2881620,
15      "Revenue_TTM": 365817,
16      "Ticker": "AAPL"
17    },
18    {
19      "Company Name": "Alibaba Group Holding Ltd",
20      "Exchange Name": "NEW YORK STOCK EXCHANGE, INC.",
21      "Market Capitalization": 320228.7,
22      "Revenue_TTM": 127820.79249114076,
23      "Ticker": "BABA"
24    },
25    {
26      "Company Name": "Alphabet Inc",
27      "Exchange Name": "NASDAQ NMS - GLOBAL MARKET",
28      "Market Capitalization": 1947094,
29      "Revenue_TTM": 239210,
30      "Ticker": "GOOGL"
31    }
32  ],
33  "watchlist_name": "Your first watchlist"
34}