ガイドへスキップ

開発者向け · 無料API · APIキー不要

無料の恐怖強欲指数API

仮想通貨市場、ビットコイン、イーサリアム、数十のアルトコインの本日の恐怖強欲指数(Fear & Greed Index)を、JSONまたはCSV形式で、さらに埋め込み用のライブ画像として提供します。APIキーもアカウントも登録も不要です。スクリプト、スプレッドシート、ボット、ウェブページから呼び出せます。お願いしたいのは、リンク付きのクレジット表記だけです。

GET
https://cryptokeyhole.com/api/v1/fear-and-greed
  • APIキー・アカウント不要どの言語、スプレッドシート、ページからでも、シンプルなGETリクエストで利用できます。
  • 市場全体と各銘柄?coin=btc、eth、solほか数十銘柄。
  • JSONまたはCSVlimit=0で2011年以降の全日分を取得できます。
  • ライブ画像1時間ごとに自動で再描画されるPNGゲージ。

現在、市場全体は58/100 · 強欲、ビットコインは67/100 · 強欲です。

APIの画像が現在表示している仮想通貨の恐怖強欲指数ゲージ
/fear-and-greed-index.png · 数値の更新ごとに再描画

クイックスタート

1銘柄の数値を、直近2日分とあわせてリクエストします。市場全体を取得する場合はcoinを省略します。

リクエスト
curl "https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=2"

2026年10月24日 19:00 UTCに取得したレスポンスです。スクリプトが有効な場合は、ここにリアルタイムのレスポンスが表示されます。

レスポンス例
{
  "index": "Bitcoin Fear & Greed Index",
  "coin": "BTC",
  "name": "Bitcoin",
  "value": 67,
  "exact": 66.74211248285322,
  "band": "greed",
  "label": "Greed",
  "date": "2026-10-24",
  "timestamp": 1792868400,
  "asOf": "2026-10-24T19:00:00Z",
  "status": "open",
  "delayed": false,
  "components": [
    {
      "key": "momentum",
      "name": "Price momentum",
      "weight": 25,
      "score": 51.02880658436214
    },
    {
      "key": "volatility",
      "name": "Volatility",
      "weight": 15,
      "score": 97.25651577503429
    },
    {
      "key": "funding",
      "name": "Funding rates",
      "weight": 15,
      "score": 81.20713305898491
    },
    {
      "key": "oi",
      "name": "Open interest",
      "weight": 10,
      "score": 86.41975308641975
    },
    {
      "key": "taker",
      "name": "Taker flow",
      "weight": 10,
      "score": 59.67078189300412
    },
    {
      "key": "lsr",
      "name": "Long/short ratio",
      "weight": 5,
      "score": 56.79012345679013
    },
    {
      "key": "profit",
      "name": "Holder profit",
      "weight": 10,
      "score": 63.648834019204386
    },
    {
      "key": "netflow",
      "name": "Exchange flows",
      "weight": 5,
      "score": 39.64334705075446
    },
    {
      "key": "attention",
      "name": "Attention",
      "weight": 5,
      "score": 28.395061728395063
    }
  ],
  "previous": {
    "yesterday": {
      "date": "2026-10-23",
      "value": 68,
      "band": "greed",
      "label": "Greed"
    },
    "lastWeek": {
      "date": "2026-10-17",
      "value": 60,
      "band": "greed",
      "label": "Greed"
    },
    "lastMonth": {
      "date": "2026-09-24",
      "value": 71,
      "band": "greed",
      "label": "Greed"
    },
    "lastYear": {
      "date": "2025-10-24",
      "value": 32,
      "band": "fear",
      "label": "Fear"
    }
  },
  "history": [
    {
      "date": "2026-10-24",
      "timestamp": 1792800000,
      "value": 67,
      "exact": 66.74211248285322,
      "band": "greed",
      "label": "Greed",
      "status": "open"
    },
    {
      "date": "2026-10-23",
      "timestamp": 1792713600,
      "value": 68,
      "exact": 67.57887517146776,
      "band": "greed",
      "label": "Greed",
      "status": "closed"
    }
  ],
  "links": {
    "page": "https://cryptokeyhole.com/fear-and-greed-index/btc/",
    "chart": "https://cryptokeyhole.com/charts/btc/?metric=ckh.KeyholeFearGreedIndex",
    "api": "https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc",
    "image": "https://cryptokeyhole.com/fear-and-greed-index/btc.png",
    "imageDark": "https://cryptokeyhole.com/fear-and-greed-index/btc-dark.png",
    "badge": "https://cryptokeyhole.com/fear-and-greed-index/btc-badge.png",
    "badgeDark": "https://cryptokeyhole.com/fear-and-greed-index/btc-badge-dark.png",
    "docs": "https://cryptokeyhole.com/fear-and-greed-index/api/"
  },
  "updatedAt": "2026-10-24T19:14:52Z",
  "source": "CryptoKeyhole",
  "credit": "Fear & Greed Index by CryptoKeyhole: https://cryptokeyhole.com/fear-and-greed-index/btc/",
  "docs": "https://cryptokeyhole.com/fear-and-greed-index/api/"
}

エンドポイント

リクエストレスポンス
GET /api/v1/fear-and-greed仮想通貨市場全体の指数:本日の値、その要素、過去の数値、直近30日分。
GET /api/v1/fear-and-greed?coin=btc1銘柄分の同じデータ。銘柄コードは小文字・大文字のどちらでも指定できます。
GET /api/v1/fear-and-greed/coins市場全体と全銘柄の本日の値。それぞれのページ、APIアドレス、画像付き。
GET /fear-and-greed-index.png市場全体と各銘柄のライブゲージ画像。詳しくはライブ画像を参照してください。

パラメーター

パラメーター値デフォルト
coin銘柄コード(btc、ETH、sol…)。市場全体はmarketまたは指定なし。銘柄の一覧は下記のとおりです。市場全体
limit履歴の日数(新しい順)。全日分は0。30
formatjson、または履歴の行を出力するcsv(/coinsでは1銘柄につき1行)。json

すべてのアドレスはhttps://cryptokeyhole.comで始まります。エラーはJSON({"error": "…"})で返されます。読み取れないパラメーターには400、指数のない銘柄には404、指数の再計算にかかる1分間は503が返ります(少し待ってから再度リクエストしてください)。

レスポンスの内容

フィールド意味
value本日の値(0〜100)。当サイトのページと同じく四捨五入した値です。
exact同じ数値の四捨五入前の値。
band, labelゾーンのキー(extreme-fear、fear、neutral、greed、extreme-greed)と文字列での表記(「Extreme fear」…「Extreme greed」)。
dateその数値が属するUTC基準の日付。
timestamp, asOf数値の基準時刻(Unix秒とISO 8601形式)。含まれるデータの最新1時間の終わりの時刻です(確定済みの日はその日の終わり)。
statusopen:その日のここまでの数値。1時間ごとのデータが届くたびに再計算されます。closed:その日の確定値。
delayed入力データの遅れにより、数値の基準時刻から2時間を超えるとtrueになります。当サイトのページにもその旨が表示されます。
components本日の構成要素:key、name、weight、score(0〜100)。値はスコアの加重平均で、スコア × ウェイトの合計をウェイトの合計で割ったものです。
previous1日前、1週間前、1か月前、1年前の数値(yesterday、lastWeek、lastMonth、lastYear)、またはnull。
history日次の数値(新しい順):date、timestamp(UTC基準の1日の開始時刻)、value、exact、band、label、status。
links指数のページ、チャート、APIアドレス、画像。
updatedAt指数が最後に再計算された時刻。
credit数値とあわせて表示するクレジット表記。

/coinsは、各指数のvalue、exact、band、label、date、timestamp、asOf、status、delayedを上記と同じ形式で返し、さらにchange1d(前日からのポイント差)、componentCount、そしてpage、api、image、badgeの各アドレスを含みます。

使用例

コピーして貼り付け、実行するだけ。どの例も、選んだ銘柄に合わせて書き換わります。

curl

ビットコインの1週間分の数値を取得し、続いてjqで本日の値とラベルだけを取り出します。

curl
curl "https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=7"

# today's value and label only (jq)
curl -s "https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=1" | jq -r '"\(.value) \(.label)"'

Python

標準ライブラリのみ。User-Agentヘッダーにアプリ名を入れてください。

Python
import json
import urllib.request

URL = "https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=30"
# Name your app: some library defaults, urllib's among them, are turned away.
request = urllib.request.Request(URL, headers={"User-Agent": "my-app/1.0"})
with urllib.request.urlopen(request, timeout=30) as response:
    data = json.load(response)

print(f"{data['index']}: {data['value']}/100, {data['label']} (as of {data['asOf']})")
for day in data["history"][:7]:
    print(day["date"], day["value"], day["label"])

JavaScript

ブラウザ、またはNode 18以降で動作します。クロスオリジンリクエストが許可されているため、どのウェブページからでも動作します。

JavaScript
const response = await fetch("https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=7");
const data = await response.json();

console.log(`${data.index}: ${data.value}/100, ${data.label}`);
for (const day of data.history) console.log(day.date, day.value, day.label);

Googleスプレッドシート

IMPORTDATAで、CSV形式のデータをそのままセルに読み込めます。CSVでは、3列目が値、6列目がラベルです。1行目がヘッダー、2行目が最新の数値です。次のいずれかをセルに貼り付けます。

本日の値
=INDEX(IMPORTDATA("https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=1&format=csv"), 2, 3)
本日のラベル
=INDEX(IMPORTDATA("https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=1&format=csv"), 2, 6)
直近30日分の表
=IMPORTDATA("https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=30&format=csv")
本日の全銘柄
=IMPORTDATA("https://cryptokeyhole.com/api/v1/fear-and-greed/coins?format=csv")

IMPORTJSONのような独自の関数を使うには、これを「拡張機能」→「Apps Script」に貼り付けて保存し、任意のセルに=FEARGREED("btc")と入力します。

Apps Script
/**
 * The Fear & Greed Index from CryptoKeyhole: =FEARGREED("btc"), or =FEARGREED() for the whole market.
 * Returns the value, its label and the time it is as of, in one row.
 * @customfunction
 */
function FEARGREED(coin) {
  const url = "https://cryptokeyhole.com/api/v1/fear-and-greed?limit=1&coin=" + encodeURIComponent(coin || "");
  const data = JSON.parse(UrlFetchApp.fetch(url).getContentText());
  return [[data.value, data.label, data.asOf]];
}

Discordボット

任意の銘柄または市場全体について、数値とゲージ画像で応答する/feargreedコマンド。ボットのトークンを設定し、applications.commandsスコープで招待します。

Python · discord.py
# A /feargreed slash command (discord.py 2 and aiohttp): pip install discord.py aiohttp
import aiohttp
import discord
from discord import app_commands

API = "https://cryptokeyhole.com/api/v1/fear-and-greed"
client = discord.Client(intents=discord.Intents.default())
tree = app_commands.CommandTree(client)

@tree.command(name="feargreed", description="Crypto Fear & Greed Index from CryptoKeyhole")
@app_commands.describe(coin="A coin such as btc or eth; leave it empty for the whole market")
async def feargreed(interaction: discord.Interaction, coin: str = ""):
    async with aiohttp.ClientSession(headers={"User-Agent": "my-discord-bot/1.0"}) as session:
        async with session.get(API, params={"coin": coin, "limit": "1"}) as response:
            data = await response.json()
    if "error" in data:
        await interaction.response.send_message(data["error"], ephemeral=True)
        return
    embed = discord.Embed(title=data["index"], url=data["links"]["page"],
                          description=f"**{data['value']}/100: {data['label']}**")
    # A new address for each reading, so Discord shows the current image rather than one it kept
    embed.set_image(url=f"{data['links']['image']}?t={data['timestamp']}")
    embed.set_footer(text="Fear & Greed Index by CryptoKeyhole · cryptokeyhole.com")
    await interaction.response.send_message(embed=embed)

@client.event
async def on_ready():
    await tree.sync()

client.run("YOUR_BOT_TOKEN")

ウェブサイト用ウィジェット

どのページにも設置できる、現在の数値を表示してリンクする1行のテキスト。画像で表示したい場合は、画像の埋め込みを使ってください。

HTML
<a id="ckh-fear-greed" href="https://cryptokeyhole.com/fear-and-greed-index/btc/" target="_blank" rel="noopener"
   style="display:inline-flex;gap:8px;align-items:baseline;font:15px/1.4 system-ui,sans-serif;color:inherit;text-decoration:none">
  Bitcoin Fear &amp; Greed Index: <strong>…</strong> <small style="opacity:.7">by CryptoKeyhole</small>
</a>
<script>
  fetch("https://cryptokeyhole.com/api/v1/fear-and-greed?coin=btc&limit=1")
    .then((response) => response.json())
    .then((data) => {
      document.querySelector("#ckh-fear-greed strong").textContent = data.value + "/100 · " + data.label;
    });
</script>

ライブ画像と埋め込み

すべての指数に、ゲージカードとコンパクトなバッジを、ライトとダークの両方で固定アドレスに用意しています。各画像は数値が変わるとすぐに再描画され、表示している数値の時刻も画像に記載されます。そのため、コードなしでも埋め込みが常に最新の状態に保たれます。

画像サイズアドレス
ゲージカード1200 × 630/fear-and-greed-index.png(市場全体)、/fear-and-greed-index/btc.png
バッジ600 × 315/fear-and-greed-index-badge.png, /fear-and-greed-index/btc-badge.png
ダークどちらでも-darkを付加:/fear-and-greed-index/btc-dark.png、/fear-and-greed-index/btc-badge-dark.png
CryptoKeyholeによるビットコインの恐怖強欲指数
HTML
<a href="https://cryptokeyhole.com/fear-and-greed-index/btc/"><img src="https://cryptokeyhole.com/fear-and-greed-index/btc.png" width="600" height="315" alt="Bitcoin Fear &amp; Greed Index by CryptoKeyhole" loading="lazy"></a>
Markdown
[![Bitcoin Fear & Greed Index by CryptoKeyhole](https://cryptokeyhole.com/fear-and-greed-index/btc.png)](https://cryptokeyhole.com/fear-and-greed-index/btc/)
BBCode(掲示板)
[url=https://cryptokeyhole.com/fear-and-greed-index/btc/][img]https://cryptokeyhole.com/fear-and-greed-index/btc.png[/img][/url]

HTMLコードでは画像を実寸の半分のサイズで表示するため、高解像度の画面でも鮮明に表示されます。上の例のように数値のページへリンクすると、読者がその数値の背景を確認できます。

指数が示すもの

CryptoKeyholeの恐怖強欲指数は、市場のムードを0(極度の恐怖)から100(極度の強欲)までの数値で表します。市場全体と各銘柄について、当サイトが収集する市場、デリバティブ、オンチェーンのデータと、Wikimediaの公開閲覧数データから独自に算出しています。

各銘柄の数値は、価格モメンタム、ボラティリティ、ファンディングレート、未決済建玉、テイカーフロー、ロング・ショート比率、保有者の含み益、取引所フロー、注目度の最大9つの構成要素を組み合わせたものです。各構成要素は、その銘柄自身の過去2年間と比べて順位付けされます。そのため、値動きの激しい銘柄でも、穏やかな日は穏やかと判定されます。市場全体の数値は、ビットコインの指数(45%)、イーサリアムの指数(20%)、その他の銘柄の平均(15%)、市場の広がり(10%)、ステーブルコインの流出入(10%)を加重平均したものです。SNS、検索トレンド、有料データは使っていません。

算出方法に、すべての構成要素、ウェイト、計算期間を記載しています。本日のスコアはAPIのcomponentsで確認できます。

銘柄

これらのコードは、小文字・大文字を問わずcoinに指定できます。各コードは、その銘柄の恐怖強欲指数ページにリンクしています。最新の一覧は、常に/api/v1/fear-and-greed/coinsで確認できます。

利用ルール

  • 個人利用・商用利用ともに無料です。アプリ、ボット、ダッシュボード、スプレッドシート、リサーチ、ウェブサイト、ニュースレターに使えます。
  • リンク付きのクレジット表記をいただけると幸いです:「CryptoKeyholeの恐怖強欲指数」と記載し、https://cryptokeyhole.com/fear-and-greed-index/または各銘柄のページへリンクしてください。
  • 数値は手を加えずにそのまま表示し、指数をご自身のものとして紹介しないでください。
  • APIキーは不要で、当サイト独自の制限もありません。レスポンスが変わるのは多くても1時間に1回です。ページが表示されるたびにリクエストするのではなく、数分間はコピーを保持して使ってください。
  • 安定稼働に努め、数値が遅れている場合はお知らせします(delayedフィールド)。ただし、現状のまま無保証で提供します。

これを使って何か作りましたか?ぜひXの@Crypto_Keyholeで教えてください。

よくある質問

恐怖強欲指数APIは無料?

はい。個人利用でも商用利用でも、APIキー、アカウント、支払いは一切不要です。お願いしたいのは、数値を表示する場所でcryptokeyhole.com/fear-and-greed-index/へのリンクを付け、CryptoKeyholeをクレジット表記していただくことだけです。

APIキーやアカウントは必要?

いいえ。アドレスにシンプルなGETリクエストを送るだけで、ほかには何も必要ありません。どの言語、スプレッドシート、ブラウザからでも呼び出せ、ウェブページからのクロスオリジンリクエストも許可されています。

更新頻度は?

1時間ごとです。本日の数値は途中経過値(ステータス「open」)で、1時間ごとのデータが届くたびに変わります。新しいデータは10分ごとに確認しています。00:00 UTCを過ぎると、その日の値が確定します(ステータス「closed」)。画像は、数値が変わるたびに再描画されます。

レート制限はある?

当サイト独自の制限は設けていません。レスポンスは誰に対しても同じ内容で、5分間キャッシュされます。そのため、それより頻繁にリクエストしても同じデータが返ります。1時間に1回で十分です。アプリ名を記載したUser-Agentヘッダーを送信してください。当サイトのネットワークのボット対策により、Pythonのurllibなど、一部のライブラリの既定のUser-Agentは拒否されます。

対象銘柄は?

仮想通貨市場全体と、恐怖強欲指数のページがあるすべての銘柄です。ビットコイン、イーサリアム、ソラナ、XRPのほか、このページに掲載しているアルトコインが対象です。/api/v1/fear-and-greed/coinsで、全銘柄を本日の値とともに一覧できます。

全期間の履歴は取得できる?

はい。limit=0を指定すると、指数がある全日分を新しい順に返します(ビットコインと市場全体は2011年10月まで遡れます)。format=csvを指定すると、同じ行をCSVで取得できます。

数値の意味は?

0〜24が極度の恐怖、25〜44が恐怖、45〜55が中立、56〜75が強欲、76〜100が極度の強欲です。各数値には、ゾーンがキー(band:extreme-fear、fear、neutral、greed、extreme-greed)と文字列(label)の両方で含まれています。

指数の計算方法は?

各銘柄の指数は、独自の市場、デリバティブ、オンチェーンデータによる最大9つの構成要素の加重平均です。各構成要素は、その銘柄自身の過去2年間と比べて順位付けされます。市場全体の指数は、ビットコインの指数、イーサリアムの指数、その他の銘柄の平均、市場の広がり、ステーブルコインの流出入を加重平均したものです。すべての要素とウェイトは算出方法に記載しています。

CryptoKeyholeのページやチャートと同じ数値?

はい。APIは、当サイトの恐怖強欲指数ページやStudioのチャートと同じデータストアを読み込んでいます。そのため、値、ゾーン、時刻は常にページの表示と一致します。

画像を自分のウェブサイトや掲示板、Discordで使える?

はい。すべての画像は固定アドレスにある通常のPNGで、自動的に再描画されます。そのため、このページの埋め込みコードは常に現在の数値を表示し、その基準時刻も画像に記載されます。

本日の値APIを開く無料アカウントを作成

この指数は、CryptoKeyholeが独自の市場、デリバティブ、オンチェーンデータと、Wikimediaの公開閲覧数データから算出しています。APIと画像は、当サイトのページやチャートと同じ内容を、それぞれの数値の時刻付きで提供します。