Appearance
Profile
GET /v1/twitter/profile
Retrieves a Twitter user's profile by handle, including account metadata and statistics. Returns name, screen_name, description, followers_count, friends_count, statuses_count, favourites_count, location, profile_image_url_https, and is_blue_verified. Also includes verification_info, tipjar_settings, highlights_info, and creator_subscriptions_count.
Authentication
All requests require the x-api-key header. Get your key at scrapecreators.com.
Query Parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
handle | string | yes | Twitter handle | Austen |
Example Request
curl
bash
curl 'https://api.scrapecreators.com/v1/twitter/profile?handle=Austen' \
-H 'x-api-key: $SCRAPECREATORS_API_KEY'Node / TypeScript
js
const params = new URLSearchParams({ handle: 'Austen' });
const res = await fetch(`https://api.scrapecreators.com/v1/twitter/profile?${params}`, {
headers: { 'x-api-key': process.env.SCRAPECREATORS_API_KEY }
});
const data = await res.json();
console.log(data);Python
python
import os, requests
r = requests.get(
'https://api.scrapecreators.com/v1/twitter/profile',
headers={'x-api-key': os.environ['SCRAPECREATORS_API_KEY']},
params={'handle': 'Austen'},
)
r.raise_for_status()
print(r.json())CLI
bash
scrapecreators twitter profile --helpExample Response
json
{
"__typename": "User",
"id": "VXNlcjoyMjE4MzgzNDk=",
"rest_id": "221838349",
"affiliates_highlighted_label": {
"label": {
"url": {
"url": "https://twitter.com/bloomtech",
"urlType": "DeepLink"
},
"badge": {
"url": "https://pbs.twimg.com/profile_images/1542996246477938688/PR4UFtE6_bigger.jpg"
},
"description": "Bloom Institute of Technology",
"userLabelType": "BusinessLabel",
"userLabelDisplayType": "Badge"
}
},
"is_blue_verified": true,
"profile_image_shape": "Circle",
"legacy": {
"created_at": "Wed Dec 01 19:13:23 +0000 2010",
"default_profile": false,
"default_profile_image": false,
"description": "CEO https://t.co/m6TigM5azr & https://t.co/NuPTghEZ1I (part of @bloomtech). We help teams maximize productivity using AI. Will tweet as I wish and suffer the consequences.",
"entities": {
"description": {
"urls": [
{
"display_url": "GauntletAI.com",
"expanded_url": "http://GauntletAI.com",
"url": "https://t.co/m6TigM5azr",
"indices": [
4
]
}
]
},
"url": {
"urls": [
{
"display_url": "gauntletai.com",
"expanded_url": "http://gauntletai.com",
"url": "https://t.co/nCe0AdT8D4",
"indices": [
0
]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 80812,
"followers_count": 377608,
"friends_count": 1051,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 3959,
"location": "Austin, TX",
"media_count": 3843,
"name": "Austen Allred",
"normal_followers_count": 377608,
"pinned_tweet_ids_str": [
"1882816395400073367"
],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/221838349/1622098809",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1608281295918096385/D2kh-M28_normal.jpg",
"profile_interstitial_type": "",
"screen_name": "Austen",
"statuses_count": 46114,
"translator_type": "regular",
"url": "https://t.co/nCe0AdT8D4",
"verified": false,
"withheld_in_countries": []
},
"tipjar_settings": {
"is_enabled": false,
"bandcamp_handle": "",
"bitcoin_handle": "",
"cash_app_handle": "",
"ethereum_handle": "",
"gofundme_handle": "",
"patreon_handle": "",
"pay_pal_handle": "",
"venmo_handle": ""
},
"legacy_extended_profile": {},
"is_profile_translatable": false,
"has_hidden_subscriptions_on_profile": false,
"verification_info": {
"is_identity_verified": false,
"reason": {
"description": {
"text": "This account is verified because it's an affiliate of @bloomtech on X. Learn more",
"entities": [
{
"from_index": 54,
"to_index": 64,
... (truncated)Credits
Most ScrapeCreators endpoints consume 1 credit per successful response. Some heavier endpoints (transcripts, AI-driven enrichment, ad detail lookups) may cost more. Check GET /v1/credit-balance for your remaining balance.
Errors
| Status | Meaning | Action |
|---|---|---|
| 200 | Success. | Use the JSON payload. |
| 400 | Invalid or missing parameter. | Verify required parameters and value format. |
| 401 | Missing or invalid x-api-key. | Pass a valid API key in the header. |
| 402 | Out of credits. | Top up at scrapecreators.com or wait for plan reset. |
| 404 | Resource not found or private. | Confirm the handle, URL, or id and that the resource is public. |
| 429 | Rate limited. | Backoff and retry with exponential delay. |
| 500 | Server error or upstream platform failure. | Retry with backoff; report persistent errors to support. |