Twitter / X
Query public users, posts, communities and trends.
Get Tweet Thread Context
Reconstruct the conversation around a tweet. Accepts either a reply or an original tweet and returns the surrounding thread, cursor-paginated. Use this when a tweet lacks context on its own and you need the parent chain to interpret it correctly. Returns tweets under tweets with has_next_page and next_cursor. For only the replies below a post use get_twitter_tweet_replies_v2.
- Type: stringtweet
Id requiredThe tweet ID to get. Can be a reply tweet or an original tweet.
- Type: stringcursor
The cursor to paginate through the results. First page is empty.
- Type: object · TweetThreadContextResponse200
Successful response
- Type: booleanhas
_next _page - Type: stringmsg
- Type: stringnext
_cursor - Type: string enumstatusvalues
- success
- error
- Type: array object[] · Tweet[]tweets
- authorType: object · User
- automatedType: string
By - canType: boolean
Dm - coverType: string
Picture - createdType: string
At - descriptionType: string
- favouritesType: integer
Count Integer numbers.
- followersType: integer
Integer numbers.
- followingType: integer
Integer numbers.
- hasType: boolean
Custom Timelines - idType: string
- isType: boolean
Automated - isType: boolean
Blue Verified - isType: boolean
Translator - locationType: string
- mediaType: integer
Count Integer numbers.
- messageType: string
- nameType: string
- pinnedType: array string[]
Tweet Ids - possiblyType: boolean
Sensitive - profileType: object
_bio - descriptionType: string
- entitiesType: object
- descriptionType: object
- urlsType: array object[]
- displayType: string
_url - expandedType: string
_url - indicesType: array integer[]
- urlType: string
- urlType: object
- urlsType: array object[]
- displayType: string
_url - expandedType: string
_url - indicesType: array integer[]
- urlType: string
- profileType: string
Picture - statusesType: integer
Count Integer numbers.
- typeType: string
- unavailableType: boolean
- unavailableType: string
Reason - urlType: string
- userType: string
Name - verifiedType: string
Type - withheldType: array string[]
In Countries
- bookmarkType: integer
Count Integer numbers.
- conversationType: string
Id - createdType: string
At - displayType: array integer[]
Text Range - entitiesType: object
- hashtagsType: array object[]
- indicesType: array integer[]
- textType: string
- urlsType: array object[]
- displayType: string
_url - expandedType: string
_url - indicesType: array integer[]
- urlType: string
- userType: array object[]
_mentions - idType: string
_str - nameType: string
- screenType: string
_name
- idType: string
- inType: string
Reply To Id - inType: string
Reply To User Id - inType: string
Reply To Username - isType: boolean
Limited Reply - isType: boolean
Reply - langType: string
- likeType: integer
Count Integer numbers.
- quoteType: integer
Count Integer numbers.
- quotedType: string
_tweet - replyType: integer
Count Integer numbers.
- retweetType: integer
Count Integer numbers.
- retweetedType: string
_tweet - sourceType: string
- textType: string
- typeType: string
- urlType: string
- viewType: integer
Count Integer numbers.
application/json - 400
The request could not be processed. Check the request parameters.
- 401
A valid Felo API key is required.
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
A request or spending limit has been reached.
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
The operation failed. Keep the response request ID when contacting Felo support.
curl 'https://openapi.felo.ai/v1/beta/twitter/tweet/thread_context?tweetId=' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
"has_next_page": true,
"next_cursor": "string",
"status": "success",
"tweets": [
{
"type": "string",
"id": "string",
"url": "string",
"text": "string",
"source": "string",
"retweetCount": 1,
"replyCount": 1,
"likeCount": 1,
"quoteCount": 1,
"viewCount": 1,
"createdAt": "string",
"lang": "string",
"bookmarkCount": 1,
"isReply": true,
"inReplyToId": "string",
"conversationId": "string",
"displayTextRange": [
1
],
"inReplyToUserId": "string",
"inReplyToUsername": "string",
"author": {
"type": "string",
"userName": "string",
"url": "string",
"id": "string",
"name": "string",
"isBlueVerified": true,
"verifiedType": "string",
"profilePicture": "string",
"coverPicture": "string",
"description": "string",
"location": "string",
"followers": 1,
"following": 1,
"canDm": true,
"createdAt": "string",
"favouritesCount": 1,
"hasCustomTimelines": true,
"isTranslator": true,
"mediaCount": 1,
"statusesCount": 1,
"withheldInCountries": [
"string"
],
"possiblySensitive": true,
"pinnedTweetIds": [
"string"
],
"isAutomated": true,
"automatedBy": "string",
"unavailable": true,
"message": "string",
"unavailableReason": "string",
"profile_bio": {
"description": "string",
"entities": {
"description": {
"urls": [
{
"display_url": "string",
"expanded_url": "string",
"indices": [
1
],
"url": "string"
}
]
},
"url": {
"urls": [
{
"display_url": "string",
"expanded_url": "string",
"indices": [
1
],
"url": "string"
}
]
}
}
}
},
"entities": {
"hashtags": [
{
"indices": [
1
],
"text": "string"
}
],
"urls": [
{
"display_url": "string",
"expanded_url": "string",
"indices": [
1
],
"url": "string"
}
],
"user_mentions": [
{
"id_str": "string",
"name": "string",
"screen_name": "string"
}
]
},
"quoted_tweet": "string",
"retweeted_tweet": "string",
"isLimitedReply": true
}
],
"msg": "string"
}