Candles and news vs the three-join
Lead product URLs: https://cryptodataapi.com/calendar, https://cryptodataapi.com/etf-flows, https://cryptodataapi.com/market-regimes.
I am Sam Deering. I built CryptoDataAPI so agents can join dated catalysts, institutional flows, and short-horizon regime before they size risk. Agents read. They do not trade. We are not a broker.
Candles and headlines say CPI printed. That is one surface. A trading agent still needs three more reads before FOMC:
- The dated catalyst calendar — what already printed, what is next, and the event-risk band.
- Spot Bitcoin and Ether ETF net flows — whether institutions are creating or redeeming shares into the meeting.
- The short-horizon HMM regime — whether size should lean trend, mean-reversion, or cut risk.
The API joins those three surfaces on one key. The agent sizes on tape, not on the headline alone.
How to read the calendar (CPI done, FOMC in 2 days)
Open https://cryptodataapi.com/calendar. Pull the forward board first.
Each row is a dated catalyst with a bias and a 0–1 magnitude. Macro prints carry a risk_flag bias on purpose — the direction of a surprise is unknown ahead of time, but the print still raises event risk.
Fetched from the live API on 14 Sep 2026 (UTC): CPI has already printed. The Aug 2026 print (BLS, reported 11 Sep 2026) came in hot — headline +0.4% MoM / 3.4% YoY; core +0.3% MoM / 2.4% YoY. The calendar's next scheduled CPI release is now 2026-10-14, a month out. The near-term catalyst is FOMC release on 2026-09-16 — risk_flag bias, magnitude 0.967, 2 days away, source fed_calendar. Market-wide Event Risk on this fetch: elevated, 54.0/100 (consistent across both the 7-day and 30-day windows).
So the live read three days after the print is not "CPI is today" — it is "CPI already printed hot, and the next macro cliff, FOMC, is now imminent." Don't hard-code either date into a script; pull the board at call time.
REST for agents (any valid key on the public calendar itself; free tier included):
GET /api/v1/event/calendar?window_days=30
GET /api/v1/event/regime?window_days=7There is no curated MCP tool named get_calendar. Use REST, or the MCP escape hatch query_api against those GET paths. Leave 401/402/403 bodies as-is if a key is missing or metered.
How to read the ETF flow streak
Open https://cryptodataapi.com/etf-flows. Read persistence, not one bar.
Green days are net creations (issuers buying spot). Red days are net redemptions (issuers selling spot). A single day is noisy. A run of red or green into a macro meeting is the signal.
Live board fetched 14 Sep 2026:
| Read | BTC ETFs | ETH ETFs |
|---|---|---|
| Latest reported net flow | −$13.2M | +$216.4M |
| Cumulative | +$102.8M over 56 reported figures | +$618.9M over 41 reported figures |
Both figures carry the label "reported 2026-09-14" — that's when the page shows them settling, not necessarily the trading day itself; the most recent BTC daily bars on the chart are dated through 2026-09-12, consistent with a short reporting lag. Read the bar dates, not just the "reported" stamp, when you need the actual trading day.
The last five BTC daily bars on this fetch: 2026-09-05 +$174.6M, 2026-09-09 +$4.5M, 2026-09-10 −$32.4M, 2026-09-11 +$3.8M, 2026-09-12 −$13.2M. That is not a clean streak — it alternates sign day to day. Prefer the live board over any brief that claims a multi-day run; if the board disagrees with a cached number, the board wins.
MCP tool: get_etf_flows. REST:
GET /api/v1/market-intelligence/etf/{asset}/flowsSwap btc for eth or sol when you need the sibling series (xrp is not supported — no free source publishes it). Note the REST call itself returns only the latest reported day, not a history array; the multi-day cumulative and streak reads above come from the same data as rendered on the human board. A bare call without a key may return 401 or an x402 payment_required body — leave those codes as-is.
How to read regime so size matches trend vs range
Open https://cryptodataapi.com/market-regimes.
The short-horizon engine is a Hidden Markov Model over six states. It is a nowcast, not a direction forecast. Use it to pick which playbook is allowed:
- Strong Trend (Bull/Bear) → trend systems on, mean-reversion off.
- Range / Low Volatility → mean-reversion on, trend off.
- Choppy High Volatility / Volatility Spike → cut size or stand down.
- Squeeze → breakout algos primed, size carefully.
Live whole-market read fetched 14 Sep 2026:
| Field | Value |
|---|---|
regime.label | squeeze |
| Model confidence | 97.5% |
| In regime since | 2026-09-12T22:00Z (~28 hourly candles) |
| Chance of a >5% drop (24h, 1,000 sims) | 3.7% |
| Chance of visiting a vol spike (24h) | 0.9% |
Into FOMC, that read says: this is a Squeeze regime, not the Range / Low Volatility read an older brief might quote — breakout systems are the ones primed here, not mean-reversion. Confirm the label again after the meeting; regimes refresh about every 15 minutes.
The same call's probabilities.open_interest head on this fetch was near-flat: contracting 33.3%, neutral 35.7%, expanding 31.0%, head confidence 0.0015 — too uniform to read as a lean. Worth flagging: the market-scope breadth head uses the exact same three bucket names (contracting/neutral/expanding) for a different signal, and on this fetch happened to print the identical numbers. Read probabilities.open_interest and probabilities.breadth as two separate paths in the JSON even when they agree.
MCP tool: get_market_regime (Pro). REST:
GET /api/v1/quant/market?horizon=24hA free-tier 403 here is expected. Confirm the account email for 24h Pro on the same key, or upgrade. Do not invent JSON keys. Do not retry a 403 as if it were a transient error.
One concrete live example (dated)
Fetched 14 Sep 2026 (UTC), via the live API:
- Calendar — CPI already printed (Aug data, reported 11 Sep). Next macro cliff is FOMC on 2026-09-16, 2 days out, magnitude 0.967. Event Risk elevated, 54.0/100.
- ETF flows — latest BTC print −$13.2M, cumulative +$102.8M over the last 56 reported figures; the last five daily bars alternate sign, not a clean streak. ETH is stronger: +$216.4M latest, +$618.9M cumulative over 41 figures.
- Regime — whole market is
squeezeat 97.5% confidence, ~28 hours in regime. The open-interest probability head is near-uniform (33/36/31%, confidence 0.0015) — uninformative on its own.
Agent workflow on that tape: calendar says the next macro cliff is 2 days out with elevated event risk → ETF board shows a mixed, non-trending flow picture on BTC but persistent ETH strength → regime says this is a Squeeze, so breakout systems are the ones that should be primed into the meeting, not a forced mean-reversion trade. Confirm email on the free key if get_market_regime returns 403.
What this is not
This is not a candles-first tutorial. This is not a Discord blast. This is not a competitor war page.
This is not a rewrite of the Hyperliquid fill-tape post, the MCP-vs-candle-AI wedge, or the contracting open-interest-bucket post. Those are separate pieces. You may see get_market_regime mentioned here as join #3 — do not re-litigate GEX, fill tape, or the open-interest bucket's own JSON path here.
We are not a broker. Agents read. Humans decide.
For agents: MCP / REST truth and tool order
| Surface | MCP tool | REST |
|---|---|---|
| Event calendar | none named get_calendar — use query_api or raw REST | GET /api/v1/event/calendar, GET /api/v1/event/regime |
| Spot ETF flows | get_etf_flows | GET /api/v1/market-intelligence/etf/{asset}/flows |
| Short-horizon HMM regime | get_market_regime (Pro) | GET /api/v1/quant/market |
Suggested tool order into FOMC:
list_capabilities(no key) — see what your tier unlocks.create_free_api_keyif you have no key — real email; confirm it for 24h Pro on the same key.- Calendar via REST or
query_api— what already printed, what is dated next, the event-risk band. get_etf_flows— latest reported day and the cumulative/streak read from the live board.get_market_regime— size for the labelled state. Leave 401/402/403 as-is.
Do not invent get_calendar. Do not invent JSON keys. Do not open with an OHLCV poll to discover this API.
MCP remote endpoint: https://cryptodataapi.com/mcp. Human docs: https://cryptodataapi.com/ai-agents/mcp-server. Agent hub: https://cryptodataapi.com/ai-agents. Python's built-in urllib needs a named User-Agent or the CDN returns HTML 403 (Cloudflare error 1010) before the API sees the call.
Docs and boards
- Calendar product: https://cryptodataapi.com/calendar
- ETF flows product: https://cryptodataapi.com/etf-flows
- Market regimes product: https://cryptodataapi.com/market-regimes
- API docs: https://cryptodataapi.com/api/docs
- Machine map: https://cryptodataapi.com/llms.txt
- Pricing: https://cryptodataapi.com/pricing



