Usage Analytics API
Track token usage, costs, and usage patterns across all Claude Code sessions. The usage analytics system aggregates data from JSONL files and provides multiple views of consumption data.Overview
The usage API provides endpoints for:- Daily, hourly, and monthly usage summaries
- Per-model cost breakdowns
- Session history and project tracking
- Anomaly detection for cost spikes
- Real-time cache status
Authentication
All endpoints are available on localhost only (http://localhost:3000). No authentication required.Endpoints
GET /api/usage/summary
Get overall usage summary with total tokens, cost, and daily averages. Query Parameters:since(optional): Start date in YYYYMMDD formatuntil(optional): End date in YYYYMMDD format
GET /api/usage/daily
Get daily usage trends with per-day breakdowns.GET /api/usage/hourly
Get hourly usage trends for detailed time-series analysis. Includes gap filling for continuous charts.GET /api/usage/models
Get per-model usage statistics with cost breakdowns and I/O ratios.GET /api/usage/insights
Get usage anomalies and insights for cost optimization.cost_spike: Daily cost significantly above averagehigh_input: Input tokens exceed 10M thresholdhigh_io_ratio: Input-to-output ratio exceeds 100:1high_cache_read: Cache read tokens exceed 1B
GET /api/usage/sessions
Get session history with pagination support. Query Parameters:limit(optional): Number of sessions to return (default: 50)offset(optional): Pagination offset (default: 0)
GET /api/usage/monthly
Get monthly aggregated usage data.POST /api/usage/refresh
Force cache refresh to fetch latest usage data.GET /api/usage/status
Get cache status and last fetch timestamp.Caching Strategy
The usage API uses a three-tier caching system:- In-Memory Cache: TTL varies by endpoint (1-5 minutes)
- Disk Cache: Persisted to
~/.ccs/.cache/usage-cache.json(7-day stale TTL) - Stale-While-Revalidate: Returns stale cache immediately, refreshes in background
Cache Behavior
- Fresh Cache (<1 min): Instant response from memory
- Stale Cache (1-7 days): Instant response, background refresh
- No Cache: Blocking fetch from JSONL files
Data Sources
Usage data is aggregated from:~/.claude/projects/*/usage.jsonl- Default Claude directory~/.ccs/instances/*/usage.jsonl- CCS account instances
Model Pricing
Costs are calculated using built-in pricing for:- Claude (Haiku, Sonnet, Opus variants)
- OpenAI (GPT-4o, o1, o3, Codex)
- Google Gemini (Flash, Pro)
- GLM, Kimi, MiniMax, DeepSeek, Mistral
