Tools
Public API
Free JSON for every index, for dashboards, trading tools and research.
- Free
- No API key
- CORS enabled
- 15-minute cache
Base URL
Fair use
Data is cached on the server for 15 minutes, so polling faster returns the same response. Fetching once per page load, or every 15 minutes, is enough for most uses. Heavy automated traffic from one IP address may be throttled.
https://feargreedchart.com/api/
Endpoints
Open one to see its fields and try it live.
GET/?action=allEverything in one call.
The current score with all five signals, market data for the major indices and sector ETFs, the full score history, and notable past episodes.
| Field | Type | What it is |
|---|---|---|
score.score | int | Composite score, 0 to 100 |
score.components | array | Five signals, each with name, val, wt, desc and raw |
market | object | Price, change, percent change and recent closes for each symbol |
recent | array | Full score history: [{date, score}, …] |
sectors | object | Sentiment score per sector ETF (XLK, XLF and others) |
notable | array | Notable past sentiment episodes |
ts | int | Server timestamp in milliseconds |
GET/?action=historyEvery daily score as JSON.
An array of readings, oldest first: daily scores from October 2016, plus a few estimated points earlier in 2016.
| Field | Type | What it is |
|---|---|---|
[].date | string | Date, YYYY-MM-DD |
[].score | int | Fear & Greed score, 0 to 100 |
GET/?action=history&format=csvThe same history as a CSV file.
Ready for Excel, Google Sheets or any analysis tool. Each row also carries the zone, the change from the prior day and the S&P 500 (SPY) close.
| Field | Type | What it is |
|---|---|---|
date | string | YYYY-MM-DD |
score | int | 0 to 100 |
zone | string | Extreme Fear to Extreme Greed |
score_change | int | Change from the previous reading |
spy_close | float | SPY closing price |
spy_change_pct | float | SPY daily change, % |
GET/?action=marketPrices for every tracked symbol.
Current price, daily change and recent closes for the VIX, SPY, QQQ, DIA, IWM and 11 sector ETFs.
| Field | Type | What it is |
|---|---|---|
{SYM}.price | float | Current or last price |
{SYM}.chg | float | Daily change |
{SYM}.pct | float | Daily change, % |
{SYM}.closes | array | Recent daily closes |
GET/?action=newsMarket headlines.
Up to seven deduplicated headlines from Yahoo Finance, MarketWatch and Reuters feeds, newest first.
| Field | Type | What it is |
|---|---|---|
[].title | string | Headline |
[].link | string | Link to the article |
[].publisher | string | Source name |
[].time | int | Unix timestamp |
GET/?action=cryptoCrypto sentiment with BTC and ETH prices.
The crypto Fear & Greed Index from alternative.me, BTC and ETH prices from Yahoo Finance, the stock index for comparison and a year of crypto history.
| Field | Type | What it is |
|---|---|---|
crypto_fng.score | int | Crypto Fear & Greed score, 0 to 100 |
crypto_fng.label | string | Extreme Fear, Fear, Neutral, Greed or Extreme Greed |
prices.BTCUSD.price | float | BTC price in USD |
prices.ETHUSD.price | float | ETH price in USD |
stock_fng.score | int | Stock market score, for comparison |
crypto_history[] | array | 365 days of crypto scores (date, score) |
GET/?action=insiderInsider buying against selling.
Computed from SEC Form 4 filings on SEC EDGAR: open-market purchases against sales over a rolling 30 days.
| Field | Type | What it is |
|---|---|---|
score.score | int | Insider score, 0 to 100 |
score.label | string | Heavy Selling, Sell Pressure, Neutral, Accumulation or Strong Conviction |
score.components[] | array | Buy/sell ratio, C-suite conviction, buy momentum and sell pressure |
score.stats | object | total_buys, total_sells, total_buy_val, total_sell_val, csuite_buys |
top_buys[] | array | Notable purchases: symbol, name, title, shares, value, date |
top_sells[] | array | Notable sales |
GET/?action=liquidityUS net liquidity from FRED.
Net liquidity = Fed balance sheet (WALCL) − Treasury General Account (WTREGEN) − reverse repo (RRPONTSYD).
| Field | Type | What it is |
|---|---|---|
score | int | 0 to 100: where net liquidity sits in its two-year range |
label | string | Very Tight, Tight, Neutral, Loose or Very Loose |
net_liquidity | float | Net liquidity, trillions of USD |
trend | float | Four-week change, trillions |
trend_label | string | Expanding, Contracting or Stable |
components[] | array | Fed balance sheet, TGA, RRP and M2, each with value, date and series ID |
history[] | array | About two years of weekly net liquidity (date, net) |
GET/?action=regimeThe current market regime.
Combines the Fear & Greed score, insider sentiment, the VIX and US liquidity into one regime, with every matching regime, the signal dashboard and similar past episodes.
| Field | Type | What it is |
|---|---|---|
regime.name | string | Capitulation Phase, Liquidity Squeeze, Euphoria Zone, Complacency with Headwinds, Fear with Macro Support, Recovery Phase, Risk-On Environment, Consolidation Phase or Neutral with Undercurrents |
regime.severity | string | positive, negative, caution, neutral, moderate or watch |
current | object | fg_score, fg_zone, velocity, vel_dir, vix, vix_level, insider_score, insider_label, liq_score, liq_trend, liq_label |
all_regimes[] | array | Every matching regime (several can be active) |
history.episodes | int | Past episodes in the same zone |
history.avg_fwd_5d | float | Average 5-day change in the score after similar episodes |
history.avg_fwd_22d | float | Average 22-day change in the score |
Regional indices
Each runs on its own subdomain with its own fields.
GETkospi.feargreedchart.com/api/?action=kospiKOSPI Fear & Greed Index
Korea. Momentum (KOSPI against its 125-day average), volatility, safe-haven demand (USD/KRW) and foreign flow (KRX investor data via Naver Finance).
Full KOSPI API docsGETnikkei.feargreedchart.com/api/?action=nikkeiNikkei Fear & Greed Index
Japan. Momentum (Nikkei 225 against its 125-day average), volatility, currency (USD/JPY 20-day change) and foreign flow (JPX TSE Prime weekly investor data).
Full Nikkei API docsGETnifty.feargreedchart.com/api/?action=niftyNIFTY Fear & Greed Index
India. Momentum (NIFTY 50 against its 125-day average), volatility, currency (USD/INR 20-day change) and foreign flow (NSE FII cash net buying). Uses the first three equally until 100 days of FII history build up.
Full NIFTY API docsQuick start
// Get today's score
fetch('https://feargreedchart.com/api/?action=all')
.then(r => r.json())
.then(data => {
const score = data.score.score;
const label = score <= 20 ? 'Extreme Fear'
: score <= 40 ? 'Fear'
: score <= 60 ? 'Neutral'
: score <= 80 ? 'Greed'
: 'Extreme Greed';
console.log(`Fear & Greed: ${score} — ${label}`);
});import requests
r = requests.get("https://feargreedchart.com/api/?action=all")
data = r.json()
score = data["score"]["score"]
for c in data["score"]["components"]:
print(f"{c['name']:12s} {c['val']:3d} ({c['wt']}%) {c['raw']}")
print(f"\nComposite: {score}")Attribution appreciated. If you use the API in a public project, a link back to feargreedchart.com is welcome but not required. Data is provided as is, with no uptime guarantee. Not financial advice.