GET
/
2
/
tweets
/
analytics
Get Post analytics
curl --request GET \
  --url https://api.x.com/2/tweets/analytics \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "1346889436626259968",
      "timestamped_metrics": [
        {
          "metrics": {
            "app_install_attempts": 123,
            "app_opens": 123,
            "detail_expands": 123,
            "email_tweet": 123,
            "engagements": 123,
            "follows": 123,
            "hashtag_clicks": 123,
            "impressions": 123,
            "likes": 123,
            "link_clicks": 123,
            "media_engagements": 123,
            "media_views": 123,
            "permalink_clicks": 123,
            "profile_visits": 123,
            "quote_tweets": 123,
            "replies": 123,
            "retweets": 123,
            "url_clicks": 123,
            "user_profile_clicks": 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

ids
string[]
required

A comma separated list of Post IDs. Up to 100 are allowed in a single request.

Required array length: 1 - 100 elements

Unique identifier of this Tweet. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers.

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:total
required

The granularity for the search counts results.

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

A comma separated list of Analytics fields to display.

Minimum length: 1
Example:
[
"app_install_attempts",
"app_opens",
"bookmarks",
"detail_expands",
"email_tweet",
"engagements",
"follows",
"hashtag_clicks",
"id",
"impressions",
"likes",
"media_views",
"permalink_clicks",
"quote_tweets",
"replies",
"retweets",
"shares",
"timestamp",
"unfollows",
"url_clicks",
"user_profile_clicks"
]

Response

200
application/json

The request has succeeded.

The response is of type object.