🐦 Twitter Social
This API provides real-time Twitter/X data — fetch tweets, users, replies, media, and trends with optional analytics and sentiment support.
Search & Discovery
Find Twitter users, hashtags, and tweet results in real time using the modern GraphQL endpoint.
GET /v1/search
requires authentication
Search for users, tweets, and topics.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/search'
params = {
'search': 'elonmusk',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/search';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'search' => 'elonmusk',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/search"
);
const params = {
"search": "elonmusk",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/search?search=elonmusk" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"query": "investing",
"product": "Top",
"next_cursor": "DAACCgACG6ZQgC9AJxAKAAMbplCALz_Y8AgABAAAAAILAAUAAADcRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJJYnBNR21PUmFnb0J1Z3pLdmFWbEE3RzZTMHFoMlh3TlFibTIza1BkZlIwaHVtUWZJSm03RTZHNTVXS2liV1VHVWJuZ0ZKRmhZeDh3ODhqMzZCbHJBQUc2SmlTc0NXWVpBYm9VZmVEaGZBZWdzZUhmc0oxRUFBRzVwR2xMZWE0RjRicE9yVUF0dFFjQnVpRDVvSzFyRUFHNkprVTduV1lIZ2JwZFFWb1pvaE1RdFdiek5MMWhBQUc2RHVTWkxYWURVPQgABgAAAAAIAAcAAAAADAAICgABCx4d-wnUQAAAAAA",
"count": 18
},
"body": [
{
"__typename": "Tweet",
"rest_id": "1990951529319219322",
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo2MTU1ODI4MQ==",
"rest_id": "61558281",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1758167079843172352/I87PB0PH_normal.jpg"
},
"core": {
"created_at": "Thu Jul 30 18:20:35 +0000 2009",
"name": "Brian Feroldi",
"screen_name": "BrianFeroldi"
},
"dm_permissions": {
"can_dm": true
},
"follow_request_sent": false,
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": true,
"default_profile_image": false,
"description": "🔎 I Teach Investors How To Analyze Businesses | Author & Financial Educator | 20+ Years Investing Experience | Free Investing eBook (Link) ⬇️",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "longtermmindset.co/investing",
"expanded_url": "https://longtermmindset.co/investing",
"url": "https://t.co/6rRnW1rwH7",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 30009,
"followers_count": 635641,
"friends_count": 507,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 12048,
"media_count": 7204,
"normal_followers_count": 635641,
"pinned_tweet_ids_str": [
"1817714336611144138"
],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/61558281/1744628915",
"profile_interstitial_type": "",
"statuses_count": 32974,
"translator_type": "none",
"url": "https://t.co/6rRnW1rwH7",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": "Free Investing 📗 ➜"
},
"media_permissions": {
"can_media_tag": false
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1615842396897525767",
"professional_type": "Creator",
"category": []
},
"profile_bio": {
"description": "🔎 I Teach Investors How To Analyze Businesses | Author & Financial Educator | 20+ Years Investing Experience | Free Investing eBook (Link) ⬇️"
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": {
"is_enabled": true,
"venmo_handle": "brian-feroldi"
},
"super_follow_eligible": true,
"verification": {
"verified": false
},
"profile_description_language": "en"
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1990951529319219322"
],
"editable_until_msecs": "1763518409000",
"is_edit_eligible": false,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"count": "63258",
"state": "EnabledWithCount"
},
"source": "\u003Ca href=\"https://hypefury.com\" rel=\"nofollow\"\u003EHypefury\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 666,
"bookmarked": false,
"created_at": "Wed Nov 19 01:13:29 +0000 2025",
"conversation_id_str": "1990951529319219322",
"display_text_range": [0, 24],
"entities": {
"hashtags": [],
"media": [
{ ... }
],
"symbols": [],
"timestamps": [],
"urls": [],
"user_mentions": []
},
"extended_entities": {
"media": [
{ ... }
]
},
"favorite_count": 790,
"favorited": false,
"full_text": "The Best Investing Tools https://t.co/aBS6yTmggF",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 3,
"reply_count": 15,
"retweet_count": 173,
"retweeted": false,
"user_id_str": "61558281",
"id_str": "1990951529319219322"
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/trends
requires authentication
Fetch trending topics for a specific location.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/trends'
params = {
'woeid': '1',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/trends';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'woeid' => '1',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/trends"
);
const params = {
"woeid": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/trends?woeid=1" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"woeid": 2459115
},
"body": [
{
"name": "Lisa",
"url": "http://twitter.com/search?q=Lisa",
"promoted_content": null,
"query": "Lisa",
"tweet_volume": 300324
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/tweet/info
requires authentication
Fetch detailed information for a single tweet.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/tweet/info'
params = {
'id': '1349129669258448897',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/tweet/info';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'id' => '1349129669258448897',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/tweet/info"
);
const params = {
"id": "1349129669258448897",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/tweet/info?id=1349129669258448897" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"tweet_id": "1349129669258448897",
"reply_count": 35
},
"body": {
"tweet": {
"__typename": "Tweet",
"rest_id": "1349129669258448897",
"post_image_description": "The image features an anime character with short purple hair and a flower accessory, smiling and pointing directly at the viewer. The text overlay reads, \"HEY YOU, YEAH YOU KING, YOU'RE GONNA MAKE IT\". This image is part of a social media post by Elon Musk, where he originally posted \"Hey you … Yeah you Queen … You’re gonna make it! 💕💕\". The context suggests a motivational message aimed at encouraging the viewer, with the character's direct gaze and pointing gesture emphasizing personal address. The change from \"Queen\" to \"KING\" in the image text adds a personalized touch to the encouragement.",
"has_birdwatch_notes": true,
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo0NDE5NjM5Nw==",
"rest_id": "44196397",
"affiliates_highlighted_label": {
"label": {
"url": {
"url": "https://twitter.com/X",
"urlType": "DeepLink"
},
"badge": {
"url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg"
},
"description": "X",
"userLabelType": "BusinessLabel",
"userLabelDisplayType": "Badge"
}
},
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1936002956333080576/kqqe2iWO_normal.jpg"
},
"core": {
"created_at": "Tue Jun 02 20:12:29 +0000 2009",
"name": "Elon Musk",
"screen_name": "elonmusk"
},
"dm_permissions": {
"can_dm": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "",
"entities": {
"description": {
"urls": []
}
},
"fast_followers_count": 0,
"favourites_count": 177559,
"followers_count": 227798897,
"friends_count": 1219,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 164661,
"media_count": 4179,
"normal_followers_count": 227798897,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1739948056",
"profile_interstitial_type": "",
"statuses_count": 87623,
"translator_type": "none",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": false
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1679729435447275522",
"professional_type": "Creator",
"category": []
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": {
"is_enabled": false
},
"super_follow_eligible": true,
"verification": {
"verified": false
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1349129669258448897"
],
"editable_until_msecs": "1610494353425",
"is_edit_eligible": true,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"state": "Enabled"
},
"source": "\u003Ca href=\"http://twitter.com/download/iphone\" rel=\"nofollow\"\u003ETwitter for iPhone\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 6458,
"bookmarked": false,
"created_at": "Tue Jan 12 23:02:33 +0000 2021",
"conversation_id_str": "1349129669258448897",
"display_text_range": [0, 51],
"entities": {
"hashtags": [],
"media": [
{
"display_url": "pic.x.com/LrqdIrbIyd",
"expanded_url": "https://x.com/elonmusk/status/1349129669258448897/photo/1",
"id_str": "1349129665299013635",
"indices": [52, 75],
"media_key": "3_1349129665299013635",
"media_url_https": "https://pbs.twimg.com/media/ErkSSFgW4AMKude.jpg",
"type": "photo",
"url": "https://t.co/LrqdIrbIyd",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": []
},
"medium": {
"faces": []
},
"small": {
"faces": []
},
"orig": {
"faces": []
}
},
"sizes": {
"large": {
"h": 900,
"w": 960,
"resize": "fit"
},
"medium": {
"h": 900,
"w": 960,
"resize": "fit"
},
"small": {
"h": 638,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 900,
"width": 960,
"focus_rects": [
{
"x": 0,
"y": 0,
"w": 960,
"h": 538
},
{
"x": 60,
"y": 0,
"w": 900,
"h": 900
},
{
"x": 171,
"y": 0,
"w": 789,
"h": 900
},
{
"x": 423,
"y": 0,
"w": 450,
"h": 900
},
{
"x": 0,
"y": 0,
"w": 960,
"h": 900
}
]
},
"media_results": {
"result": {
"media_key": "3_1349129665299013635"
}
}
}
],
"symbols": [],
"timestamps": [],
"urls": [],
"user_mentions": []
},
"extended_entities": {
"media": [
{
"display_url": "pic.x.com/LrqdIrbIyd",
"expanded_url": "https://x.com/elonmusk/status/1349129669258448897/photo/1",
"id_str": "1349129665299013635",
"indices": [52, 75],
"media_key": "3_1349129665299013635",
"media_url_https": "https://pbs.twimg.com/media/ErkSSFgW4AMKude.jpg",
"type": "photo",
"url": "https://t.co/LrqdIrbIyd",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": []
},
"medium": {
"faces": []
},
"small": {
"faces": []
},
"orig": {
"faces": []
}
},
"sizes": {
"large": {
"h": 900,
"w": 960,
"resize": "fit"
},
"medium": {
"h": 900,
"w": 960,
"resize": "fit"
},
"small": {
"h": 638,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 900,
"width": 960,
"focus_rects": [
{
"x": 0,
"y": 0,
"w": 960,
"h": 538
},
{
"x": 60,
"y": 0,
"w": 900,
"h": 900
},
{
"x": 171,
"y": 0,
"w": 789,
"h": 900
},
{
"x": 423,
"y": 0,
"w": 450,
"h": 900
},
{
"x": 0,
"y": 0,
"w": 960,
"h": 900
}
]
},
"media_results": {
"result": {
"media_key": "3_1349129665299013635"
}
}
}
]
},
"favorite_count": 522731,
"favorited": false,
"full_text": "Hey you …\nYeah you Queen …\nYou’re gonna make it! 💕💕 https://t.co/LrqdIrbIyd",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 13379,
"reply_count": 12932,
"retweet_count": 97424,
"retweeted": false,
"user_id_str": "44196397",
"id_str": "1349129669258448897"
},
"quick_promote_eligibility": {
"eligibility": "IneligibleNotProfessional"
}
},
"replies": [
{
"__typename": "Tweet",
"rest_id": "1349129814628773888",
"has_birdwatch_notes": false,
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo5NTQzMTMwODY3ODUyMTI0MTY=",
"rest_id": "954313086785212416",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/993507603333427201/ATj7pBa4_normal.jpg"
},
"core": {
"created_at": "Fri Jan 19 11:22:24 +0000 2018",
"name": "Lyubomir Vladimirov",
"screen_name": "lvladimirovBG"
},
"dm_permissions": {
"can_dm": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": true,
"default_profile_image": false,
"description": "Currently developing an awesome game about colonizing Mars.",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "marsisflat.space",
"expanded_url": "https://marsisflat.space/",
"url": "https://t.co/k150iACtHg",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 2649,
"followers_count": 11783,
"friends_count": 10,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 17,
"media_count": 407,
"normal_followers_count": 11783,
"pinned_tweet_ids_str": [
"1349358903725850625"
],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/954313086785212416/1607242546",
"profile_interstitial_type": "",
"statuses_count": 1768,
"translator_type": "none",
"url": "https://t.co/k150iACtHg",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": "Bulgaria"
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1349129814628773888"
],
"editable_until_msecs": "1610494388084",
"is_edit_eligible": true,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"state": "Enabled"
},
"source": "\u003Ca href=\"http://twitter.com/download/android\" rel=\"nofollow\"\u003ETwitter for Android\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 106,
"bookmarked": false,
"created_at": "Tue Jan 12 23:03:08 +0000 2021",
"conversation_id_str": "1349129669258448897",
"display_text_range": [10, 270],
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [],
"user_mentions": [
{
"id_str": "44196397",
"name": "Elon Musk",
"screen_name": "elonmusk",
"indices": [0, 9]
}
]
},
"favorite_count": 22394,
"favorited": false,
"full_text": "@elonmusk Dear Elon,\nI'm a game dev. and I am making a game about colonizing Mars with you and SpaceX in it. If you think it's cool, all I need is the \"Go ahead\" to use your name and Logos.\n\nI will post this every day for a year or until I get a Yes or a No! \n154 / 365",
"in_reply_to_screen_name": "elonmusk",
"in_reply_to_status_id_str": "1349129669258448897",
"in_reply_to_user_id_str": "44196397",
"is_quote_status": false,
"lang": "en",
"quote_count": 97,
"reply_count": 463,
"retweet_count": 605,
"retweeted": false,
"user_id_str": "954313086785212416",
"id_str": "1349129814628773888"
},
"quick_promote_eligibility": {
"eligibility": "IneligibleNotProfessional"
}
},
{ ... }
]
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/woeid
requires authentication
Fetch full global WOEID data.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/woeid'
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/woeid';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/woeid"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/woeid" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com"
},
"body": [
{
"name": "Worldwide",
"placeType": {
"code": 19,
"name": "Supername"
},
"url": "http://where.yahooapis.com/v1/place/1",
"parentid": 0,
"country": "",
"woeid": 1,
"countryCode": null
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User
Get public data about a Twitter user by username or ID.
GET /v1/user
requires authentication
Retrieve detailed user profile information.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/user'
params = {
'username': 'elonmusk',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/user';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'username' => 'elonmusk',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/user"
);
const params = {
"username": "elonmusk",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/user?username=elonmusk" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com"
},
"body": {
"__typename": "User",
"id": "VXNlcjo0NDE5NjM5Nw==",
"rest_id": "44196397",
"affiliates_highlighted_label": {
...
},
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1936002956333080576/kqqe2iWO_normal.jpg"
},
"core": {
"created_at": "Tue Jun 02 20:12:29 +0000 2009",
"name": "Elon Musk",
"screen_name": "elonmusk"
},
"dm_permissions": {
"can_dm": false,
"can_dm_on_xchat": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "",
"entities": {
...
},
"fast_followers_count": 0,
"favourites_count": 177183,
"followers_count": 227669486,
"friends_count": 1220,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 164595,
"media_count": 4175,
"normal_followers_count": 227669486,
"pinned_tweet_ids_str": [
"1977281341264740625"
],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1739948056",
"profile_interstitial_type": "",
"statuses_count": 87500,
"translator_type": "none",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": false
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1679729435447275522",
"professional_type": "Creator",
"category": []
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": {
"is_enabled": false
},
"super_follow_eligible": true,
"verification": {
"verified": false
},
"legacy_extended_profile": [],
"is_profile_translatable": false,
"verification_info": {
"is_identity_verified": false,
"reason": {
...
}
},
"highlights_info": {
"can_highlight_tweets": true,
"highlighted_tweets": "768"
},
"user_seed_tweet_count": 0,
"premium_gifting_eligible": false,
"business_account": [],
"creator_subscriptions_count": 225
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/user/followers
requires authentication
Fetch a paginated list of followers for a given user.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/user/followers'
params = {
'username': 'elonmusk',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/user/followers';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'username' => 'elonmusk',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/user/followers"
);
const params = {
"username": "elonmusk",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/user/followers?username=elonmusk" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com"
},
"body": {
"__typename": "User",
"id": "VXNlcjo0NDE5NjM5Nw==",
"rest_id": "44196397",
"affiliates_highlighted_label": {
...
},
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1936002956333080576/kqqe2iWO_normal.jpg"
},
"core": {
"created_at": "Tue Jun 02 20:12:29 +0000 2009",
"name": "Elon Musk",
"screen_name": "elonmusk"
},
"dm_permissions": {
"can_dm": false,
"can_dm_on_xchat": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "",
"entities": {
...
},
"fast_followers_count": 0,
"favourites_count": 177183,
"followers_count": 227669486,
"friends_count": 1220,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 164595,
"media_count": 4175,
"normal_followers_count": 227669486,
"pinned_tweet_ids_str": [
"1977281341264740625"
],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1739948056",
"profile_interstitial_type": "",
"statuses_count": 87500,
"translator_type": "none",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": false
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1679729435447275522",
"professional_type": "Creator",
"category": []
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": {
"is_enabled": false
},
"super_follow_eligible": true,
"verification": {
"verified": false
},
"legacy_extended_profile": [],
"is_profile_translatable": false,
"verification_info": {
"is_identity_verified": false,
"reason": {
...
}
},
"highlights_info": {
"can_highlight_tweets": true,
"highlighted_tweets": "768"
},
"user_seed_tweet_count": 0,
"premium_gifting_eligible": false,
"business_account": [],
"creator_subscriptions_count": 225
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/user/following
requires authentication
Fetch the accounts that a user follows.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/user/following'
params = {
'username': 'elonmusk',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/user/following';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'username' => 'elonmusk',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/user/following"
);
const params = {
"username": "elonmusk",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/user/following?username=elonmusk" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"username": "elonmusk",
"next_cursor": "1843034842390672961"
},
"body": [
{
"id": 1.238139979575984e+18,
"id_str": "1238139979575984130",
"name": "Marc Ganzi",
"screen_name": "MarcGanzi",
"location": "",
"description": "CEO of DigitalBridge. All views expressed here are my own.",
"url": null,
"entities": {
"description": {
"urls": []
}
},
"protected": false,
"followers_count": 534,
"fast_followers_count": 0,
"normal_followers_count": 534,
"friends_count": 3,
"listed_count": 13,
"created_at": "Thu Mar 12 16:29:16 +0000 2020",
"favourites_count": 1,
"utc_offset": null,
"time_zone": null,
"geo_enabled": false,
"verified": false,
"statuses_count": 0,
"media_count": 0,
"lang": null,
"contributors_enabled": false,
"is_translator": false,
"is_translation_enabled": false,
"profile_background_color": "F5F8FA",
"profile_background_image_url": null,
"profile_background_image_url_https": null,
"profile_background_tile": false,
"profile_image_url": "http://pbs.twimg.com/profile_images/1977800360988405763/dk3cul9b_normal.jpg",
"profile_image_url_https": "https://pbs.twimg.com/profile_images/1977800360988405763/dk3cul9b_normal.jpg",
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1238139979575984130/1584030615",
"profile_link_color": "1DA1F2",
"profile_sidebar_border_color": "C0DEED",
"profile_sidebar_fill_color": "DDEEF6",
"profile_text_color": "333333",
"profile_use_background_image": true,
"has_extended_profile": true,
"default_profile": true,
"default_profile_image": false,
"pinned_tweet_ids": [],
"pinned_tweet_ids_str": [],
"has_custom_timelines": false,
"can_media_tag": true,
"followed_by": false,
"following": false,
"live_following": false,
"follow_request_sent": false,
"notifications": false,
"muting": false,
"blocking": false,
"blocked_by": false,
"advertiser_account_type": "none",
"advertiser_account_service_levels": [],
"business_profile_state": "none",
"translator_type": "none",
"withheld_in_countries": [],
"require_some_consent": false
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/user/tweets
requires authentication
Fetch a user's tweets.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/user/tweets'
params = {
'user_id': '44196397',
'count': '20',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/user/tweets';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'user_id' => '44196397',
'count' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/user/tweets"
);
const params = {
"user_id": "44196397",
"count": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/user/tweets?user_id=44196397&count=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"user_id": "14631115",
"next_cursor": "DAAHCgABG3WhvDP__-kLAAIAAAATMTk1MDYwMzMzNTYyODYxOTkyNwgAAwAAAAIAAA"
},
"body": [
{
"__typename": "Tweet",
"rest_id": "1977834593601335769",
"post_image_description": "Two men pose side by side on a bed one with curly brown hair wearing a plaid shirt and white undershirt the other with silver hair wearing a colorful striped sweater both with neutral to surprised expressions against a dark background with pillows in blue gray and yellow",
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjoxNDYzMTExNQ==",
"rest_id": "14631115",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1926720585544974336/DUQxWRWC_normal.jpg"
},
"core": {
"created_at": "Fri May 02 21:07:29 +0000 2008",
"name": "Phil Lester",
"screen_name": "AmazingPhil"
},
"dm_permissions": {
"can_dm": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "terrible influence",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "youtube.com/@danandphil",
"expanded_url": "http://youtube.com/@danandphil",
"url": "https://t.co/4sYG0x1IFb",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 5991,
"followers_count": 6578773,
"friends_count": 341,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 5716,
"media_count": 2687,
"normal_followers_count": 6578773,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/14631115/1748200960",
"profile_interstitial_type": "",
"statuses_count": 39700,
"translator_type": "none",
"url": "https://t.co/4sYG0x1IFb",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1557742339095142400",
"professional_type": "Creator",
"category": [
{
"id": 30,
"name": "Circus",
"icon_name": "IconBriefcaseStroke"
}
]
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1977834593601335769"
],
"editable_until_msecs": "1760391088161",
"is_edit_eligible": false,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"count": "3",
"state": "EnabledWithCount"
},
"source": "\u003Ca href=\"https://mobile.twitter.com\" rel=\"nofollow\"\u003ETwitter Web App\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 0,
"bookmarked": false,
"created_at": "Mon Oct 13 20:31:28 +0000 2025",
"conversation_id_str": "1977834593601335769",
"display_text_range": [0, 140],
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "t.co/co4",
"url": "https://t.co/co4",
"indices": [123, 139]
}
],
"user_mentions": [
{
"id_str": "40059553",
"name": "Daniel Howell",
"screen_name": "danielhowell",
"indices": [3, 16]
}
]
},
"favorite_count": 0,
"favorited": false,
"full_text": "RT @danielhowell: IS PHAN REAL? one of the biggest conspiracies in the history of the internet - we're gonna talk about it https://t.co/co4…",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 0,
"reply_count": 0,
"retweet_count": 8042,
"retweeted": false,
"user_id_str": "14631115",
"id_str": "1977834593601335769",
"retweeted_status_result": {
"result": {
"__typename": "Tweet",
"rest_id": "1977830021990592882",
"post_image_description": "Two men pose side by side on a bed one with curly brown hair wearing a plaid shirt and white undershirt the other with silver hair wearing a colorful striped sweater both with neutral to surprised expressions against a dark background with pillows in blue gray and yellow",
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo0MDA1OTU1Mw==",
"rest_id": "40059553",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1926704050659061760/i8HoFBtP_normal.jpg"
},
"core": {
"created_at": "Thu May 14 18:55:05 +0000 2009",
"name": "Daniel Howell",
"screen_name": "danielhowell"
},
"dm_permissions": {
"can_dm": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "my life is a joke",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "youtube.com/@danandphil",
"expanded_url": "http://youtube.com/@danandphil",
"url": "https://t.co/XdSUtmziCX",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 5672,
"followers_count": 7325341,
"friends_count": 846,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 6472,
"media_count": 1142,
"normal_followers_count": 7325341,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/40059553/1748196872",
"profile_interstitial_type": "",
"statuses_count": 20707,
"translator_type": "none",
"url": "https://t.co/XdSUtmziCX",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1571090023876804608",
"professional_type": "Creator",
"category": [
{
"id": 935,
"name": "Comedian",
"icon_name": "IconBriefcaseStroke"
}
]
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1977830021990592882"
],
"editable_until_msecs": "1760389998000",
"is_edit_eligible": true,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"count": "9717344",
"state": "EnabledWithCount"
},
"source": "\u003Ca href=\"https://mobile.twitter.com\" rel=\"nofollow\"\u003ETwitter Web App\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 4783,
"bookmarked": false,
"created_at": "Mon Oct 13 20:13:18 +0000 2025",
"conversation_id_str": "1977830021990592882",
"display_text_range": [0, 128],
"entities": {
"hashtags": [],
"media": [
{
"display_url": "pic.x.com/WIuLvofrdB",
"expanded_url": "https://x.com/danielhowell/status/1977830021990592882/photo/1",
"id_str": "1977821878380109824",
"indices": [129, 152],
"media_key": "3_1977821878380109824",
"media_url_https": "https://pbs.twimg.com/media/G3KihPnXoAAprz7.jpg",
"type": "photo",
"url": "https://t.co/WIuLvofrdB",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
},
"medium": {
"faces": [
{
"x": 312,
"y": 170,
"h": 297,
"w": 297
},
{
"x": 571,
"y": 123,
"h": 319,
"w": 319
}
]
},
"small": {
"faces": [
{
"x": 176,
"y": 96,
"h": 168,
"w": 168
},
{
"x": 324,
"y": 70,
"h": 181,
"w": 181
}
]
},
"orig": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
}
},
"sizes": {
"large": {
"h": 720,
"w": 1280,
"resize": "fit"
},
"medium": {
"h": 675,
"w": 1200,
"resize": "fit"
},
"small": {
"h": 383,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 720,
"width": 1280,
"focus_rects": [
{
"x": 0,
"y": 0,
"w": 1280,
"h": 717
},
{
"x": 440,
"y": 0,
"w": 720,
"h": 720
},
{
"x": 484,
"y": 0,
"w": 632,
"h": 720
},
{
"x": 620,
"y": 0,
"w": 360,
"h": 720
},
{
"x": 0,
"y": 0,
"w": 1280,
"h": 720
}
]
},
"allow_download_status": {
"allow_download": true
},
"media_results": {
"result": {
"media_key": "3_1977821878380109824"
}
}
}
],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "youtu.be/Cxe_YMJ4nUs",
"expanded_url": "https://youtu.be/Cxe_YMJ4nUs",
"url": "https://t.co/co4EINP3oM",
"indices": [105, 128]
}
],
"user_mentions": []
},
"extended_entities": {
"media": [
{
"display_url": "pic.x.com/WIuLvofrdB",
"expanded_url": "https://x.com/danielhowell/status/1977830021990592882/photo/1",
"id_str": "1977821878380109824",
"indices": [129, 152],
"media_key": "3_1977821878380109824",
"media_url_https": "https://pbs.twimg.com/media/G3KihPnXoAAprz7.jpg",
"type": "photo",
"url": "https://t.co/WIuLvofrdB",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
},
"medium": {
"faces": [
{
"x": 312,
"y": 170,
"h": 297,
"w": 297
},
{
"x": 571,
"y": 123,
"h": 319,
"w": 319
}
]
},
"small": {
"faces": [
{
"x": 176,
"y": 96,
"h": 168,
"w": 168
},
{
"x": 324,
"y": 70,
"h": 181,
"w": 181
}
]
},
"orig": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
}
},
"sizes": {
"large": {
"h": 720,
"w": 1280,
"resize": "fit"
},
"medium": {
"h": 675,
"w": 1200,
"resize": "fit"
},
"small": {
"h": 383,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 720,
"width": 1280,
"focus_rects": [
{
"x": 0,
"y": 0,
"w": 1280,
"h": 717
},
{
"x": 440,
"y": 0,
"w": 720,
"h": 720
},
{
"x": 484,
"y": 0,
"w": 632,
"h": 720
},
{
"x": 620,
"y": 0,
"w": 360,
"h": 720
},
{
"x": 0,
"y": 0,
"w": 1280,
"h": 720
}
]
},
"allow_download_status": {
"allow_download": true
},
"media_results": {
"result": {
"media_key": "3_1977821878380109824"
}
}
}
]
},
"favorite_count": 73583,
"favorited": false,
"full_text": "IS PHAN REAL? one of the biggest conspiracies in the history of the internet - we're gonna talk about it https://t.co/co4EINP3oM https://t.co/WIuLvofrdB",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 11181,
"reply_count": 2420,
"retweet_count": 8042,
"retweeted": false,
"user_id_str": "40059553",
"id_str": "1977830021990592882"
}
}
}
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/user/replies
requires authentication
Fetch a user's tweets and replies.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/user/replies'
params = {
'user_id': '44196397',
'count': '20',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/user/replies';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'user_id' => '44196397',
'count' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/user/replies"
);
const params = {
"user_id": "44196397",
"count": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/user/replies?user_id=44196397&count=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"user_id": "14631115",
"cursor": "DAAHCgABG3WeFdL__-sLAAIAAAATMTk2NjQ2OTgwNjU4NjAwNzg2NwgAAwAAAAIAAA"
},
"body": [
{
"__typename": "Tweet",
"rest_id": "1977834593601335769",
"post_image_description": "Two men pose side by side on a bed one with curly brown hair wearing a plaid shirt and white undershirt the other with silver hair wearing a colorful striped sweater both with neutral to surprised expressions against a dark background with pillows in blue gray and yellow",
"has_birdwatch_notes": false,
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjoxNDYzMTExNQ==",
"rest_id": "14631115",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1926720585544974336/DUQxWRWC_normal.jpg"
},
"core": {
"created_at": "Fri May 02 21:07:29 +0000 2008",
"name": "Phil Lester",
"screen_name": "AmazingPhil"
},
"dm_permissions": {
"can_dm": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "terrible influence",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "youtube.com/@danandphil",
"expanded_url": "http://youtube.com/@danandphil",
"url": "https://t.co/4sYG0x1IFb",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 5991,
"followers_count": 6578736,
"friends_count": 341,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 5716,
"media_count": 2687,
"normal_followers_count": 6578736,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/14631115/1748200960",
"profile_interstitial_type": "",
"statuses_count": 39700,
"translator_type": "none",
"url": "https://t.co/4sYG0x1IFb",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1557742339095142400",
"professional_type": "Creator",
"category": [
{
"id": 30,
"name": "Circus",
"icon_name": "IconBriefcaseStroke"
}
]
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1977834593601335769"
],
"editable_until_msecs": "1760391088161",
"is_edit_eligible": false,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"count": "3",
"state": "EnabledWithCount"
},
"source": "\u003Ca href=\"https://mobile.twitter.com\" rel=\"nofollow\"\u003ETwitter Web App\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 0,
"bookmarked": false,
"created_at": "Mon Oct 13 20:31:28 +0000 2025",
"conversation_id_str": "1977834593601335769",
"display_text_range": [0, 140],
"entities": {
"hashtags": [],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "t.co/co4",
"url": "https://t.co/co4",
"indices": [123, 139]
}
],
"user_mentions": [
{
"id_str": "40059553",
"name": "Daniel Howell",
"screen_name": "danielhowell",
"indices": [3, 16]
}
]
},
"favorite_count": 0,
"favorited": false,
"full_text": "RT @danielhowell: IS PHAN REAL? one of the biggest conspiracies in the history of the internet - we're gonna talk about it https://t.co/co4…",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 0,
"reply_count": 0,
"retweet_count": 8041,
"retweeted": false,
"user_id_str": "14631115",
"id_str": "1977834593601335769",
"retweeted_status_result": {
"result": {
"__typename": "Tweet",
"rest_id": "1977830021990592882",
"post_image_description": "Two men pose side by side on a bed one with curly brown hair wearing a plaid shirt and white undershirt the other with silver hair wearing a colorful striped sweater both with neutral to surprised expressions against a dark background with pillows in blue gray and yellow",
"has_birdwatch_notes": false,
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo0MDA1OTU1Mw==",
"rest_id": "40059553",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1926704050659061760/i8HoFBtP_normal.jpg"
},
"core": {
"created_at": "Thu May 14 18:55:05 +0000 2009",
"name": "Daniel Howell",
"screen_name": "danielhowell"
},
"dm_permissions": {
"can_dm": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "my life is a joke",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "youtube.com/@danandphil",
"expanded_url": "http://youtube.com/@danandphil",
"url": "https://t.co/XdSUtmziCX",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 5672,
"followers_count": 7325298,
"friends_count": 846,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 6472,
"media_count": 1142,
"normal_followers_count": 7325298,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/40059553/1748196872",
"profile_interstitial_type": "",
"statuses_count": 20707,
"translator_type": "none",
"url": "https://t.co/XdSUtmziCX",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1571090023876804608",
"professional_type": "Creator",
"category": [
{
"id": 935,
"name": "Comedian",
"icon_name": "IconBriefcaseStroke"
}
]
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1977830021990592882"
],
"editable_until_msecs": "1760389998000",
"is_edit_eligible": true,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"count": "9712829",
"state": "EnabledWithCount"
},
"source": "\u003Ca href=\"https://mobile.twitter.com\" rel=\"nofollow\"\u003ETwitter Web App\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 4780,
"bookmarked": false,
"created_at": "Mon Oct 13 20:13:18 +0000 2025",
"conversation_id_str": "1977830021990592882",
"display_text_range": [0, 128],
"entities": {
"hashtags": [],
"media": [
{
"display_url": "pic.x.com/WIuLvofrdB",
"expanded_url": "https://x.com/danielhowell/status/1977830021990592882/photo/1",
"id_str": "1977821878380109824",
"indices": [129, 152],
"media_key": "3_1977821878380109824",
"media_url_https": "https://pbs.twimg.com/media/G3KihPnXoAAprz7.jpg",
"type": "photo",
"url": "https://t.co/WIuLvofrdB",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
},
"medium": {
"faces": [
{
"x": 312,
"y": 170,
"h": 297,
"w": 297
},
{
"x": 571,
"y": 123,
"h": 319,
"w": 319
}
]
},
"small": {
"faces": [
{
"x": 176,
"y": 96,
"h": 168,
"w": 168
},
{
"x": 324,
"y": 70,
"h": 181,
"w": 181
}
]
},
"orig": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
}
},
"sizes": {
"large": {
"h": 720,
"w": 1280,
"resize": "fit"
},
"medium": {
"h": 675,
"w": 1200,
"resize": "fit"
},
"small": {
"h": 383,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 720,
"width": 1280,
"focus_rects": [
{
"x": 0,
"y": 0,
"w": 1280,
"h": 717
},
{
"x": 440,
"y": 0,
"w": 720,
"h": 720
},
{
"x": 484,
"y": 0,
"w": 632,
"h": 720
},
{
"x": 620,
"y": 0,
"w": 360,
"h": 720
},
{
"x": 0,
"y": 0,
"w": 1280,
"h": 720
}
]
},
"allow_download_status": {
"allow_download": true
},
"media_results": {
"result": {
"media_key": "3_1977821878380109824"
}
}
}
],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "youtu.be/Cxe_YMJ4nUs",
"expanded_url": "https://youtu.be/Cxe_YMJ4nUs",
"url": "https://t.co/co4EINP3oM",
"indices": [105, 128]
}
],
"user_mentions": []
},
"extended_entities": {
"media": [
{
"display_url": "pic.x.com/WIuLvofrdB",
"expanded_url": "https://x.com/danielhowell/status/1977830021990592882/photo/1",
"id_str": "1977821878380109824",
"indices": [129, 152],
"media_key": "3_1977821878380109824",
"media_url_https": "https://pbs.twimg.com/media/G3KihPnXoAAprz7.jpg",
"type": "photo",
"url": "https://t.co/WIuLvofrdB",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
},
"medium": {
"faces": [
{
"x": 312,
"y": 170,
"h": 297,
"w": 297
},
{
"x": 571,
"y": 123,
"h": 319,
"w": 319
}
]
},
"small": {
"faces": [
{
"x": 176,
"y": 96,
"h": 168,
"w": 168
},
{
"x": 324,
"y": 70,
"h": 181,
"w": 181
}
]
},
"orig": {
"faces": [
{
"x": 333,
"y": 182,
"h": 317,
"w": 317
},
{
"x": 610,
"y": 132,
"h": 341,
"w": 341
}
]
}
},
"sizes": {
"large": {
"h": 720,
"w": 1280,
"resize": "fit"
},
"medium": {
"h": 675,
"w": 1200,
"resize": "fit"
},
"small": {
"h": 383,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 720,
"width": 1280,
"focus_rects": [
{
"x": 0,
"y": 0,
"w": 1280,
"h": 717
},
{
"x": 440,
"y": 0,
"w": 720,
"h": 720
},
{
"x": 484,
"y": 0,
"w": 632,
"h": 720
},
{
"x": 620,
"y": 0,
"w": 360,
"h": 720
},
{
"x": 0,
"y": 0,
"w": 1280,
"h": 720
}
]
},
"allow_download_status": {
"allow_download": true
},
"media_results": {
"result": {
"media_key": "3_1977821878380109824"
}
}
}
]
},
"favorite_count": 73556,
"favorited": false,
"full_text": "IS PHAN REAL? one of the biggest conspiracies in the history of the internet - we're gonna talk about it https://t.co/co4EINP3oM https://t.co/WIuLvofrdB",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 11182,
"reply_count": 2420,
"retweet_count": 8041,
"retweeted": false,
"user_id_str": "40059553",
"id_str": "1977830021990592882"
}
}
}
},
"quick_promote_eligibility": {
"eligibility": "IneligibleNotProfessional"
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/user/highlights
requires authentication
Fetch user highlight tweets.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/user/highlights'
params = {
'user_id': '44196397',
'count': '20',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/user/highlights';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'user_id' => '44196397',
'count' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/user/highlights"
);
const params = {
"user_id": "44196397",
"count": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/user/highlights?user_id=44196397&count=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"user_id": "877807935493033984",
"cursor": "DAAHCgABG3LkkNS__-wLAAIAAAATMTg0Mzk3MzExMjExNjY5ODIzOAgAAwAAAAIAAA"
},
"body": [
{
"__typename": "Tweet",
"rest_id": "1977441317836792102",
"post_image_description": "Black background with yellow Binance logo featuring a diamond shape in the center and the word ANNOUNCEMENT in large white capital letters below it.",
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo4Nzc4MDc5MzU0OTMwMzM5ODQ=",
"rest_id": "877807935493033984",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1940131561103347712/f5y2qENu_normal.jpg"
},
"core": {
"created_at": "Thu Jun 22 08:38:15 +0000 2017",
"name": "Binance",
"screen_name": "binance"
},
"dm_permissions": {
"can_dm": false,
"can_dm_on_xchat": false
},
"has_graduated_access": true,
"is_blue_verified": false,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "The world’s leading blockchain ecosystem and digital asset exchange | #Binance #BNB | Support: @BinanceHelpDesk | Posts are not directed towards UK users.",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "bit.ly/BinanceCryptoA…",
"expanded_url": "http://bit.ly/BinanceCryptoApp",
"url": "https://t.co/1not5QbiqF",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 7133,
"followers_count": 14888052,
"friends_count": 576,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 34743,
"media_count": 15632,
"normal_followers_count": 14888052,
"pinned_tweet_ids_str": [
"1977441317836792102"
],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/877807935493033984/1759482578",
"profile_interstitial_type": "",
"statuses_count": 40272,
"translator_type": "none",
"url": "https://t.co/1not5QbiqF",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Square",
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false,
"verified_type": "Business"
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1977441317836792102"
],
"editable_until_msecs": "1760297323000",
"is_edit_eligible": true,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"count": "1279517",
"state": "EnabledWithCount"
},
"source": "\u003Ca href=\"https://mobile.twitter.com\" rel=\"nofollow\"\u003ETwitter Web App\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": false,
"legacy": {
"bookmark_count": 222,
"bookmarked": false,
"created_at": "Sun Oct 12 18:28:43 +0000 2025",
"conversation_id_str": "1977441317836792102",
"display_text_range": [0, 128],
"entities": {
"hashtags": [],
"media": [
{
"display_url": "pic.x.com/n5El9zvr3e",
"expanded_url": "https://x.com/binance/status/1977441317836792102/photo/1",
"id_str": "1977440632466513920",
"indices": [129, 152],
"media_key": "3_1977440632466513920",
"media_url_https": "https://pbs.twimg.com/media/G3FHxz6XIAAHqMV.jpg",
"type": "photo",
"url": "https://t.co/n5El9zvr3e",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": []
},
"medium": {
"faces": []
},
"small": {
"faces": []
},
"orig": {
"faces": []
}
},
"sizes": {
"large": {
"h": 1080,
"w": 1080,
"resize": "fit"
},
"medium": {
"h": 1080,
"w": 1080,
"resize": "fit"
},
"small": {
"h": 680,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 1080,
"width": 1080,
"focus_rects": [
{
"x": 0,
"y": 319,
"w": 1080,
"h": 605
},
{
"x": 0,
"y": 0,
"w": 1080,
"h": 1080
},
{
"x": 67,
"y": 0,
"w": 947,
"h": 1080
},
{
"x": 270,
"y": 0,
"w": 540,
"h": 1080
},
{
"x": 0,
"y": 0,
"w": 1080,
"h": 1080
}
]
},
"media_results": {
"result": {
"media_key": "3_1977440632466513920"
}
}
}
],
"symbols": [],
"timestamps": [],
"urls": [
{
"display_url": "binance.com/en/support/ann…",
"expanded_url": "https://www.binance.com/en/support/announcement/detail/d9cb0d52d7c142a5be4f49732bd8760c",
"url": "https://t.co/0BdimwS53G",
"indices": [105, 128]
}
],
"user_mentions": []
},
"extended_entities": {
"media": [
{
"display_url": "pic.x.com/n5El9zvr3e",
"expanded_url": "https://x.com/binance/status/1977441317836792102/photo/1",
"id_str": "1977440632466513920",
"indices": [129, 152],
"media_key": "3_1977440632466513920",
"media_url_https": "https://pbs.twimg.com/media/G3FHxz6XIAAHqMV.jpg",
"type": "photo",
"url": "https://t.co/n5El9zvr3e",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": []
},
"medium": {
"faces": []
},
"small": {
"faces": []
},
"orig": {
"faces": []
}
},
"sizes": {
"large": {
"h": 1080,
"w": 1080,
"resize": "fit"
},
"medium": {
"h": 1080,
"w": 1080,
"resize": "fit"
},
"small": {
"h": 680,
"w": 680,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 1080,
"width": 1080,
"focus_rects": [
{
"x": 0,
"y": 319,
"w": 1080,
"h": 605
},
{
"x": 0,
"y": 0,
"w": 1080,
"h": 1080
},
{
"x": 67,
"y": 0,
"w": 947,
"h": 1080
},
{
"x": 270,
"y": 0,
"w": 540,
"h": 1080
},
{
"x": 0,
"y": 0,
"w": 1080,
"h": 1080
}
]
},
"media_results": {
"result": {
"media_key": "3_1977440632466513920"
}
}
}
]
},
"favorite_count": 2612,
"favorited": false,
"full_text": "Statement on recent market volatility and the latest progress update on our user protection measures.\n\n👉 https://t.co/0BdimwS53G https://t.co/n5El9zvr3e",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 156,
"reply_count": 2257,
"retweet_count": 529,
"retweeted": false,
"user_id_str": "877807935493033984",
"id_str": "1977441317836792102"
},
"trend_results": {
"rest_id": "1977888228876378530"
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
List
GET /v1/list/search
requires authentication
Search for public Twitter lists.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/list/search'
params = {
'search': 'tech',
'count': '20',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/list/search';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'search' => 'tech',
'count' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/list/search"
);
const params = {
"search": "tech",
"count": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/list/search?search=tech&count=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"search": "investing",
"cursor": "DAAHCgABG3Rm-UL___8LAAIAAAAsV3pFMk1TNDRNakU1TVN3eE1qWTVNakEyTVRNM05EazRORFl3TVRZeVhRPT0IAAMAAAACAAA"
},
"body": [
{
"entryId": "list-search-0-list-1489781590737653761",
"item": {
"itemContent": {
"itemType": "TimelineTwitterList",
"__typename": "TimelineTwitterList",
"displayType": "ListWithSubscribe",
"list": {
"created_at": 1644026584000,
"default_banner_media": {
"media_info": {
"original_img_url": "https://pbs.twimg.com/media/GkIQZXyWsAAs-uP.png",
"original_img_width": 1125,
"original_img_height": 375,
"salient_rect": {
"left": 562,
"top": 187,
"width": 1,
"height": 1
}
}
},
"default_banner_media_results": {
"result": {
"id": "QXBpTWVkaWE6DAABCgABGkIQZXyWsAAKAAIQF4A+eBQgAAAA",
"media_key": "3_1892092821517021184",
"media_id": "1892092821517021184",
"media_info": {
"__typename": "ApiImage",
"original_img_height": 375,
"original_img_width": 1125,
"original_img_url": "https://pbs.twimg.com/media/GkIQZXyWsAAs-uP.png",
"salient_rect": {
"height": 1,
"left": 562,
"top": 187,
"width": 1
}
},
"__typename": "ApiMedia"
}
},
"description": "threads from angels and vc’s",
"facepile_urls": [
"https://pbs.twimg.com/profile_images/1635874247838142466/gkPuTflM_mini.jpg",
"https://pbs.twimg.com/profile_images/1770565178049908737/77ep400R_mini.jpg",
"https://pbs.twimg.com/profile_images/1409908544271491076/c2jirqRi_mini.jpg"
],
"followers_context": "1.7K followers including @Quietstorm_32",
"following": false,
"id": "TGlzdDoxNDg5NzgxNTkwNzM3NjUzNzYx",
"id_str": "1489781590737653761",
"is_member": false,
"member_count": 40,
"members_context": "40 members",
"mode": "Public",
"muting": false,
"name": "Venture Investing",
"pinning": false,
"subscriber_count": 1726,
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjoxOTAxODcxMA==",
"rest_id": "19018710",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1457116808394133510/Lc3H-_vQ_normal.jpg"
},
"core": {
"created_at": "Thu Jan 15 11:33:10 +0000 2009",
"name": "deastman.eth",
"screen_name": "easto"
},
"dm_permissions": {
"can_dm": false,
"can_dm_on_xchat": false
},
"has_graduated_access": true,
"is_blue_verified": false,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "Dad | Husband | Tech investor | Arsenal | Fender | Ex-CEO |",
"entities": {
"description": {
"urls": []
}
},
"fast_followers_count": 0,
"favourites_count": 638,
"followers_count": 1040,
"friends_count": 825,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 57,
"media_count": 72,
"normal_followers_count": 1040,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/19018710/1550938902",
"profile_interstitial_type": "",
"statuses_count": 896,
"translator_type": "none",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": "Sydney, Australia "
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
}
}
}
},
"clientEventInfo": {
"component": "list_search",
"element": "list"
}
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/list/details
requires authentication
Get details for a specific list.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/list/details'
params = {
'list_id': '1349129669258448897',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/list/details';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'list_id' => '1349129669258448897',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/list/details"
);
const params = {
"list_id": "1349129669258448897",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/list/details?list_id=1349129669258448897" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"list_id": "1270510557469134848"
},
"body": {
"created_at": 1591748296000,
"default_banner_media": {
"media_info": {
"original_img_url": "https://pbs.twimg.com/media/GkIQyCGWYAA4UdW.png",
"original_img_width": 1125,
"original_img_height": 375,
"salient_rect": {
"left": 562,
"top": 187,
"width": 1,
"height": 1
}
}
},
"default_banner_media_results": {
"result": {
"id": "QXBpTWVkaWE6DAABCgABGkIQyCGWYAAKAAIQF4A+eBQgAAAA",
"media_key": "3_1892093245192036352",
"media_id": "1892093245192036352",
"media_info": {
"__typename": "ApiImage",
"original_img_height": 375,
"original_img_width": 1125,
"original_img_url": "https://pbs.twimg.com/media/GkIQyCGWYAA4UdW.png",
"salient_rect": {
"height": 1,
"left": 562,
"top": 187,
"width": 1
}
},
"__typename": "ApiMedia"
}
},
"description": "The best growth investing twitter accounts",
"facepile_urls": [
"https://pbs.twimg.com/profile_images/1371904987232563200/qDAGIIzp_mini.jpg",
"https://pbs.twimg.com/profile_images/1936568994858729472/5MBVZ_Ls_mini.jpg",
"https://pbs.twimg.com/profile_images/1553259977237823488/kikA_ETa_mini.jpg"
],
"followers_context": "570 followers including @MartyChargin",
"following": false,
"id": "TGlzdDoxMjcwNTEwNTU3NDY5MTM0ODQ4",
"id_str": "1270510557469134848",
"is_member": false,
"member_count": 44,
"members_context": "44 members",
"mode": "Public",
"muting": false,
"name": "Growth Investing",
"pinning": false,
"subscriber_count": 570,
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjozMDE4NjI2Ng==",
"rest_id": "30186266",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1109850094247936005/F00C7gwA_normal.png"
},
"core": {
"created_at": "Fri Apr 10 08:33:19 +0000 2009",
"name": "Vikram Patankar",
"screen_name": "VikramPatankar"
},
"dm_permissions": {
"can_dm": false,
"can_dm_on_xchat": false
},
"has_graduated_access": true,
"is_blue_verified": false,
"legacy": {
"default_profile": false,
"default_profile_image": false,
"description": "",
"entities": {
"description": {
"urls": []
}
},
"fast_followers_count": 0,
"favourites_count": 624,
"followers_count": 155,
"friends_count": 534,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 1,
"media_count": 19,
"normal_followers_count": 155,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/30186266/1558065092",
"profile_interstitial_type": "",
"statuses_count": 525,
"translator_type": "none",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": false
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
}
}
}
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/list/timeline
requires authentication
Fetch tweets from a list timeline.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/list/timeline'
params = {
'list_id': '1272593321181851648',
'count': '20',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/list/timeline';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'list_id' => '1272593321181851648',
'count' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/list/timeline"
);
const params = {
"list_id": "1272593321181851648",
"count": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/list/timeline?list_id=1272593321181851648&count=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"list_id": "1270510557469134848",
"cursor": "DAABCgABG3RqMs-__7AKAAIbc6_-pZcQWQgAAwAAAAIAAA"
},
"body": [
{
"__typename": "Tweet",
"rest_id": "1978252846450557218",
"post_image_description": "Infographic with title Warren Buffett Great vs Good vs Gruesome by Brian Feroldi featuring portrait of Warren Buffett in upper right. Table divides into three columns labeled Great Good Gruesome with rows for factors: Competitive Moat showing High and Expanding Business for Great Moderate Business Highly Successful for Good No Business Less Entry New Success for Gruesome; Pricing Power High for Great Moderate for Good None for Gruesome; Earnings Growth No New Capital for Great Moderate Investment for Good High Reinvestment Needs for Gruesome; Capital Intensity Low for Great Moderate to High for Good Very High for Gruesome; Returns on Capital High and Stable for Great Moderate and Stable for Good Low and Erratic for Gruesome; Cash High Stable More than Consumes for Great Moderate Stable Consumes About as Much as Generates for Good Burns More than Consumes for Gruesome; Management Low Dependence for Great Good Management Required for Good Great Management Still Required for Gruesome; Margin of Safety for Purchase Buy at 10-20 Percent Lower Intrinsic Value for Great Buy at 30 Percent Lower Intrinsic Value for Good Avoid at Any Price for Gruesome; Conclusion with Businesses at 10-20 Percent Lower Intrinsic Value for Great at Wonderful Prices for Good at All Costs for Gruesome.",
"core": {
"user_results": {
"result": {
"__typename": "User",
"id": "VXNlcjo2MTU1ODI4MQ==",
"rest_id": "61558281",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1758167079843172352/I87PB0PH_normal.jpg"
},
"core": {
"created_at": "Thu Jul 30 18:20:35 +0000 2009",
"name": "Brian Feroldi",
"screen_name": "BrianFeroldi"
},
"dm_permissions": {
"can_dm": true,
"can_dm_on_xchat": false
},
"has_graduated_access": true,
"is_blue_verified": true,
"legacy": {
"default_profile": true,
"default_profile_image": false,
"description": "🔎 I Teach Investors How To Analyze Businesses | Stock Fundamentals & Valuation Teacher | DM me “BUFFETT” for premium courses | Free Investing eBook (Link) ⬇️",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "longtermmindset.co/investing",
"expanded_url": "https://longtermmindset.co/investing",
"url": "https://t.co/6rRnW1s4wF",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 29667,
"followers_count": 624122,
"friends_count": 506,
"has_custom_timelines": true,
"is_translator": false,
"listed_count": 12000,
"media_count": 7133,
"normal_followers_count": 624122,
"pinned_tweet_ids_str": [
"1817714336611144138"
],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/61558281/1744628915",
"profile_interstitial_type": "",
"statuses_count": 32736,
"translator_type": "none",
"url": "https://t.co/6rRnW1s4wF",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": "Free Investing 📗 ➜"
},
"media_permissions": {
"can_media_tag": false
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1615842396897525767",
"professional_type": "Creator",
"category": []
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": {
"is_enabled": true,
"venmo_handle": "brian-feroldi"
},
"super_follow_eligible": true,
"verification": {
"verified": false
}
}
}
},
"unmention_data": [],
"edit_control": {
"edit_tweet_ids": [
"1978252846450557218"
],
"editable_until_msecs": "1760490807000",
"is_edit_eligible": false,
"edits_remaining": "5"
},
"is_translatable": false,
"views": {
"count": "15743",
"state": "EnabledWithCount"
},
"source": "\u003Ca href=\"https://hypefury.com\" rel=\"nofollow\"\u003EHypefury\u003C/a\u003E",
"award_eligible": false,
"granted_awards": [],
"grok_translated_post_with_availability": {
"is_available": false
},
"grok_analysis_button": true,
"legacy": {
"bookmark_count": 73,
"bookmarked": false,
"created_at": "Wed Oct 15 00:13:27 +0000 2025",
"conversation_id_str": "1978252846450557218",
"display_text_range": [0, 43],
"entities": {
"hashtags": [],
"media": [
{
"display_url": "pic.x.com/kEUuVEFP6F",
"expanded_url": "https://x.com/BrianFeroldi/status/1978252846450557218/photo/1",
"id_str": "1978252842545618944",
"indices": [44, 67],
"media_key": "3_1978252842545618944",
"media_url_https": "https://pbs.twimg.com/media/G3QqeqPWoAAIqqg.jpg",
"type": "photo",
"url": "https://t.co/kEUuVEFP6F",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": [
{
"x": 924,
"y": 44,
"h": 80,
"w": 80
}
]
},
"medium": {
"faces": [
{
"x": 821,
"y": 39,
"h": 71,
"w": 71
}
]
},
"small": {
"faces": [
{
"x": 465,
"y": 22,
"h": 40,
"w": 40
}
]
},
"orig": {
"faces": [
{
"x": 924,
"y": 44,
"h": 80,
"w": 80
}
]
}
},
"sizes": {
"large": {
"h": 1350,
"w": 1050,
"resize": "fit"
},
"medium": {
"h": 1200,
"w": 933,
"resize": "fit"
},
"small": {
"h": 680,
"w": 529,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 1350,
"width": 1050,
"focus_rects": [
{
"x": 0,
"y": 762,
"w": 1050,
"h": 588
},
{
"x": 0,
"y": 300,
"w": 1050,
"h": 1050
},
{
"x": 0,
"y": 153,
"w": 1050,
"h": 1197
},
{
"x": 0,
"y": 0,
"w": 675,
"h": 1350
},
{
"x": 0,
"y": 0,
"w": 1050,
"h": 1350
}
]
},
"media_results": {
"result": {
"media_key": "3_1978252842545618944"
}
}
}
],
"symbols": [],
"timestamps": [],
"urls": [],
"user_mentions": []
},
"extended_entities": {
"media": [
{
"display_url": "pic.x.com/kEUuVEFP6F",
"expanded_url": "https://x.com/BrianFeroldi/status/1978252846450557218/photo/1",
"id_str": "1978252842545618944",
"indices": [44, 67],
"media_key": "3_1978252842545618944",
"media_url_https": "https://pbs.twimg.com/media/G3QqeqPWoAAIqqg.jpg",
"type": "photo",
"url": "https://t.co/kEUuVEFP6F",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": [
{
"x": 924,
"y": 44,
"h": 80,
"w": 80
}
]
},
"medium": {
"faces": [
{
"x": 821,
"y": 39,
"h": 71,
"w": 71
}
]
},
"small": {
"faces": [
{
"x": 465,
"y": 22,
"h": 40,
"w": 40
}
]
},
"orig": {
"faces": [
{
"x": 924,
"y": 44,
"h": 80,
"w": 80
}
]
}
},
"sizes": {
"large": {
"h": 1350,
"w": 1050,
"resize": "fit"
},
"medium": {
"h": 1200,
"w": 933,
"resize": "fit"
},
"small": {
"h": 680,
"w": 529,
"resize": "fit"
},
"thumb": {
"h": 150,
"w": 150,
"resize": "crop"
}
},
"original_info": {
"height": 1350,
"width": 1050,
"focus_rects": [
{
"x": 0,
"y": 762,
"w": 1050,
"h": 588
},
{
"x": 0,
"y": 300,
"w": 1050,
"h": 1050
},
{
"x": 0,
"y": 153,
"w": 1050,
"h": 1197
},
{
"x": 0,
"y": 0,
"w": 675,
"h": 1350
},
{
"x": 0,
"y": 0,
"w": 1050,
"h": 1350
}
]
},
"media_results": {
"result": {
"media_key": "3_1978252842545618944"
}
}
}
]
},
"favorite_count": 95,
"favorited": false,
"full_text": "Warren Buffett: Great vs. Good vs. Gruesome https://t.co/kEUuVEFP6F",
"is_quote_status": false,
"lang": "en",
"possibly_sensitive": false,
"possibly_sensitive_editable": true,
"quote_count": 1,
"reply_count": 10,
"retweet_count": 20,
"retweeted": false,
"user_id_str": "61558281",
"id_str": "1978252846450557218"
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/list/followers
requires authentication
Fetch users following a list.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/list/followers'
params = {
'list_id': '1272593321181851648',
'count': '20',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/list/followers';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'list_id' => '1272593321181851648',
'count' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/list/followers"
);
const params = {
"list_id": "1272593321181851648",
"count": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/list/followers?list_id=1272593321181851648&count=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"list_id": "1270510557469134848",
"cursor": "1841535068294633919|1978326902246473706"
},
"body": [
{
"__typename": "User",
"id": "VXNlcjoxNjM5MzAyNzM3NjIzMTUwNTkz",
"rest_id": "1639302737623150593",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1639302950869954565/v6pAO9bM_normal.png"
},
"core": {
"created_at": "Fri Mar 24 16:27:34 +0000 2023",
"name": "Education Guru",
"screen_name": "sha_eduguru"
},
"dm_permissions": {
"can_dm": false,
"can_dm_on_xchat": false
},
"has_graduated_access": false,
"is_blue_verified": false,
"legacy": {
"default_profile": true,
"default_profile_image": false,
"description": "",
"entities": {
"description": {
"urls": []
}
},
"fast_followers_count": 0,
"favourites_count": 0,
"followers_count": 0,
"friends_count": 63,
"has_custom_timelines": false,
"is_translator": false,
"listed_count": 0,
"media_count": 94,
"normal_followers_count": 0,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_interstitial_type": "",
"statuses_count": 430,
"translator_type": "none",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET /v1/list/members
requires authentication
Fetch users who are members of a list.
Example request:
import requests
import json
url = 'https://api.steadyapi.com/v1/twitter/list/members'
params = {
'list_id': '1272593321181851648',
'count': '20',
}
headers = {
'Authorization': 'Bearer {YOUR_AUTH_KEY}'
}
response = requests.request('GET', url, headers=headers, params=params)
response.json()$client = new \GuzzleHttp\Client();
$url = 'https://api.steadyapi.com/v1/twitter/list/members';
$response = $client->get(
$url,
[
'headers' => [
'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
],
'query' => [
'list_id' => '1272593321181851648',
'count' => '20',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));const url = new URL(
"https://api.steadyapi.com/v1/twitter/list/members"
);
const params = {
"list_id": "1272593321181851648",
"count": "20",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());curl --request GET \
--get "https://api.steadyapi.com/v1/twitter/list/members?list_id=1272593321181851648&count=20" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"Example response (200, Success):
{
"meta": {
"version": "v1.0",
"status": 200,
"copywrite": "https://steadyapi.com",
"list_id": "1270510557469134848",
"cursor": "4611686021143034674|1978325493346205674"
},
"body": [
{
"__typename": "User",
"id": "VXNlcjoxMjk5NjMxNzIyMTIwODUxNDU2",
"rest_id": "1299631722120851456",
"affiliates_highlighted_label": [],
"avatar": {
"image_url": "https://pbs.twimg.com/profile_images/1620800298196369408/BfFgrNox_normal.jpg"
},
"core": {
"created_at": "Sat Aug 29 08:56:33 +0000 2020",
"name": "StockViz",
"screen_name": "StockViz_Com"
},
"dm_permissions": {
"can_dm": true,
"can_dm_on_xchat": false
},
"has_graduated_access": true,
"is_blue_verified": false,
"legacy": {
"default_profile": true,
"default_profile_image": false,
"description": "Our mission is to make investing easy with clear, visual financial data for beginners and experts alike.",
"entities": {
"description": {
"urls": []
},
"url": {
"urls": [
{
"display_url": "stockviz.com",
"expanded_url": "https://www.stockviz.com/",
"url": "https://t.co/4Z7N4qvIUR",
"indices": [0, 23]
}
]
}
},
"fast_followers_count": 0,
"favourites_count": 8642,
"followers_count": 31513,
"friends_count": 285,
"has_custom_timelines": false,
"is_translator": false,
"listed_count": 882,
"media_count": 351,
"normal_followers_count": 31513,
"pinned_tweet_ids_str": [],
"possibly_sensitive": false,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1299631722120851456/1728291083",
"profile_interstitial_type": "",
"statuses_count": 581,
"translator_type": "none",
"url": "https://t.co/4Z7N4qvIUR",
"want_retweets": false,
"withheld_in_countries": []
},
"location": {
"location": ""
},
"media_permissions": {
"can_media_tag": true
},
"parody_commentary_fan_label": "None",
"profile_image_shape": "Circle",
"professional": {
"rest_id": "1621213544963358721",
"professional_type": "Business",
"category": [
{
"id": 192,
"name": "Financial Services",
"icon_name": "IconBriefcaseStroke"
}
]
},
"privacy": {
"protected": false
},
"relationship_perspectives": {
"following": false
},
"tipjar_settings": [],
"verification": {
"verified": false
}
},
{ ... }
]
}
Example response (401, Unauthenticated):
{
"message": "Unauthenticated."
}
Example response (404, Not Found):
{
"success": false,
"message": "Resource Not Found"
}
Example response (422, Error Validations):
{
"message": "The ticker field is required.",
"errors": {
"ticker": [
"The ticker field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.