Skip to main content
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": [
    {
      "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

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.

Pattern: ^[0-9]{1,19}$
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. The fields available for a Analytics object.

Minimum array length: 1
Available options:
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,
unlikes,
url_clicks,
user_profile_clicks
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",
"unlikes",
"url_clicks",
"user_profile_clicks"
]

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).