Returns engagement insights for 1 tweet. They are engagements per hour since it went up, per view and per follower of its author, and how far it spread. Each report costs 1 credit, whatever it reads.
Request
- Base URL: https://xquik.com
- URL: https://xquik.com/api/v1/x/tweets/{id}/insights
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
- none
Path parameters
Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 invalid_tweet_id.
Query parameters
Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields. A longer URL fails at the edge before Xquik reads it.
Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields. A longer URL fails at the edge before Xquik reads it.
Response
Tweet insights
Example response
{
"insights": {
"tweetId": "2102882545427714266",
"authorId": "11348282",
"authorUserName": "NASA",
"createdAt": "2026-09-23T22:07:23.000Z",
"ageHours": 133.88,
"metrics": {
"likes": 9043,
"replies": 207,
"reposts": 772,
"quotes": 100,
"bookmarks": 661,
"views": 1291231
},
"engagements": 10122,
"engagementsPerHour": 75.605,
"engagementPerView": 0.7839,
"engagementRate": 0.011,
"amplification": 0.0964,
"conversation": 0.0229
}
}Changes
- warning
added the new
topup_in_progressenum value to the/////response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the///////response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the///////response property for the response status
- warning