---
title: "Get Engagement Hotspots for an Asset"
method: GET
path: "/data/v1/engagement/assets/{ASSET_ID}/hotspots"
tags: ["Engagement"]
---

# Get Engagement Hotspots for an Asset

`GET /data/v1/engagement/assets/{ASSET_ID}/hotspots`

## Request

- Base URL: `https://api.mux.com`
- URL: `https://api.mux.com/data/v1/engagement/assets/{ASSET_ID}/hotspots`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

Returns the engagement hotspots for an asset. Hotspots are the most or least engaging moments of the content, each described by a start and end time (in milliseconds) and a score between 0 and 1. Set `order_direction` to `asc` to return the least engaging moments (cold spots).

## Path parameters

- `ASSET_ID` string, required

## Query parameters

- `timeframe` string[]
- `limit` integer
- `order_direction` 'asc' | 'desc'

## Response `200`

OK

- GetEngagementHotspotsResponse
  - `data` EngagementHotspots, required
    - `hotspots` Hotspot[], required
      - `start_ms` integer, required: Start of the hotspot, in milliseconds from the beginning of the content.
      - `end_ms` integer, required: End of the hotspot (exclusive), in milliseconds from the beginning of the content.
      - `score` number, double, required: Engagement score for the hotspot, between 0 and 1. Higher scores indicate more engaging moments; lower scores indicate less engaging moments (cold spots).
    - `asset_id` string, nullable: The asset ID for which the hotspots were calculated. Omitted if the hotspots are associated with a video_id or playback_id.
    - `playback_id` string, nullable: The playback ID for which the hotspots were calculated. Omitted if the hotspots are associated with a video_id or asset_id.
    - `video_id` string, nullable: The video ID for which the hotspots were calculated. Omitted if the hotspots are associated with a playback_id or asset_id.
  - `total_row_count` integer, nullable, required
  - `timeframe` integer[], required

## Changes

- **2026-09-30** `99c1d509dcbb`: 1 warning, 1 info
  - deleted the `query` request parameter `timeframe[]`
  - added the new optional `query` request parameter `timeframe`
- **2026-09-30** `4fb3ee354107`: 1 breaking, 3 info
  - removed the required property `data/total_views` from the response with the `200` status
  - added the optional property `data/asset_id` to the response with the `200` status
  - added the optional property `data/playback_id` to the response with the `200` status
  - added the optional property `data/video_id` to the response with the `200` status
- **2026-08-12** `5b4b3133f27d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/muxinc/apis/mux-api/changes/data/v1/engagement/assets/:ASSET_ID/hotspots/get.md)

---

[API](https://skmtc.dev/muxinc/apis/mux-api.md) - [All operations](https://skmtc.dev/muxinc/apis/mux-api/llms.txt) - [OpenAPI document](https://skmtc.dev/muxinc/apis/mux-api/revisions/75b4251a1d96?raw)
