curl --request GET \
--url https://scrapebadger.com/v1/twitter/users/{user_id}/by_id \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/twitter/users/{user_id}/by_id"
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://scrapebadger.com/v1/twitter/users/{user_id}/by_id', 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://scrapebadger.com/v1/twitter/users/{user_id}/by_id",
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://scrapebadger.com/v1/twitter/users/{user_id}/by_id"
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://scrapebadger.com/v1/twitter/users/{user_id}/by_id")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/twitter/users/{user_id}/by_id")
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{
"id": "44196397",
"username": "elonmusk",
"name": "Elon Musk",
"created_at": "Tue Jun 02 20:12:29 +0000 2009",
"description": "Mars & Cars, Chips & Dips",
"location": "Mars",
"url": "<string>",
"profile_image_url": "<string>",
"profile_banner_url": "<string>",
"followers_count": 0,
"following_count": 0,
"tweet_count": 0,
"listed_count": 0,
"favourites_count": 123,
"media_count": 123,
"verified": false,
"verified_type": "<string>",
"is_blue_verified": true,
"created_at_datetime": "<string>",
"protected": true,
"possibly_sensitive": true,
"followed_by": true,
"following": true,
"can_dm": true,
"professional_type": "<string>",
"pinned_tweet_ids": [
"<string>"
]
}{
"error": "Invalid or missing API key"
}{
"error": "Insufficient credits"
}{
"error": "Rate limit exceeded. Please retry after a short delay."
}Get User by ID
Get a user profile by their numeric Twitter ID. Returns comprehensive profile data including bio, follower/following counts, verification status, and account metadata. Use this when you have the numeric ID and need full profile details.
curl --request GET \
--url https://scrapebadger.com/v1/twitter/users/{user_id}/by_id \
--header 'x-api-key: <api-key>'import requests
url = "https://scrapebadger.com/v1/twitter/users/{user_id}/by_id"
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://scrapebadger.com/v1/twitter/users/{user_id}/by_id', 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://scrapebadger.com/v1/twitter/users/{user_id}/by_id",
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://scrapebadger.com/v1/twitter/users/{user_id}/by_id"
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://scrapebadger.com/v1/twitter/users/{user_id}/by_id")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/twitter/users/{user_id}/by_id")
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{
"id": "44196397",
"username": "elonmusk",
"name": "Elon Musk",
"created_at": "Tue Jun 02 20:12:29 +0000 2009",
"description": "Mars & Cars, Chips & Dips",
"location": "Mars",
"url": "<string>",
"profile_image_url": "<string>",
"profile_banner_url": "<string>",
"followers_count": 0,
"following_count": 0,
"tweet_count": 0,
"listed_count": 0,
"favourites_count": 123,
"media_count": 123,
"verified": false,
"verified_type": "<string>",
"is_blue_verified": true,
"created_at_datetime": "<string>",
"protected": true,
"possibly_sensitive": true,
"followed_by": true,
"following": true,
"can_dm": true,
"professional_type": "<string>",
"pinned_tweet_ids": [
"<string>"
]
}{
"error": "Invalid or missing API key"
}{
"error": "Insufficient credits"
}{
"error": "Rate limit exceeded. Please retry after a short delay."
}Authorizations
Your ScrapeBadger API key. You can find this in your dashboard at https://scrapebadger.com/dashboard/api-keys.
Path Parameters
The unique numeric ID of the user.
"44196397"
Response
Successfully retrieved user profile.
Comprehensive user profile data including bio, metrics, verification status, and account metadata.
Unique numeric user identifier.
"44196397"
The user's screen name (handle).
"elonmusk"
The user's display name.
"Elon Musk"
Account creation timestamp.
"Tue Jun 02 20:12:29 +0000 2009"
The user's bio/description.
"Mars & Cars, Chips & Dips"
The user's self-reported location.
"Mars"
URL in the user's profile.
URL of the user's profile image.
URL of the user's profile banner.
Number of followers.
Number of accounts this user follows.
Total number of tweets posted.
Number of lists this user appears on.
Number of tweets this user has liked.
Number of media items posted.
Whether the user is verified (legacy verification).
Type of verification (e.g., Government, Business).
Whether the user has a Twitter Blue/Premium subscription.
Account creation date in ISO 8601 format.
Whether the user's tweets are protected (private).
Whether the user's content may be sensitive.
Whether this user follows the authenticated user.
Whether the authenticated user follows this user.
Whether the authenticated user can send a DM to this user.
Professional account type, if applicable.
IDs of the user's pinned tweets.

