Skip to main content
GET
/
2
/
media
/
analytics
Get Media analytics
curl --request GET \
  --url https://api.x.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": [
    {
      "title": "<string>",
      "type": "<string>",
      "detail": "<string>",
      "status": 123
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.x.com/llms.txt

Use this file to discover all available pages before exploring further.

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.

Pattern: ^([0-9]+)_([0-9]+)$
end_time
string<date-time>
required

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

start_time
string<date-time>
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. The fields available for a MediaAnalytics object.

Minimum array length: 1
Available options:
cta_url_clicks,
cta_watch_clicks,
media_key,
play_from_tap,
playback25,
playback50,
playback75,
playback_complete,
playback_start,
timestamp,
video_views,
watch_time_ms
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

The request has succeeded.

data
object[]
errors
object[]
Minimum array length: 1

An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807).