GET /api/sentiment-index
Input: keyword, sources, interval (1h, 6h, 24h)
Output: {
"keyword": "...",
"source_breakdown": { ... },
"VW_1h": 0.24,
"VW_6h": 0.37,
"VW_24h": 0.41
}
GET /api/narrative-drift
Input: keyword, extras, time_window
Output: {
"keyword": "...",
"shift_dates": [ ... ],
"shift_scores": [ ... ],
"before": "...",
"after": "...",
"themes": [ ... ]
}
GET /api/threat-feed
Input: keyword, source, time_range
Output: {
"hate": [ ... ],
"misinfo": [ ... ],
"toxicity_score": 0.74,
"threat_samples": [
"Example 1: ...",
"Example 2: ..."
]
}
GET /api/emotion-feed
Input: keyword, sources, interval
Output: {
"emotion_scores": {
"joy": 0.61,
"anger": 0.48,
"curiosity": 0.43,
"disgust": 0.45,
"love": 0.80,
"sadness": 0.55,
"neutral": 0.65
},
"notes": {
"coverage": "Broad detection across 25+ emotional states",
"insight": "Highlights underlying sentiment volatility and public tone in real time"
}
}