GET
/
2
/
media
/
analytics
curl --request GET \
  --url https://api.twitter.com/2/media/analytics \
  --header 'Authorization: Bearer <token>'
{
  "data": {
    "media_key": "<string>",
    "timestamped_metrics": [
      {
        "metrics": {
          "cta_url_clicks": 123,
          "cta_watch_clicks": 123,
          "play_from_tap": 123,
          "playback25": 123,
          "playback50": 123,
          "playback75": 123,
          "playback_complete": 123,
          "playback_start": 123,
          "video_views": 123,
          "watch_time_ms": 123
        },
        "timestamp": "2025-03-17T06:30:00Z"
      }
    ]
  },
  "errors": [
    {
      "detail": "<string>",
      "status": 123,
      "title": "<string>",
      "type": "<string>"
    }
  ]
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Query Parameters

media_keys
string[]
required

A comma separated list of Media Keys. Up to 100 are allowed in a single request.

Required array length: 1 - 100 elements

The Media Key identifier for this attachment.

end_time
string
required

YYYY-MM-DDTHH:mm:ssZ. The UTC timestamp representing the end of the time range.

start_time
string
required

YYYY-MM-DDTHH:mm:ssZ. The UTC timestamp representing the start of the time range.

granularity
enum<string>
default:daily
required

The granularity for the search counts results.

Available options:
hourly,
daily,
total
media_analytics.fields
enum<string>[]

A comma separated list of MediaAnalytics fields to display.

Minimum length: 1
Example:
[
  "cta_url_clicks",
  "cta_watch_clicks",
  "media_key",
  "play_from_tap",
  "playback25",
  "playback50",
  "playback75",
  "playback_complete",
  "playback_start",
  "timestamp",
  "video_views",
  "watch_time_ms"
]

Response

200
application/json

The request has succeeded.

The response is of type object.