The built-in analysis, facet search, and clusters platforms are one opinionated UI. Your team can ship your own dashboards, maps, or reports using the same public JSON APIs — no fork required.
/api/stats + summariesOne GET to /api/stats for headline totals, then paginated slim summaries for platforms_used (same pattern as the main site). No bulk case download. Good for leadership slides, high-level statistics, and quick platform mix views.
Uses GET /api/facet-tree?max_depth=2. Your app could turn the same JSON into a custom tree, Sankey, or filter UI.
Uses GET /api/cases-summaries-chunk (same as the main site). Demonstrates building a chart without /api/cases.
Same JSON routes the built-in pages use. Rate limits apply. Open Interactive API docs for schemas, parameters, and try-it requests.
GET /api — service name / version pingGET /api/case-count — total casesGET /api/stats — high-level stats (sources, orgs, date range, …)GET /api/stats-detailed — chart-ready breakdowns (coverage, trends, …)GET /api/tags — tag dimensions (topics, platforms, severity tags, …)GET /api/location-stats — geographic aggregates for maps / stats UIGET /api/cases/{id} — one case JSON (fields depend on deployment)GET /api/cases-summaries-chunk — paginated slim summaries (offset/limit)POST /api/cases-summaries-by-ids — slim summaries for explicit ID listsGET /api/facet-tree — hierarchical facet counts (Search / filters)GET /api/facet-distinct — distinct tag strings per facet fieldPOST /api/facet-cohort-members — case IDs matching a facet pathGET /api/case-ids-by-filter — case IDs from structured filter params (Stats drill-downs)POST /api/tag-threader — tag-threading / analysis pipeline (body per docs)POST /api/return-tagged-cases — cases matching tag-threader outputGET /api/automated-analysis — cached automated analysis payload (see docs for caching)GET /api/cluster-groups — cluster families / membership metadataGET /api/triage-eval — evaluation metrics / splits (see docs)GET /api/triage-model-corpus — model training / corpus stats from live DBPOST /api/triage-live — live scoring request (body per docs)GET /api/cases — bulk full-corpus export; returns 403 without the internal key (ops / trusted clients only).POST /api/cache/clear — clears server-side cache; requires CACHE_CLEAR_TOKEN (maintenance).