Developer

CFGI Developer API

The Edge Your App Cannot Get From Price Data Alone.

Every dashboard has candles. Every bot has price. The products that feel smarter have unique data. CFGI gives you live and historical Fear and Greed sentiment across 300 crypto tokens, 300 stocks, 4 timeframes and 10 transparent sub-signals, in one API.

See the API Response
  • 1,000 free credits
  • 1:1 team group
  • Plans from $29 / 4 weeks
  • REST API + webhooks
  • History since 2022

600

crypto + stock assets

190M+

sentiment data points

10

transparent sub-signals

4

15m / 1h / 4h / 1d timeframes

The developer pain

Your Users Do Not Need Another Chart. They Need a Signal They Cannot Get Everywhere Else.

Price is commoditised. OHLC data is everywhere. A clean chart is expected. If your app, bot, newsletter, screener or AI agent only reacts to price, it looks like every other tool in the stack.

The best edge a trading product can have is useful data other products do not explain.

What CFGI Adds

  • A market-emotion layer your users understand instantly
  • Sub-signals behind every score, not one mystery number
  • Historical sentiment for backtests, reports and model features
  • Webhooks so products can react when sentiment changes
  • Crypto and stock coverage in the same key

The avoided build

Do Not Spend Months Building the Sentiment Infrastructure.

To build this properly, you would need to collect, clean, score, store and serve a full signal layer across hundreds of assets and multiple timeframes.

Collect

Price, volatility, volume, impulse, technicals, social, dominance, trends, whale pressure and order-book pressure.

Score

Normalise every signal into usable 0 to 100 readings across crypto, stocks and each timeframe.

Store and Serve

Maintain live data, historical snapshots, webhooks, usage billing, docs, responses and errors.

CFGI gives you the finished layer. One key. One endpoint. Live and historical sentiment your product can ship with today.

One call

One Request Returns the Score, Price and Every Signal Behind It.

Use one endpoint for live widgets, dashboards, models, alerts, backtests and reports. Request one asset or many. Pull only the fields you need.

Request

GET
https://cfgi.io/api/v3/scores?api_key=YOUR_API_KEY&symbols=BTC,AAPL&timeframe=1d&fields=score,volatility,technical,orders&limit=1

Response

JSON
{
  "data": [
    {
      "symbol": "BTC",
      "name": "Bitcoin",
      "asset_class": "crypto",
      "image": "https://cfgi.io/iconos/BTC.png",
      "timestamp": "2026-07-08T16:00:00Z",
      "latest": true,
      "age_seconds": 900,
      "stale": false,
      "price": 30000,
      "market_cap": 594000000000,
      "score": 38,
      "classification": "Fear",
      "components": {
        "volatility": 41,
        "technical": 47,
        "orders": 49
      }
    },
    {
      "symbol": "AAPL",
      "name": "Apple Inc.",
      "asset_class": "stock",
      "image": "https://cfgi.io/stock-logo/AAPL.png",
      "timestamp": "2026-07-08T16:00:00Z",
      "latest": true,
      "age_seconds": 1800,
      "stale": false,
      "price": 214.5,
      "market_cap": 3210000000000,
      "score": 61,
      "classification": "Greed",
      "components": {
        "volatility": 55,
        "technical": 64,
        "orders": 58
      }
    }
  ],
  "meta": { "rows": 2, "symbols": 2, "timeframe": "1d" }
}

Use cases

Make the Product Feel Smarter the Moment Sentiment Changes.

CFGI is a data layer for any product that needs market context users can actually understand.

Trading Dashboards

Add fear, greed and sub-signal context beside price charts so users understand what the move means.

Bots and Alert Engines

Use sentiment as a live input, trigger or filter instead of reacting to price alone.

Screeners

Sort assets by fear, greed, whale pressure, social pressure, technical pressure or order-book pressure.

Portfolio Tools

Explain holdings with sentiment, not just balances, allocation and profit and loss.

Newsletters and Reports

Turn raw market emotion into daily, weekly or asset-specific market commentary.

AI Agents

Give agents structured market context with scores, history and sub-signals they can cite.

Historical data

Backtest Against Years of Sentiment, Not Just Price.

Price history tells you what happened. Sentiment history helps you study how the crowd behaved before, during and after stress and euphoria.

  • Every CFGI score and all 10 sub-signals back to 2022
  • 15m, 1h, 4h and daily snapshots
  • Pull date ranges with start and end
  • Full history on every paid tier

Why It Matters

If you are building a model, a dashboard or a signal product, historical sentiment lets you test the idea before you ship it to users.

Historical range

GET
symbols=BTC,ETH,AAPL
timeframe=1d
fields=score,technical,whales
start=2022-01-01
end=2026-06-01

Live data, 24/7

React the Moment the Market Mood Moves.

Poll the REST API on your own schedule, or skip polling and let CFGI push score updates to your endpoint by webhook.

  • Every new reading as it is scored
  • REST polling or signed webhooks
  • Build bots, dashboards and alerts that react in real time

Webhook event

POST
POST https://your-app.com/hooks/cfgi
{
  "event": "score.updated",
  "token": "BTC",
  "timeframe": "4h",
  "cfgi": 38,
  "classification": "Fear",
  "date": "2026-06-19 16:00:00"
}

Pricing

Start Free. Subscribe When You Ship.

Every account starts with 1,000 free credits. Use them to test real calls, then subscribe for the best production rate or buy one-off packs for backfills and spikes. Any credit, free or paid, comes with a private 1:1 group with our team.

Starter

$29/ 4 weeks

100k credits · about $0.29 per 1k

Best for one dashboard, one bot or a serious prototype.

Most popular

Growth

$199/ 4 weeks

1M credits · about $0.20 per 1k

Best for production apps, heavier polling and multiple assets.

Scale

$999/ 4 weeks

10M credits · about $0.10 per 1k

Best for full coverage, backfills, webhooks and multi-product use.

Every Paid Subscription Includes

  • Full history since 2022 and every supported asset on every tier
  • Crypto and stocks in one key
  • A private 1:1 group with the CFGI team
  • Commercial use for apps, dashboards and internal products
  • REST API, request builder, public docs and webhooks

Need more than 10M? Volume and enterprise plans include custom quotas, custom terms and raw data redistribution discussions. Tell us what you are building.

Talk to Us

Top-ups

Need a Burst? Buy Credits Without Changing Plan.

Use one-off packs for backfills, launch spikes and experiments. Subscribe for the best rate when it is running in production.

PackCreditsBest forBuy
Free1,000Testing
Starter100kSmall backfill
Growth1MProject spike
Scale10MLarge backfill
Enterprise100M+Custom termsTalk to Us

Credits

Usage Is Simple and Visible.

One credit = 1 field × 1 token × 1 value. You only pay for the exact data requested, and every response shows usage and remaining credits.

RequestCreditsCost at Starter rate
1 token × 4 fields × 1 value4 credits$0.00116
5 tokens × 4 fields × 1 value20 credits$0.0058
2 tokens × 3 fields × 100 values600 credits$0.174

Documentation

Public Docs, So Developers Can Test Before They Talk to Anyone.

Everything important is public. Build a request, read the reference, and see the exact assets, fields and webhooks the API returns.

Request Builder

Request builder

Build Your Request

Pick your token, timeframe and signals. We write the URL. Paste in your key and go.

Timeframe

Signals (2 selected)

Your request URL

https://cfgi.io/api/v3/scores?api_key=YOUR_API_KEY&symbols=BTC&timeframe=1d&fields=score,price&limit=1

Replace YOUR_API_KEY with your key. Estimated cost: 2 credits (2 fields × 1 row).

Authentication

Every request is authenticated with your API key, passed as the api_key parameter or an Authorization: Bearer header. Generate one from your account and claim 1,000 free credits.

Making a Request

The endpoint accepts GET and returns JSON from https://cfgi.io/api/v3/scores. Discover everything we score at https://cfgi.io/api/v3/assets (free, no key).

ParameterExampleMeaning
api_keyYOUR_API_KEYAuthenticates the request. Also accepted as an Authorization: Bearer header.
symbolsBTC,AAPL,MARKETCrypto or stock symbols, comma-separated. MARKET and STOCK_MARKET are the whole-market indexes.
timeframe1dOne of 15m, 1h, 4h, 1d. Default 1d.
fieldsscore,whalesWhich signals to return, and the credit cost. Default: all.
start / end2026-01-01 / 2026-06-01A historical window (ISO 8601 or epoch seconds, UTC).
limit100Latest N rows (default 1, the live reading). Inside a date range it caps the window; default there is the full window. Max 1200 rows total per request, split across symbols.
include_inactive1Set to 1 to also reach delisted or inactive assets. Off by default, so /scores and /assets agree on the live roster.

The newest row in each result carries latest: true plus age_seconds (seconds since that reading) and stale (true when a reading is older than its timeframe expects, for example across a market close), so you can tell a live value from a lagging one.

Supported Assets

Use symbols=MARKET for the whole crypto market index, symbols=STOCK_MARKET for the stock market index, or any symbol below: one or several, crypto or stock. If a ticker exists in both classes, crypto wins the bare form; force a class with a prefix: STOCK:CVX or CRYPTO:CVX.

300 crypto + 300 stocks

Crypto

MARKET0G1INCH2ZAAVEADAADIAEROAEVOAGLDAIAIXAIXBTALGOALICEALLOALTAMPANSEMAPEAPEPEAPTAPUARARBARKMASTERATATMATOMAUDIOAURAAVAXAWEAXSBBABYDOGEBANANABANANAS31BANKBASEDBATBCHBDXBEATBERABIOBITCOINBLUAIBLURBNBBOBOBOMEBONKBPBTCBTTBTWCAKECASHCATCATICCCELOCFXCHEEMSCHZCOMPCORNCROCRVCVXDASHDATADCRDEXEDOGDOGEDOGSDOTDYDXEDENEDUEGLDEIGENENAENJENSOEOSETCETHETHFIEULFARTCOINFETFFFILFLOKIFLOWFLRFOLKSFORMFTFWOGGALAGENIUSGIGAGMTGNOGOMININGGPSGRASSGRTGWEIHHBARHMSTRHNTHOLOHOMEHTXHUMAHYPEHYPERICPIDIMXINJIOIOTAIOTXJASMYJOEJSTJTOJUPKAIAKAITOKASKATKAVAKITEKMNOLABLAYERLDOLINEALINKLITLTCLUNALUNCMMAGMAMANAMANTAMANTRAMBGMBLMEMEGAMELANIAMEWMINAMIRAMMTMNTMOGMONMOODENGMORPHOMOVRMUBARAKMXNEARNEIRONEONEXNEXONFTNIGHTNMRNOTNPCNXTOGONDOONGOPENOPGORDIOZOPENDLEPENGUPEPEPIPIEVERSEPLUMEPNUTPOLPOPCATPROMPUMPQFIQNTRAILRAINRAYREREALREDREZRIFROBOROSERSRRUNERVNSSAHARASANDSCRTSEDASEISENTSFPSHIBSKLSKYSKYAISLXSNEKSNXSOLSOMISPELLSPKSPXSTGSTRKSTXSUISUNSXTSYNSYRUPTACTAOTELTETTHETATIATLMTONTOSHITRACTRBTRIATRUMPTRXTSTTURBOTWTUBUFDULTIMAUNIUSATUSELESSUSUALVANAVANRYVELVETVETVINEVIRTUALVSNVVVWWBTWEMIXWIFWLDWLFIWOJAKWOLFXDCXLMXMRXPLXRPXTZYFIZAMAZANOZBCNZBTZECZENZIGZKZRO

Stocks

SPCXAAPLMSFTNVDAAMZNGOOGLMETAAVGOTSLABRK-BJPMLLYVXOMUNHMACOSTHDPGJNJWMTNFLXABBVBACCRMORCLKOCVXWFCAMDPEPCSCOADBELINACNMCDTMOABTGEPMIBMTXNISRGQCOMDISCATGSINTUVZAMGNMRKNOWPLTRUBERPANWCRWDFTNTADSKWDAYSNOWDDOGNETMSTRSHOPABNBDASHRBLXAPPRDDTSNPSCDNSARMMUADILRCXKLACAMATMRVLNXPIMCHPONANETAPHTELGLWDELLGFSHPEWDCTTMUSCMCSAWBDSPOTEATTWOMSCSCHWUSBPNCTFCCOFBKAXPBLKSPGIMCOICECMEMSCIBXKKRAPOMMCAONAJGPGRCBTRVALLMETPRUAIGAFLFIDFSPFEBMYGILDVRTXREGNMRNACVSCIELVHUMMCKCORHCADHRSYKBSXMDTBDXEWIDXXIQVARMDLOWTJXTGTROSTAZOORLYSBUXCMGBKNGMARHLTYUMRCLCCLFGMCVNAMOMDLZCLKMBSYYKRMNSTKDPHSYADMKVUEBARTXLMTGDNOCGEVHONDEMMMUPSUNPCSXNSCETNEMRITWPHCMIPCARFDXWMURITDGAXONCARRCOPSLBEOGMPCPSXVLOWMBOKEKMIOXYFANGLNGAPDSHWECLFCXNEMNUEVMCMLMCTVANEESODUKCEGAEPDEXCSREVSTXELPEGPCGPLDAMTEQIXWELLSPGOPSACCIDLRHOODCOINRKLBTSMASMLINTCHSBCNVSRYAZNSNDKBABAMUFGSHELNVOTMBHPSANTDSTXSAPTTEUBSIBKRBUDSCCORIOBBVAHDBBTIULMFGVRTBMOSONYPDDENBPBRHWMCMBNSGSKSNYIBNTTBPPWRSMFGADPBNASXINGBCSMELIITUB
Fields

Choose what comes back with fields=. The 10 signals arrive inside components (here price means the price sub-signal); score and its classification are included in every row, along with the real asset price and market_capwhere available, all free. Only the STOCK_MARKET index (the S&P 500) is score and price only; the crypto MARKET index returns its full components like any asset. Each requested field costs one credit per row.

score

The composite Fear and Greed score with its classification.

price

The price sub-signal (the real asset price is always included for free).

volatility

Price instability and fluctuation pressure.

volume

Trading participation behind the move.

impulse

Force of the latest market shift.

technical

Weighted trend and oscillator signals.

social

Crowd attention and social sentiment.

dominance

Risk concentration versus the wider market.

trends

Search-interest and intent signals.

whales

Large-holder exchange flow pressure.

orders

Order-book buying and selling pressure.

Webhooks

Skip polling and have CFGI push each new reading to your endpoint. Add a webhook URL, token, timeframe and fields. We send a signing secret, POST the payload and retry failed deliveries.

Verify signature

Node
import crypto from 'node:crypto'
const signature = req.headers['x-cfgi-signature']
const expected = 'sha256=' + crypto
  .createHmac('sha256', YOUR_SECRET)
  .update(rawBody)
  .digest('hex')
if (signature !== expected) return res.status(401).end()
Migrating From v2

The v2 endpoint (/api/api_request_v2.php) is deprecated and sunsets on Mon 10 Aug 2026. It keeps working unchanged until then, and every v2 response now carries Deprecation and Sunset headers. v3 serves the same signals on the same [1,99] scale under cleaner names, adds stocks, and costs exactly the same credits. Readings from 8 Jul 2026 onward come from the upgraded scoring engine.

v2 (deprecated)v3
GET /api/api_request_v2.phpGET /api/v3/scores
api_key=KEY (query only)api_key=KEY or Authorization: Bearer KEY
token=BTC,ETHsymbols=BTC,ETH (stocks now return data too)
period=4 (1=15m … 4=1d)timeframe=1d (15m, 1h, 4h, 1d)
fields=cfgi,price,whalesfields=score,price,whales (same 11 signals, cfgi is now score)
values=Nlimit=N
Flat rows: token, nombre, date, cfgi, data_*Nested: symbol, name, timestamp (ISO UTC), score, classification, components{}, market_cap where available
ultimo: true on the live rowlatest: true
Credits: fields × rowsUnchanged. Same [1,99] scale, same credit math, same X-* billing headers. Values from 8 Jul 2026 onward come from the upgraded scoring engine.

v2 request and response

Before
GET /api/api_request_v2.php
  ?api_key=KEY&token=BTC&period=4&fields=cfgi,whales&values=1

[
  {
    "token": "BTC",
    "nombre": "Bitcoin",
    "date": "2026-07-08 16:00:00",
    "price": 30000,
    "ultimo": true,
    "cfgi": 38,
    "data_whales": 49
  }
]

v3 request and response

After
GET /api/v3/scores
  ?api_key=KEY&symbols=BTC&timeframe=1d&fields=score,whales&limit=1

{
  "data": [{
    "symbol": "BTC",
    "name": "Bitcoin",
    "asset_class": "crypto",
    "timestamp": "2026-07-08T16:00:00Z",
    "latest": true,
    "age_seconds": 900,
    "stale": false,
    "price": 30000,
    "market_cap": 594000000000,
    "score": 38,
    "classification": "Fear",
    "components": { "whales": 49 }
  }],
  "meta": { "rows": 1, "symbols": 1, "timeframe": "1d" }
}

New in v3

  • Stocks and the STOCK_MARKET index sit next to crypto and MARKET on the same key.
  • Bearer auth: send the key as an Authorization header, not only the api_key query.
  • Freshness on the live row: age_seconds and a stale flag mark a lagging reading.
  • ISO 8601 UTC timestamps replace the v2 Madrid-local date strings.
  • include_inactive=1 reaches delisted assets, and a free, keyless /api/v3/assets lists the whole roster.

Unchanged: the [1,99] scale, the fields × rows credit math, full history since 2022, and the X-* billing headers. Migrating is a rename, not a re-integration: keep your key, swap the endpoint and parameter names, and read score where you read cfgi.

Errors moved to a single envelope: { "error": { "code", "message" } } with the same status codes (400, 401, 402, 429). Billing headers (X-Credits-Used, X-Credits-Remaining) are identical across both versions.

Developer Questions

How do I start, and is it really free?

Generate an API key and claim 1,000 free credits. Use them to test real calls before paying.

Subscription or credit packs: which should I pick?

Use subscriptions for production because they give the best rate. Use credit packs for one-off backfills, experiments and project spikes.

Can I use CFGI commercially?

Paid developer plans are intended for commercial apps, dashboards, bots and internal tools. Raw data resale or redistribution needs enterprise terms.

Can I use CFGI data in a trading bot?

Yes, as a data input. CFGI provides sentiment data, not financial advice, trade execution or guaranteed buy or sell signals.

What happens if I run out of credits?

Calls return an insufficient-credits response and webhooks pause until you top up or upgrade.

Start

Give Your Product a Data Edge Today.

Generate an API key, claim 1,000 credits and see what CFGI returns before paying. Subscribe or top up only when you need more.

View Pricing

CFGI provides sentiment data and market context. It does not provide financial advice, trade execution or investment recommendations.