curl --request GET \
--url https://api.twitterapi.io/twitter/tweet/replies \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.twitterapi.io/twitter/tweet/replies"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.twitterapi.io/twitter/tweet/replies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.twitterapi.io/twitter/tweet/replies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.twitterapi.io/twitter/tweet/replies"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.twitterapi.io/twitter/tweet/replies")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twitterapi.io/twitter/tweet/replies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"tweets": [
{
"type": "tweet",
"id": "<string>",
"url": "<string>",
"text": "<string>",
"source": "<string>",
"retweetCount": 123,
"replyCount": 123,
"likeCount": 123,
"quoteCount": 123,
"viewCount": 123,
"createdAt": "<string>",
"lang": "<string>",
"bookmarkCount": 123,
"isReply": true,
"inReplyToId": "<string>",
"conversationId": "<string>",
"displayTextRange": [
123
],
"inReplyToUserId": "<string>",
"inReplyToUsername": "<string>",
"author": {
"type": "user",
"userName": "<string>",
"url": "<string>",
"id": "<string>",
"name": "<string>",
"isBlueVerified": true,
"verifiedType": "<string>",
"profilePicture": "<string>",
"coverPicture": "<string>",
"description": "<string>",
"location": "<string>",
"followers": 123,
"following": 123,
"canDm": true,
"createdAt": "<string>",
"favouritesCount": 123,
"hasCustomTimelines": true,
"isTranslator": true,
"mediaCount": 123,
"statusesCount": 123,
"withheldInCountries": [
"<string>"
],
"affiliatesHighlightedLabel": {},
"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": [
123
],
"url": "<string>"
}
]
},
"url": {
"urls": [
{
"display_url": "<string>",
"expanded_url": "<string>",
"indices": [
123
],
"url": "<string>"
}
]
}
}
}
},
"entities": {
"hashtags": [
{
"indices": [
123
],
"text": "<string>"
}
],
"urls": [
{
"display_url": "<string>",
"expanded_url": "<string>",
"indices": [
123
],
"url": "<string>"
}
],
"user_mentions": [
{
"id_str": "<string>",
"name": "<string>",
"screen_name": "<string>"
}
]
},
"quoted_tweet": "<unknown>",
"retweeted_tweet": "<unknown>",
"isLimitedReply": true
}
],
"has_next_page": true,
"next_cursor": "<string>",
"status": "success",
"msg": "<string>"
}{
"error": 123,
"message": "<string>"
}Get Tweet Replies
Get replies to an X tweet by tweet ID, newest first, up to 20 per page with cursor pagination. Ads and non-tweet items are filtered out.
curl --request GET \
--url https://api.twitterapi.io/twitter/tweet/replies \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.twitterapi.io/twitter/tweet/replies"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.twitterapi.io/twitter/tweet/replies', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.twitterapi.io/twitter/tweet/replies",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.twitterapi.io/twitter/tweet/replies"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.twitterapi.io/twitter/tweet/replies")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twitterapi.io/twitter/tweet/replies")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"tweets": [
{
"type": "tweet",
"id": "<string>",
"url": "<string>",
"text": "<string>",
"source": "<string>",
"retweetCount": 123,
"replyCount": 123,
"likeCount": 123,
"quoteCount": 123,
"viewCount": 123,
"createdAt": "<string>",
"lang": "<string>",
"bookmarkCount": 123,
"isReply": true,
"inReplyToId": "<string>",
"conversationId": "<string>",
"displayTextRange": [
123
],
"inReplyToUserId": "<string>",
"inReplyToUsername": "<string>",
"author": {
"type": "user",
"userName": "<string>",
"url": "<string>",
"id": "<string>",
"name": "<string>",
"isBlueVerified": true,
"verifiedType": "<string>",
"profilePicture": "<string>",
"coverPicture": "<string>",
"description": "<string>",
"location": "<string>",
"followers": 123,
"following": 123,
"canDm": true,
"createdAt": "<string>",
"favouritesCount": 123,
"hasCustomTimelines": true,
"isTranslator": true,
"mediaCount": 123,
"statusesCount": 123,
"withheldInCountries": [
"<string>"
],
"affiliatesHighlightedLabel": {},
"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": [
123
],
"url": "<string>"
}
]
},
"url": {
"urls": [
{
"display_url": "<string>",
"expanded_url": "<string>",
"indices": [
123
],
"url": "<string>"
}
]
}
}
}
},
"entities": {
"hashtags": [
{
"indices": [
123
],
"text": "<string>"
}
],
"urls": [
{
"display_url": "<string>",
"expanded_url": "<string>",
"indices": [
123
],
"url": "<string>"
}
],
"user_mentions": [
{
"id_str": "<string>",
"name": "<string>",
"screen_name": "<string>"
}
]
},
"quoted_tweet": "<unknown>",
"retweeted_tweet": "<unknown>",
"isLimitedReply": true
}
],
"has_next_page": true,
"next_cursor": "<string>",
"status": "success",
"msg": "<string>"
}{
"error": 123,
"message": "<string>"
}Authorizations
Query Parameters
The tweet ID to get. Must be an original tweet (not a reply to another tweet) and should be the first tweet in a thread.. eg. 1846987139428634858
On or after a specified unix timestamp in seconds.
Before a specified unix timestamp in seconds.
The cursor to paginate through the results. First page is "".
Response
Tweet replies response
Array of tweets
Show child attributes
Show child attributes
Indicates if there are more results available. If true, use next_cursor to fetch the next page. Warning: Due to Twitter API inconsistency, has_more might return true even when no additional data exists. In such cases, subsequent requests will return empty results - this is a known platform limitation.
Cursor for fetching the next page of results
Status of the request.success or error
success, error Message of the request (error message on failure)