Recap API
Daily market recaps with hourly breakdown, narrative summaries, and market mood analysis.
https://cryptochase.ai/api/v1Authentication
All API requests require authentication. Include your API token in the request headers:
curl -H "X-Api-Token: YOUR_API_TOKEN" \
https://cryptochase.ai/api/v1/recapsSecurity: Keep your API token secure. Never expose it in client-side code.
Market Recaps
Note: Recap data may be updated at any time. As news can arrive with delays and we continuously analyze more sources and their history, all fields including the narrative article, themes, hourly events, and market stats may change throughout the day.
/recapsRetrieve paginated list of daily market recaps. Data available for the last 30 days.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| from | date | Start date (YYYY-MM-DD). Max 30 days ago. |
| to | date | End date (YYYY-MM-DD) |
| per_page | integer | Results per page (default: 30, max: 30) |
Example
curl -H "X-Api-Token: YOUR_TOKEN" \
"https://cryptochase.ai/api/v1/recaps?from=2026-01-01&per_page=7"/recaps/{date}Get a single recap by date with full details including hourly breakdown. Only recaps from the last 30 days are accessible.
Example
curl -H "X-Api-Token: YOUR_TOKEN" \
"https://cryptochase.ai/api/v1/recaps/2026-01-12"/recaps/latestGet the most recent market recap with full details.
Example
curl -H "X-Api-Token: YOUR_TOKEN" \
"https://cryptochase.ai/api/v1/recaps/latest"Response Fields
Recap Object
| Field | Type | Description |
|---|---|---|
| id | integer | Unique recap ID |
| date | date | Recap date (YYYY-MM-DD) |
| title | string | Headline for the day |
| narrative | string | Full narrative summary (markdown) |
| short_summary | string | Brief summary (1-2 sentences) |
| market_mood | object | Market mood metrics (see below) |
| market_stats | object | End-of-day market statistics |
| key_movers | object | Top gainers, losers, and BTC stats |
| themes | array | Main themes/topics of the day |
| hourly_breakdown | array | Hourly market data and events (see below) |
Market Mood Object
| Field | Type | Description |
|---|---|---|
| score | integer | Normalized mood score (0-100) |
| raw_score | integer | Original score (-10 to +10) |
| label | string | extreme_fearfearneutralgreedextreme_greed |
| bullish_percent | decimal | Percentage of bullish signals |
| bearish_percent | decimal | Percentage of bearish signals |
Market Stats Object
| Field | Type | Description |
|---|---|---|
| total_market_cap | decimal | Total crypto market cap (USD) |
| volume_24h | decimal | 24-hour trading volume (USD) |
| btc_dominance | decimal | Bitcoin market dominance (%) |
Hourly Breakdown
The hourly_breakdown array contains market data and key events for each hour of the day.
Hourly Entry Object
| Field | Type | Description |
|---|---|---|
| hour | integer | Hour of the day (0-23, UTC) |
| hour_label | string | Formatted hour label (e.g., "14:00") |
| market_stats | object|null | Hourly market data (see below) |
| events | array | News events during this hour |
| events_count | integer | Number of events in this hour |
| has_important_event | boolean | True if hour has high-importance event (🔥) |
Hourly Market Stats
| Field | Type | Description |
|---|---|---|
| timestamp | ISO 8601 | Exact timestamp of the snapshot |
| total_market_cap | decimal | Market cap at this hour (USD) |
| volume_24h | decimal | 24h rolling volume at this hour (USD) |
| btc_dominance | decimal | BTC dominance at this hour (%) |
| btc_price | decimal | Bitcoin price at this hour (USD) |
Event Object
| Field | Type | Description |
|---|---|---|
| id | integer | Event/opinion ID |
| title | string | Event headline |
| summary | string | Brief event description |
| published_at | ISO 8601 | Event publication time |
| importance | integer | Importance level (1-5, 🔥 = 3+) |
| tone_score | integer|null | Sentiment score (-100 to +100). Negative = bearish, positive = bullish |
| crypto | object|null | Related cryptocurrency (id, symbol, name) |
| signal | object|null | Signal type (id, name, slug) - e.g., "Bullish", "Bearish", "News" |
Response Example
{
"success": true,
"data": {
"id": 456,
"date": "2026-01-12",
"title": "Bullish Market Recap - Jan 12, 2026",
"narrative": "The crypto market saw renewed optimism today...",
"short_summary": "Strong bullish momentum driven by institutional buying.",
"market_mood": {
"score": 72,
"raw_score": 4,
"label": "greed",
"bullish_percent": 68.5,
"bearish_percent": 31.5,
"confidence": 0.85
},
"market_stats": {
"total_market_cap": 3450000000000,
"volume_24h": 125000000000,
"btc_dominance": 54.2
},
"key_movers": {
"btc": {"price_change_pct": 2.5, "cap_change_usd": 35000000000},
"major_gainers": [{"symbol": "SOL", "price_change_pct": 8.2}],
"major_losers": [{"symbol": "DOGE", "price_change_pct": -3.1}]
},
"themes": ["ETF", "Institutional", "DeFi"],
"hourly_breakdown": [
{
"hour": 9,
"hour_label": "09:00",
"market_stats": {
"timestamp": "2026-01-12T09:00:00Z",
"total_market_cap": 3420000000000,
"volume_24h": 118000000000,
"btc_dominance": 54.1,
"btc_price": 98500
},
"events": [
{
"id": 12345,
"title": "BlackRock ETF sees record inflows",
"summary": "IBIT recorded $500M in net inflows...",
"published_at": "2026-01-12T09:15:00Z",
"importance": 4,
"tone_score": 75,
"crypto": {"id": 1, "symbol": "BTC", "name": "Bitcoin"},
"signal": {"id": 1, "name": "Bullish", "slug": "bullish"}
}
],
"events_count": 1,
"has_important_event": true
}
],
"created_at": "2026-01-12T23:59:59Z",
"updated_at": "2026-01-13T08:30:00Z"
}
}Error Codes
| Status | Code | Description |
|---|---|---|
| 401 | missing_api_token | No API token provided |
| 401 | invalid_api_token | Invalid or unrecognized token |
| 403 | api_access_expired | API access period has expired |
| 404 | not_found | Recap not found or older than 30 days |
| 422 | validation_error | Invalid date format or parameters |
| 429 | rate_limit_exceeded | Too many requests |
Support
Need help with the API? Contact our support team: