Likes
/tw-v2/interaction/likes1 API unit per call · How billing works
Description
Retrieve the posts liked by the X account behind authToken. Returns a paginated timeline of posts.
Usage notes
Supply both authToken and the numeric userId of that same X account. The user ID is not looked up automatically; use /tw-v2/user/by-username if you only know the username. This endpoint is for your own account's likes. Supplying another account's ID does not grant access to its private likes. Keep the same account and pass nextCursor until it is null.
A request costs one API unit. 400, 401, 403, 429 and 5xx errors are free; a 404 is billed.
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| auth | string | required | Authentication token (auth_token cookie value) of the same X account identified by userId. |
| user | string | required | Numeric user ID of the X account that authToken belongs to. Required; the ID is not looked up automatically. |
| cursorstringoptional | string | optional | Pagination cursor from the previous response's nextCursor. Omit for the first page. |
| proxystringoptional | string | optional | Optional proxy in format 'host:port@user:pass' |
Code Examples
const params = new URLSearchParams({
authToken: 'YOUR_AUTH_TOKEN',
userId: '1000000000000000001'
});
const response = await fetch(`https://api.tweetapi.com/tw-v2/interaction/likes?${params}`, {
method: 'GET',
headers: {
'X-API-Key': 'YOUR_API_KEY'
}
});
const data = await response.json();
console.log(data);
Response
Success Response (200 OK)
Synthetic example:
{
"data": [
{
"id": "2000000000000000001",
"conversationId": "2000000000000000001",
"text": "Sample post 2000000000000000001",
"displayTextRange": [
0,
20
],
"author": {
"id": "1000000000000000902",
"username": "sample_user_00002",
"name": "Sample User",
"bio": "Sample bio",
"location": "Sample City",
"website": null,
"pinnedTweetIds": [],
"avatar": "https://example.com/images/sample-avatar.jpg",
"banner": "https://example.com/images/sample-banner.jpg",
"profileImageShape": null,
"verified": false,
"isBlueVerified": false,
"verifiedType": null,
"verifiedSince": null,
"isIdentityVerified": false,
"isProtected": false,
"possiblySensitive": false,
"profileInterstitialType": null,
"withheldInCountries": [],
"professional": null,
"businessAccount": null,
"creatorSubscriptionsCount": 0,
"hasHiddenSubscriptions": false,
"highlightsInfo": null,
"hasGraduatedAccess": false,
"isProfileTranslatable": false,
"hasCustomTimelines": false,
"isTranslator": false,
"affiliatesHighlightedLabel": null,
"defaultProfile": false,
"defaultProfileImage": false,
"followerCount": 1200,
"followingCount": 34,
"tweetCount": 560,
"listedCount": 0,
"mediaCount": 78,
"favoritesCount": 90,
"createdAt": "2023-01-02T00:00:00.000Z"
},
"source": null,
"type": "tweet",
"replyTo": null,
"quotedTweet": null,
"reactionContext": null,
"retweetedTweet": null,
"likeCount": 1,
"retweetCount": 0,
"replyCount": 0,
"quoteCount": 0,
"bookmarkCount": 0,
"viewCount": 0,
"media": [],
"poll": null,
"card": null,
"article": null,
"hashtags": [],
"mentions": [],
"urls": [],
"symbols": [],
"possiblySensitive": false,
"limitedActions": null,
"hasAIGeneratedMedia": false,
"isPaidPromotion": false,
"isEdited": false,
"editControl": null,
"isTranslatable": false,
"lang": "en",
"translatedText": null,
"hasBirdwatchNotes": false,
"birdwatchPivot": null,
"conversationControl": null,
"isPromoted": false,
"promotedMetadata": null,
"createdAt": "2026-10-27T12:00:00.000Z",
"place": null,
"communityId": null,
"communityResults": null
}
],
"pagination": {
"nextCursor": "NEXT_CURSOR",
"prevCursor": "PREVIOUS_CURSOR"
}
}An empty page is also successful:
{
"data": [],
"pagination": {
"nextCursor": null,
"prevCursor": null
}
}Errors
Errors return { statusCode, message } with a non-2xx HTTP status.
A missing authToken or userId, or a non-numeric userId, returns 400. An auth token X rejects returns 401. Both errors are not billed. Use the ID of the account that owns the token; access to likes is subject to X's account permissions.
{
"statusCode": 400,
"message": "Request validation failed"
}TweetAPI is a third-party API and is not affiliated with X Corp.