Skip to main content

GET /api/activity-heatmap

National activity feed aggregated to H3 resolution-5 hexagons. Returns a GeoJSON FeatureCollection of geocoded events from the last 90 days, weighted by event count per cell. Use this to power map-based heatmap visualizations of where activity is happening across the country, without scoping to a single metro. The response is cached at the edge for 1 hour (s-maxage=3600, stale-while-revalidate=86400), so it’s safe to fetch once on map mount instead of refetching as the viewport changes. There are no query parameters — the window and resolution are fixed. Event counts per cell are long-tailed (p50 ≈ 22, p99 ≈ 270, max in the thousands). The weight field is the raw count; apply your own log or interpolation curve when styling heatmap layers so dense metros don’t saturate the legend. Example
Mapbox GL example
Response

GET /api/heatmap/[dimension]

Generic single-dimension density heatmap. Returns a GeoJSON FeatureCollection of H3 res-5 hexagons weighted by the raw magnitude of the requested dimension, aggregated across the entire dataset (no metro scope, no time window). Use this to underlay a single raw signal beneath the Explorer’s scored /api/activity-heatmap or Fit layers — for example, painting crime density under a Safety-weighted Fit map to spot cells that scored well despite elevated raw crime. The route is public and rate-limited (surfaces X-RateLimit-Remaining), and its response is edge-cached for 1 hour (s-maxage=3600, stale-while-revalidate=86400). Path parameters
Each dimension maps to a source table and an optional magnitude column. When the dimension has no magnitude column, the weight is the count of rows per parent hex. Additional dimensions (for example, an H3-keyed rent-growth series) can be added as their source tables land; the response shape is identical.
Example
Response
Errors

GET /api/permits/hotspots

H3-aggregated building permit hotspots for a metro, ranked by permit density and total estimated cost. Query parameters Example
Response

GET /api/crime/hotspots

Crime incident hotspots aggregated by H3 cell for a metro area. Query parameters Example
Response

GET /api/commuter-flows

LEHD Origin-Destination commuter flow data for a Census tract. Shows where workers live and where residents work. Query parameters Example
Response

GET /api/v1/spatial-diagnostics

Requires Bearer token.
Identify spatial score outliers using Local Moran’s I (LISA) statistics and topological data analysis. Use this to find cells that behave differently from their neighbors — high-scoring cells surrounded by low scores, or vice versa. Query parameters Cluster types explained: When no type is specified, the endpoint returns HL and LH outliers — the most analytically interesting patterns. Example
Response

GET /api/backtest

Requires authentication. Session-based — available through the dashboard.
Validate scoring model accuracy by comparing historical predictions against outcomes. Requires at least 90 days of score history and 5 or more monitored locations. Example
Response (ready)
Response (insufficient data)