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.
- 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
https://cfgi.io/api/v3/scores?api_key=YOUR_API_KEY&symbols=BTC,AAPL&timeframe=1d&fields=score,volatility,technical,orders&limit=1Response
{
"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
symbols=BTC,ETH,AAPL
timeframe=1d
fields=score,technical,whales
start=2022-01-01
end=2026-06-01Live 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 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.
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 UsTop-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.
| Pack | Credits | Best for | Buy |
|---|---|---|---|
| Free | 1,000 | Testing | |
| Starter | 100k | Small backfill | |
| Growth | 1M | Project spike | |
| Scale | 10M | Large backfill | |
| Enterprise | 100M+ | Custom terms | Talk 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.
| Request | Credits | Cost at Starter rate |
|---|---|---|
| 1 token × 4 fields × 1 value | 4 credits | $0.00116 |
| 5 tokens × 4 fields × 1 value | 20 credits | $0.0058 |
| 2 tokens × 3 fields × 100 values | 600 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=1Replace 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).
| Parameter | Example | Meaning |
|---|---|---|
| api_key | YOUR_API_KEY | Authenticates the request. Also accepted as an Authorization: Bearer header. |
| symbols | BTC,AAPL,MARKET | Crypto or stock symbols, comma-separated. MARKET and STOCK_MARKET are the whole-market indexes. |
| timeframe | 1d | One of 15m, 1h, 4h, 1d. Default 1d. |
| fields | score,whales | Which signals to return, and the credit cost. Default: all. |
| start / end | 2026-01-01 / 2026-06-01 | A historical window (ISO 8601 or epoch seconds, UTC). |
| limit | 100 | Latest 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_inactive | 1 | Set 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
MARKET0G1INCH2ZAAVEADAADIAEROAEVOAGLDAIAIXAIXBTALGOALICEALLOALTAMPANSEMAPEAPEPEAPTAPUARARBARKMASTERATATMATOMAUDIOAURAAVAXAWEAXSBBABYDOGEBANANABANANAS31BANKBASEDBATBCHBDXBEATBERABIOBITCOINBLUAIBLURBNBBOBOBOMEBONKBPBTCBTTBTWCAKECASHCATCATICCCELOCFXCHEEMSCHZCOMPCORNCROCRVCVXDASHDATADCRDEXEDOGDOGEDOGSDOTDYDXEDENEDUEGLDEIGENENAENJENSOEOSETCETHETHFIEULFARTCOINFETFFFILFLOKIFLOWFLRFOLKSFORMFTFWOGGALAGENIUSGIGAGMTGNOGOMININGGPSGRASSGRTGWEIHHBARHMSTRHNTHOLOHOMEHTXHUMAHYPEHYPERICPIDIMXINJIOIOTAIOTXJASMYJOEJSTJTOJUPKAIAKAITOKASKATKAVAKITEKMNOLABLAYERLDOLINEALINKLITLTCLUNALUNCMMAGMAMANAMANTAMANTRAMBGMBLMEMEGAMELANIAMEWMINAMIRAMMTMNTMOGMONMOODENGMORPHOMOVRMUBARAKMXNEARNEIRONEONEXNEXONFTNIGHTNMRNOTNPCNXTOGONDOONGOPENOPGORDIOZOPENDLEPENGUPEPEPIPIEVERSEPLUMEPNUTPOLPOPCATPROMPUMPQFIQNTRAILRAINRAYREREALREDREZRIFROBOROSERSRRUNERVNSSAHARASANDSCRTSEDASEISENTSFPSHIBSKLSKYSKYAISLXSNEKSNXSOLSOMISPELLSPKSPXSTGSTRKSTXSUISUNSXTSYNSYRUPTACTAOTELTETTHETATIATLMTONTOSHITRACTRBTRIATRUMPTRXTSTTURBOTWTUBUFDULTIMAUNIUSATUSELESSUSUALVANAVANRYVELVETVETVINEVIRTUALVSNVVVWWBTWEMIXWIFWLDWLFIWOJAKWOLFXDCXLMXMRXPLXRPXTZYFIZAMAZANOZBCNZBTZECZENZIGZKZROStocks
SPCXAAPLMSFTNVDAAMZNGOOGLMETAAVGOTSLABRK-BJPMLLYVXOMUNHMACOSTHDPGJNJWMTNFLXABBVBACCRMORCLKOCVXWFCAMDPEPCSCOADBELINACNMCDTMOABTGEPMIBMTXNISRGQCOMDISCATGSINTUVZAMGNMRKNOWPLTRUBERPANWCRWDFTNTADSKWDAYSNOWDDOGNETMSTRSHOPABNBDASHRBLXAPPRDDTSNPSCDNSARMMUADILRCXKLACAMATMRVLNXPIMCHPONANETAPHTELGLWDELLGFSHPEWDCTTMUSCMCSAWBDSPOTEATTWOMSCSCHWUSBPNCTFCCOFBKAXPBLKSPGIMCOICECMEMSCIBXKKRAPOMMCAONAJGPGRCBTRVALLMETPRUAIGAFLFIDFSPFEBMYGILDVRTXREGNMRNACVSCIELVHUMMCKCORHCADHRSYKBSXMDTBDXEWIDXXIQVARMDLOWTJXTGTROSTAZOORLYSBUXCMGBKNGMARHLTYUMRCLCCLFGMCVNAMOMDLZCLKMBSYYKRMNSTKDPHSYADMKVUEBARTXLMTGDNOCGEVHONDEMMMUPSUNPCSXNSCETNEMRITWPHCMIPCARFDXWMURITDGAXONCARRCOPSLBEOGMPCPSXVLOWMBOKEKMIOXYFANGLNGAPDSHWECLFCXNEMNUEVMCMLMCTVANEESODUKCEGAEPDEXCSREVSTXELPEGPCGPLDAMTEQIXWELLSPGOPSACCIDLRHOODCOINRKLBTSMASMLINTCHSBCNVSRYAZNSNDKBABAMUFGSHELNVOTMBHPSANTDSTXSAPTTEUBSIBKRBUDSCCORIOBBVAHDBBTIULMFGVRTBMOSONYPDDENBPBRHWMCMBNSGSKSNYIBNTTBPPWRSMFGADPBNASXINGBCSMELIITUBFields
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.
scoreThe composite Fear and Greed score with its classification.
priceThe price sub-signal (the real asset price is always included for free).
volatilityPrice instability and fluctuation pressure.
volumeTrading participation behind the move.
impulseForce of the latest market shift.
technicalWeighted trend and oscillator signals.
socialCrowd attention and social sentiment.
dominanceRisk concentration versus the wider market.
trendsSearch-interest and intent signals.
whalesLarge-holder exchange flow pressure.
ordersOrder-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
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.php | GET /api/v3/scores |
| api_key=KEY (query only) | api_key=KEY or Authorization: Bearer KEY |
| token=BTC,ETH | symbols=BTC,ETH (stocks now return data too) |
| period=4 (1=15m … 4=1d) | timeframe=1d (15m, 1h, 4h, 1d) |
| fields=cfgi,price,whales | fields=score,price,whales (same 11 signals, cfgi is now score) |
| values=N | limit=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 row | latest: true |
| Credits: fields × rows | Unchanged. 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
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
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.
CFGI provides sentiment data and market context. It does not provide financial advice, trade execution or investment recommendations.