cURL
curl --request GET \
--url https://api.twitterapi.io/twitter/user/followers \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.twitterapi.io/twitter/user/followers"
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/user/followers', 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/user/followers",
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/user/followers"
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/user/followers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twitterapi.io/twitter/user/followers")
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{
"followers": [
{
"id": "<string>",
"name": "<string>",
"screen_name": "<string>",
"userName": "<string>",
"username": "<string>",
"location": "<string>",
"url": "<string>",
"description": "<string>",
"email": "<string>",
"protected": true,
"verified": true,
"isBlueVerified": true,
"followers_count": 123,
"following_count": 123,
"friends_count": 123,
"favourites_count": 123,
"statuses_count": 123,
"media_tweets_count": 123,
"created_at": "<string>",
"profile_banner_url": "<string>",
"profile_image_url_https": "<string>",
"can_dm": true
}
],
"status": "success",
"msg": "<string>",
"has_next_page": true,
"next_cursor": "<string>",
"code": 123
}{
"error": 123,
"message": "<string>"
}User Endpoint
Get User Followers
Get an X userβs followers with full profiles, newest first, up to 200 per page with cursor pagination. From $0.01 per 1,000 followers.
GET
/
twitter
/
user
/
followers
cURL
curl --request GET \
--url https://api.twitterapi.io/twitter/user/followers \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.twitterapi.io/twitter/user/followers"
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/user/followers', 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/user/followers",
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/user/followers"
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/user/followers")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.twitterapi.io/twitter/user/followers")
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{
"followers": [
{
"id": "<string>",
"name": "<string>",
"screen_name": "<string>",
"userName": "<string>",
"username": "<string>",
"location": "<string>",
"url": "<string>",
"description": "<string>",
"email": "<string>",
"protected": true,
"verified": true,
"isBlueVerified": true,
"followers_count": 123,
"following_count": 123,
"friends_count": 123,
"favourites_count": 123,
"statuses_count": 123,
"media_tweets_count": 123,
"created_at": "<string>",
"profile_banner_url": "<string>",
"profile_image_url_https": "<string>",
"can_dm": true
}
],
"status": "success",
"msg": "<string>",
"has_next_page": true,
"next_cursor": "<string>",
"code": 123
}{
"error": 123,
"message": "<string>"
}Get user followers (with full profile metadata) in reverse chronological order (newest first). Sorted by follow date β most recent followers appear on the first page. Use
π‘ At max page size, 100,000 follower profiles cost just $1.00.
Minimum charge: 60 credits ($0.0006) per call (20 followers Γ 3 credits, the smallest page size).
For pure follower-ID collection at scale, see the cheaper
cursor for pagination through the complete followers list.
Tiered pricing (per follower returned)
Credits β USD: 100,000 credits = 1.00(1creditβ0.00001)
| Returned followers per call | Price | USD equivalent |
|---|---|---|
| 200 (max page size) | 1 credit / follower | $0.01 / 1k followers |
| 100 - 199 | 2 credits / follower | $0.02 / 1k followers |
| 20 - 99 | 3 credits / follower | $0.03 / 1k followers |
/twitter/user/followers_ids endpoint β no profile metadata, up to 5,000 IDs per call, as low as $0.0045 per 1,000 IDs at the bulk tier.Authorizations
Query Parameters
screen name of the user
The cursor to paginate through the results. First page is "".
The number of followings to return per page. Default is 200.min 20,max 200
Response
User info
Array of followers
Show child attributes
Show child attributes
Status of the request.success or error
Available options:
success, error Message of the request (error message on failure)
Indicates if there are more results available
Cursor for fetching the next page of results
0 on success