Crypto Fear & Greed + BTC Price, Funding & Risk Signals avatar

Crypto Fear & Greed + BTC Price, Funding & Risk Signals

Pricing

from $0.50 / 1,000 daily index readings

Go to Apify Store
Crypto Fear & Greed + BTC Price, Funding & Risk Signals

Crypto Fear & Greed + BTC Price, Funding & Risk Signals

Daily crypto sentiment and risk panel: Fear & Greed history joined to BTC closes, 1/7/30-day returns, perpetual funding, current open interest, sentiment percentiles and divergence flags. Keyless sources, graceful partial coverage, optional Telegram alerts.

Pricing

from $0.50 / 1,000 daily index readings

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Categories

Features

Limited permissions

Share

Collect the daily Crypto Fear & Greed Index (0–100, from alternative.me) joined to Bitcoin market context for the same day: the BTC daily close (Coinbase BTC-USD), 1/7/30-day returns, mean perpetual funding (Hyperliquid), current open interest, a sentiment percentile, regime labels and a fear/greed vs price divergence flag. One row per day, up to a year per run. Built for traders, quant hobbyists and bot builders who schedule a daily run and pipe the JSON into dashboards, alerts or models. No account or API key is needed.

Data only, not financial advice.

Use cases

  • Sentiment dashboards: chart the index next to the BTC close and returns, refreshed once a day.
  • Extreme-sentiment alerts: get a Telegram message when the latest day reads extreme fear (≤ 25) or extreme greed (≥ 76).
  • Divergence screens: flag days when sentiment says fear but BTC rose over the week, or greed while it fell.
  • Model features: use the index, its percentile, regime changes and funding as inputs to your own backtests.

Quick start

  1. Open the Actor and click Start. The form runs with the last 10 days and market enrichment on.
  2. Read the rows in the Output tab, or export them as JSON, CSV or Excel.

For the last 30 days:

{"limit": 30, "enrichMarket": true}

An empty input ({}) returns the last 10 days with market enrichment on.

Input

NameTypeDefaultWhat it does
limitinteger10Days of history to return, newest days, 1–365.
enrichMarketbooleantrueAdd the BTC price, returns, funding, open interest and divergence fields. false returns index fields only.
alertExtremebooleanfalseWhen true and a Telegram chat is set, sends one alert if the latest day is extreme fear (≤ 25) or extreme greed (≥ 76).
telegramBotTokenstringemptySecret bot token for alerts; if empty, the TELEGRAM_BOT_TOKEN secret environment variable is used.
telegramChatIdstringemptyChat that receives the alerts.

A misspelt input field stops the run with an error that names it.

What it returns

One dataset row per day, oldest to newest:

FieldMeaning
recordKeyStable key, fng:{date}.
source, kindRecord source and type.
date, timestampUTC day of the reading and its Unix timestamp.
valueIndex value, 0–100.
classificationThe provider's own label, unchanged.
regimeDerived label: extreme-fear (0–25), fear (26–46), neutral (47–54), greed (55–75), extreme-greed (76–100).
regimeChangedWhether the regime differs from the previous calendar day; null on the first day or after a gap.
sentimentPercentileShare of the returned readings up to this day that are at or below this value (0–100).
sentimentPercentileBasisHow many readings that percentile used (grows with limit).
btc.closeUsdBTC-USD daily close at the index publication time (00:00 UTC on date).
btc.returnsPctPercentage returns over 1, 7 and 30 calendar days ending at that close.
btc.fundingRateDailyMeanMean hourly perpetual funding rate over the 24 hours before date (decimal, not annualized).
btc.fundingSamples, btc.fundingDayCompleteHow many hourly rates were available; complete means all 24.
btc.openInterestBtc, btc.openInterestAsOfCurrent open interest in BTC and when it was read; only on today's row.
btc.divergencefear_price_up (index ≤ 46 with a positive 7-day return), greed_price_down (index ≥ 55 with a negative 7-day return), aligned, or null without prices.
enrichmentStatusWhether market enrichment ran and whether price, funding and open interest were available, with notes.
sourceUrl, collectedAtWhere the reading was published and when it was collected.

The run summary (OUTPUT) reports the latest reading, the change since yesterday, the 7-day average with its regime, the alert result and any warnings.

Output example

Illustrative record (example values; real runs return the live figures):

{"recordKey":"fng:2026-10-30","source":"alternative.me","kind":"fear_greed","date":"2026-10-30","timestamp":1793318400,"value":34,"classification":"Fear","regime":"fear","sourceUrl":"https://api.alternative.me/fng/","collectedAt":"2026-10-30T09:15:02Z","btc":{"closeUsd":77780.33,"returnsPct":{"1":-4.27,"7":2.15,"30":-8.9},"fundingRateDailyMean":0.0000125,"fundingSamples":24,"fundingDayComplete":true,"openInterestBtc":40416.28,"openInterestAsOf":"2026-10-30T09:15:01+00:00","divergence":"fear_price_up"},"enrichmentStatus":{"enabled":true,"price":"available","funding":"complete","openInterest":"snapshot","notes":[]},"sentimentPercentile":40.0,"regimeChanged":false,"sentimentPercentileBasis":10}

Pricing

Current price: $0.0005 per daily row plus a $0.005 start fee, so a 30-day history costs about $0.02 and a full year about $0.19.

Pay per result: each daily row is one result, including rows where some market fields are unavailable. The market fields add no extra rows and no extra charges. See the Actor's Pricing tab on Apify for current rates.

Scheduling and monitoring

  • Schedule one run a day shortly after 00:00 UTC, when the new reading is published. limit: 1 returns just the newest day; de-duplicate on recordKey in your own store.
  • Turn on alertExtreme with a Telegram chat to be messaged only on extreme days. A failed or skipped send is a warning in OUTPUT, never a failed run.

FAQ

How fresh is the data? One index reading per UTC day, published around 00:00 UTC. Each run returns the newest days available at run time.

How much history is available? The index starts on 2018-02-01; each run returns up to 365 days. Market fields depend on what each market source still keeps for older days.

Why is open interest empty on older rows? Open interest is a current snapshot only, attached to today's row. It is never backfilled.

What if a market source is down? Every index row is still returned; the missing market values are null and enrichmentStatus says which source was unavailable. Values are never forward-filled. If the index itself can't be collected, the run fails with a clear message.

How are the labels chosen? classification is the provider's label, unchanged; regime uses fixed value bands that match the provider's labels over its full history. A mismatch is reported as a warning, never a failure.

Export formats? JSON, CSV, Excel, XML or RSS from the dataset, or read it through the Apify API in your own pipeline.

Limits

  • Bitcoin market context only; one index (the Crypto Fear & Greed Index).
  • Daily granularity; up to 365 days per run.
  • Percentiles use only the readings returned in the run, so a 10-day run has a 10-reading basis. Use a larger limit for a broader percentile.
  • Signals are descriptive research data, not trading signals.

For support, contact Apify support and include the Actor run ID.