MENU navbar-image

🐦 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.

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."
        ]
    }
}
 

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."
        ]
    }
}
 

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."
        ]
    }
}
 

Request      

GET v1/twitter/tweet/info

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id required string

The Tweet ID to retrieve. Example: 1349129669258448897

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."
        ]
    }
}
 

Request      

GET v1/twitter/woeid

Headers

Authorization Bearer {YOUR_AUTH_KEY}

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."
        ]
    }
}
 

Request      

GET v1/twitter/user

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username required string

Twitter username (without @) or user_id. Example: elonmusk

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."
        ]
    }
}
 

Request      

GET v1/twitter/user/followers

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username required string

Twitter username. Example: elonmusk

count optional integer

Number of results (default 20).

cursor optional string

Pagination cursor from previous request.

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."
        ]
    }
}
 

Request      

GET v1/twitter/user/following

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username required string

Example: elonmusk

count optional integer

Number of users to return (default 20).

cursor optional string

Pagination cursor for next page.

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."
        ]
    }
}
 

Request      

GET v1/twitter/user/tweets

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
user_id required string

User ID. Example: 44196397

count optional integer

Number of tweets to fetch. Example: 20

cursor optional string

Pagination token.

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."
        ]
    }
}
 

Request      

GET v1/twitter/user/replies

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
user_id required string

The Twitter user ID. Example: 44196397

count optional integer

Number of tweets to fetch per request. Example: 20

cursor optional string

Pagination token.

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."
        ]
    }
}
 

Request      

GET v1/twitter/user/highlights

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
user_id required string

Twitter user_id. Example: 44196397

count optional integer

Number of tweets to fetch. Example: 20

cursor optional string

Pagination token.

List

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."
        ]
    }
}
 

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."
        ]
    }
}
 

Request      

GET v1/twitter/list/details

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
list_id required string

List ID. Example: 1349129669258448897

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."
        ]
    }
}
 

Request      

GET v1/twitter/list/timeline

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
list_id required string

List ID. Example: 1272593321181851648

count optional integer

Number of tweets to fetch. Example: 20

cursor optional string

Pagination token.

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."
        ]
    }
}
 

Request      

GET v1/twitter/list/followers

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
list_id required string

List ID. Example: 1272593321181851648

count optional integer

Number of users to fetch. Example: 20

cursor optional string

Pagination token.

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."
        ]
    }
}
 

Request      

GET v1/twitter/list/members

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
list_id required string

List ID. Example: 1272593321181851648

count optional integer

Number of users to fetch. Example: 20

cursor optional string

Pagination token.