Crypto Fear & Greed Index + Market Sentiment avatar

Crypto Fear & Greed Index + Market Sentiment

Pricing

from $0.35 / 1,000 result items

Go to Apify Store
Crypto Fear & Greed Index + Market Sentiment

Crypto Fear & Greed Index + Market Sentiment

Crypto market sentiment for agents and alerts: Fear & Greed Index with full history since 2018 (daily/weekly/monthly, moving averages, streaks, percentile), global market cap, BTC/ETH/stablecoin dominance, DeFi stats, trending coins and per-coin sentiment votes from CoinGecko. One call, no API key.

Pricing

from $0.35 / 1,000 result items

Rating

0.0

(0)

Developer

Samat Makatov

Samat Makatov

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

The daily Crypto Fear & Greed Index (alternative.me) with its full history since February 2018, enriched with moving averages, streaks and percentiles, plus live market context from CoinGecko: total market cap, 24 h volume, BTC / ETH / stablecoin dominance, DeFi stats, trending coins and per-coin community sentiment votes. One call, clean JSON, built for trading bots, dashboards, alerting and backtests. No API key, no browser, no proxy.

Use cases

  • Risk-on / risk-off switch — mode: "summary" every morning; act on classification, change7d, percentile365d.
  • Alerting — fire when value <= 20 (Extreme Fear) or the streakDays in Greed exceeds 30.
  • Backtesting — mode: "history", from: "2018-02-01", aggregate: "weekly" → 400+ weekly rows in one run.
  • Dashboards / newsletters — default daily rows with market cap, dominance and trending coins attached.
  • Coin-level sentiment — mode: "coins" for BTC/ETH/SOL: bullish-vote %, watchlist users, whether it is trending, price change.
  • Macro context for LLM agents — one compact row (summary) that a model can reason over before trading or writing.

Input

FieldTypeDefaultNotes
modedaily | summary | history | coinsdailySee modes below.
daysinteger 1–500030Latest N days (daily/history). ~3100 days exist. Ignored when from or to is set.
from, toYYYY-MM-DD—Explicit UTC window, both days included; overrides days. from alone runs to the latest day, to alone starts at the first day (2018-02-01). Other date formats and impossible dates (2026-02-30) are refused.
aggregatedaily | weekly | monthlydailyhistory mode only.
includeGlobalbooleantrueMarket cap, volume, dominance, active coins (daily/summary).
includeTrendingbooleantrueTop-15 trending coins (daily/summary); isTrending flag in coins mode.
includeDefibooleanfalseDeFi market cap / dominance / volume (daily/summary).
coinIdsstring[]—CoinGecko ids for coins mode (bitcoin, ethereum, solana…), max 30; case and spaces do not matter. Ignored in the other modes.
vsCurrencyenumusdOne of CoinGecko's 63 vs_currencies, lower case as listed in the input (usd, eur, gbp, jpy, btc, eth, …). Apify refuses any other value before the run starts.
coingeckoApiKeystring (secret)—Optional Demo or Pro key: CoinGecko calls are paced every 2.1 s with a Demo key and 0.15 s with a Pro key, instead of 6.5 s. Never required.
fieldsstring[]—Output only these columns, in this order. The row's identity column (date in daily/summary, period in history, id in coins) is always kept. Letter case does not matter. A name that is not a column of the chosen mode is left out and named in the status message; if none of the names fits the mode, the run fails with the list of valid names.

days and includeTrending keep their original meaning; the default output shape is unchanged (date, fearGreed, classification, market context on the first row) with new fields added.

Modes

ModeRowsWhat you get
dailyone per day, newest firstfearGreed, classification, change1d, change7d, ma7, ma30; first row also carries global market stats, DeFi stats and trending coins.
summary1Current value + prevDay, change1d/7d/30d, avg7d/30d/90d/365d, min30d/max30d with dates, min365d/max365d, percentile365d, streakDays, daysSinceExtremeFear/Greed, zoneChanges30d, plus global / DeFi / trending.
historyone per periodperiod, from, to, days, avg, min, max, open, close, classification for any date range, daily/weekly/monthly.
coinsone per coinsentimentUpPct, sentimentDownPct, watchlistUsers, rank, price, change24h/7d/30d, marketCap, volume24h, athChangePct, categories, twitter, subreddit, isTrending, plus market-wide marketFearGreed. Each coin is saved as soon as it is read.

Reference

Fear & Greed classification buckets (alternative.me): 0–24 Extreme Fear · 25–44 Fear · 45–55 Neutral · 56–75 Greed · 76–100 Extreme Greed. The index blends volatility, market momentum/volume, social media, dominance and trends; it is published once per day (UTC) and history starts 2018-02-01.

Dominance keys in dominance: CoinGecko's top-10 by market cap at run time (typically btc, eth, usdt, bnb, xrp, usdc, sol, trx, steth, …). stablecoinDominance = USDT + USDC share.

CoinGecko ids are slugs (bitcoin, ethereum, solana, aerodrome-finance), not tickers. Look them up with the coingecko-markets actor (mode: "search").

Examples

Morning risk gauge for an agent

{ "mode": "summary", "includeDefi": true }

Extreme-fear alert (schedule hourly, alert if fearGreed ≤ 20)

{ "mode": "daily", "days": 1, "includeTrending": false, "fields": ["date", "fearGreed", "classification", "change1d", "btcDominance", "marketCapChange24h"] }

Weekly series since inception for a backtest

{ "mode": "history", "from": "2018-02-01", "aggregate": "weekly" }

Last 90 days with moving averages, no market context

{ "mode": "daily", "days": 90, "includeGlobal": false, "includeTrending": false }

Community sentiment for a watchlist (EUR prices)

{ "mode": "coins", "coinIds": ["bitcoin", "ethereum", "solana", "hyperliquid", "aerodrome-finance"], "vsCurrency": "eur" }

Output

daily (first row, trimmed):

{
"date": "2026-09-12",
"fearGreed": 63,
"classification": "Greed",
"change1d": 7,
"change7d": -10,
"ma7": 66.7,
"ma30": 61.7,
"totalMarketCap": 2658510771350.39,
"totalVolume24h": 46411316708.27,
"marketCapChange24h": -2.4,
"btcDominance": 58.22,
"ethDominance": 11.56,
"stablecoinDominance": 9.68,
"dominance": { "btc": 58.22, "eth": 11.56, "usdt": 6.89, "bnb": 3.63, "xrp": 3.23, "usdc": 2.79, "sol": 2.24 },
"activeCoins": 21145,
"markets": 1496,
"globalUpdatedAt": "2026-09-12T23:47:45.000Z",
"trending": [ { "id": "illuvium", "symbol": "ILV", "name": "Illuvium", "rank": 659, "score": 1, "price": 3.73, "change24h": 20.7, "marketCap": "$30,949,347", "volume24h": "$15,729,154" } ],
"source": "alternative.me",
"sourceUrl": "https://alternative.me/crypto/fear-and-greed-index/",
"fetchedAt": "2026-09-12T23:49:39.081Z"
}

summary (trimmed): value 63, prevDay 56, change30d 34, avg90d 36.5, avg365d 28.6, min30d 29 (2026-08-14), max30d 74 (2026-08-25), percentile365d 92.3, streakDays 24 (Greed), daysSinceExtremeFear 37, daysSinceExtremeGreed 427, zoneChanges30d 1, historyDays 3142 + the same market context fields.

Dataset views in the Console: Fear & Greed (daily), Summary (summary), History (history: period, from, to, days, avg, min, max, open, close) and Coins (coins). Pick the view that matches the mode; the others show mostly empty columns.

FieldMeaning
fearGreed / valueIndex 0–100 (fearGreed in daily rows for backward compatibility, value in summary).
classificationBucket name (see Reference).
change1d, change7d, change30dPoint difference vs 1/7/30 days earlier.
ma7, ma30, avgNdSimple moving averages (need enough history; null otherwise).
percentile365dShare of the last 365 days with a lower value (92 = higher than 92 % of the year).
streakDaysConsecutive days in the current classification.
daysSinceExtremeFear/GreedDays since the last day in that bucket (null if never in loaded history).
zoneChanges30dNumber of classification changes in the last 30 days (choppiness).
Market contexttotalMarketCap, totalVolume24h, marketCapChange24h (%), btcDominance, ethDominance, stablecoinDominance, dominance, activeCoins, markets, globalUpdatedAt; with includeDefi: defiMarketCap, defiDominance, defiVolume24h, defiToEthRatio, defiTopCoin; trending[]. If CoinGecko is unavailable the row still ships with globalError / trendingError set.
coins modesentimentUpPct, sentimentDownPct (CoinGecko community votes today), watchlistUsers, isTrending (null when the trending list was not read: includeTrending off or CoinGecko did not answer), price fields in currency, marketFearGreed / marketClassification (null if alternative.me did not answer).

The key-value store record SUMMARY holds the run's counts (delivered, stoppedBy, status), the latest stats block (latest, whatever the mode), the market context and, in coins mode, missing (unknown ids), notRead and notReadReason. The run's status message says the same in one line.

Use it from code / agents

curl -X POST "https://api.apify.com/v2/acts/yadroo~crypto-sentiment/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' -d '{"mode":"summary"}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yadroo/crypto-sentiment').call({ mode: 'history', from: '2024-01-01', aggregate: 'weekly' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yadroo/crypto-sentiment").call(run_input={"mode": "coins", "coinIds": ["bitcoin", "ethereum"]})
items = client.dataset(run["defaultDatasetId"]).list_items().items

MCP: connect https://mcp.apify.com and call the yadroo/crypto-sentiment tool with the same JSON.

Pricing

Pay per event: $0.001 per run start + $0.0005 per row. Default run (30 daily rows) ≈ $0.016; summary ≈ $0.0015; full weekly history since 2018 (~450 rows) ≈ $0.23; 3,100 daily rows ≈ $1.55. Coins mode: one row per coin; unknown ids cost nothing.

Store discounts: Bronze −10 %, Silver −20 %, Gold and above −30 % on the row price; the start event is the same on every plan; platform usage is included.

Maximum cost per run is respected: the run saves the rows your limit pays for, then stops with "Stopped at your spending limit: N rows delivered".

Limits & FAQ

  • Freshness — Fear & Greed updates once a day (~00:00 UTC); global/trending are live at run time.
  • CoinGecko rate limit — the public API allows only ~5–15 requests/min per IP, and Apify's IPs are shared. Without a key the actor spaces CoinGecko calls 6.5 s apart (~9/min); a coins run with 30 ids takes about 3.5 minutes. On HTTP 429 it waits for Retry-After (at least 5 s, 60 s without the header), and a CDN block (HTML 403) 30–60 s, within a waiting budget of 160 s per run. A free CoinGecko Demo key (30/min) makes coins runs about 3× faster. In daily/summary mode, if CoinGecko stays unavailable the Fear & Greed rows are still saved, with globalError / trendingError / defiError set and the gap named in the status.
  • Unknown coin ids (CoinGecko answers 404) are skipped at once, never retried, and named in the status and in SUMMARY.missing; ids are slugs, not tickers. A run whose ids are all unknown fails with that message.
  • Throttled or failing CoinGecko in coins mode — the coins read so far are already saved; the actor stops asking (more requests would hit the same limit) and names the coins it did not read. The run fails only when no coin could be saved.
  • Run timeout — near the timeout the actor stops starting new requests, keeps every row already saved and ends with "Stopped before the run timeout"; nothing is billed twice after a platform restart.
  • Currency — vsCurrency must be a CoinGecko-supported code (validated up front); alternative.me data is currency-independent.
  • Roadmap — additional sentiment sources (funding rates, social volume), per-day dominance history.

Made by Yadroo — more data actors for agents: crypto-news · coingecko-markets · defillama-protocols · polymarket-markets · bitcoin-mempool