MENU navbar-image

🐦 Twitter Social

Twitter / X API for public posts, profiles, and trends.

Search & Discovery

Find Twitter users, hashtags, and tweet results in real time using the modern GraphQL endpoint.

requires authentication

Quick search (typeahead) for users, topics, events, and lists. To search tweets, use /v1/search/tweets.

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/search/tweets

requires authentication

Search tweets the same way as the X search page. Supports operators such as from:, since:, lang:, and #hashtags.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/twitter/search/tweets'
params = {
  'search': 'bitcoin',
  'type': 'Latest',
}
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/tweets';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'search' => 'bitcoin',
            'type' => 'Latest',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/twitter/search/tweets"
);

const params = {
    "search": "bitcoin",
    "type": "Latest",
};
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/tweets?search=bitcoin&type=Latest" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "search": "bitcoin",
        "type": "Latest",
        "count": 1,
        "next_cursor": "DAADDAABCgABHThZ5eTaEH8KAAIdOFmi7tbBIgAIAAIAAAACCAADAAAAAAgA"
    },
    "body": [
        {
            "__typename": "Tweet",
            "core": {
                "user_results": {
                    "result": {
                        "__typename": "User",
                        "action_counts": {
                            "favorites_count": 28316
                        },
                        "affiliates_highlighted_label": [],
                        "avatar": {
                            "image_url": "https://pbs.twimg.com/profile_images/1748455599250272256/FdEh2d-U_normal.jpg"
                        },
                        "banner": {
                            "image_url": "https://pbs.twimg.com/profile_banners/1482930483323281408/1737529746"
                        },
                        "core": {
                            "created_at": "Mon Jan 17 04:19:55 +0000 2022",
                            "name": "AIZEN",
                            "screen_name": "AIZEN30XX"
                        },
                        "follow_request_sent": false,
                        "has_graduated_access": true,
                        "id": "VXNlcjoxNDgyOTMwNDgzMzIzMjgxNDA4",
                        "is_blue_verified": false,
                        "location": {
                            "location": "Simulation Control Room"
                        },
                        "media_permissions": {
                            "can_media_tag": true
                        },
                        "notifications_settings": {
                            "notifications_enabled": false
                        },
                        "parody_commentary_fan_label": "None",
                        "pinned_items": {
                            "tweet_ids_str": [
                                "2025358204751020512"
                            ]
                        },
                        "possibly_sensitive": false,
                        "privacy": {
                            "protected": false
                        },
                        "professional": {
                            "category": [],
                            "professional_type": "Creator",
                            "rest_id": "1630056917535166464"
                        },
                        "profile_bio": {
                            "description": "Study Bitcoin/ A.I #FreeTheMind #FreeSpeech #SeekTruth #Deprogram #Decentralize #FixTheMoney #EndWars #Love #Peace #Humans ❌#Machines #30XX CYPHERPUNK ENERGY",
                            "entities": {
                                "description": []
                            }
                        },
                        "profile_description_language": "en",
                        "profile_image_shape": "Circle",
                        "profile_metadata": {
                            "profile_interstitial_type": ""
                        },
                        "profile_translation": {
                            "translator_type": "none"
                        },
                        "relationship_counts": {
                            "followers": 1070,
                            "following": 2978
                        },
                        "relationship_perspectives": {
                            "blocked_by": false,
                            "blocking": false,
                            "followed_by": false,
                            "following": false,
                            "live_following": false,
                            "muting": false
                        },
                        "rest_id": "1482930483323281408",
                        "super_follow_eligible": false,
                        "super_followed_by": false,
                        "super_following": false,
                        "tipjar_settings": {
                            "is_enabled": true
                        },
                        "tweet_counts": {
                            "media_tweets": 854,
                            "tweets": 15869
                        },
                        "verification": {
                            "verified": false
                        },
                        "website": {
                            "url": ""
                        }
                    }
                }
            },
            "edit_control": {
                "edit_tweet_ids": [
                    "2105531669717586047"
                ],
                "editable_until_msecs": "1790836443000",
                "edits_remaining": "5",
                "is_edit_eligible": false
            },
            "grok_analysis_button": true,
            "grok_translated_post_with_availability": {
                "is_available": false
            },
            "is_translatable": false,
            "legacy": {
                "bookmark_count": 0,
                "bookmarked": false,
                "conversation_id_str": "2105358291702296976",
                "created_at": "Thu Oct 01 05:34:03 +0000 2026",
                "display_text_range": [
                    12,
                    100
                ],
                "entities": {
                    "user_mentions": [
                        {
                            "id_str": "1688663400358748160",
                            "indices": [
                                0,
                                11
                            ],
                            "name": "Jeff Swanson",
                            "screen_name": "theswansjr"
                        }
                    ]
                },
                "favorite_count": 0,
                "favorited": false,
                "full_text": "@theswansjr True monetary debasement is closer to 13% , so 5.5 years\n\nbetter get some Bitcoin quick!",
                "id_str": "2105531669717586047",
                "in_reply_to_screen_name": "theswansjr",
                "in_reply_to_status_id_str": "2105358291702296976",
                "in_reply_to_user_id_str": "1688663400358748160",
                "is_quote_status": false,
                "lang": "en",
                "quote_count": 0,
                "reply_count": 0,
                "retweet_count": 0,
                "retweeted": false,
                "user_id_str": "1482930483323281408"
            },
            "rest_id": "2105531669717586047",
            "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>",
            "unmention_data": [],
            "views": {
                "state": "Enabled"
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/twitter/search/tweets

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
search required string

Search query. Example: bitcoin

type optional string

Result tab: Top, Latest, People, or Media (default Top). People returns user objects. Example: Latest

count optional integer

Number of results to request (default 20, max 50).

cursor optional string

Pagination cursor from meta.next_cursor.

GET /v1/tweet/replies

requires authentication

Fetch the replies to a tweet, with pagination.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/twitter/tweet/replies'
params = {
  'id': '2105463042305667103',
}
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/replies';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'id' => '2105463042305667103',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/twitter/tweet/replies"
);

const params = {
    "id": "2105463042305667103",
};
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/replies?id=2105463042305667103" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "tweet_id": "1349129669258448897",
        "count": 1,
        "next_cursor": "DAAKCgABHThaIGh__rMLAAIAAAGQRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFB"
    },
    "body": [
        {
            "__typename": "Tweet",
            "core": {
                "user_results": {
                    "result": {
                        "__typename": "User",
                        "action_counts": {
                            "favorites_count": 2592
                        },
                        "affiliates_highlighted_label": [],
                        "avatar": {
                            "image_url": "https://pbs.twimg.com/profile_images/993507603333427201/ATj7pBa4_normal.jpg"
                        },
                        "banner": {
                            "image_url": "https://pbs.twimg.com/profile_banners/954313086785212416/1607242546"
                        },
                        "core": {
                            "created_at": "Fri Jan 19 11:22:24 +0000 2018",
                            "name": "Lyubomir Vladimirov",
                            "screen_name": "lvladimirovBG"
                        },
                        "follow_request_sent": false,
                        "has_graduated_access": true,
                        "id": "VXNlcjo5NTQzMTMwODY3ODUyMTI0MTY=",
                        "is_blue_verified": false,
                        "location": {
                            "location": "Bulgaria"
                        },
                        "media_permissions": {
                            "can_media_tag": true
                        },
                        "notifications_settings": {
                            "notifications_enabled": false
                        },
                        "parody_commentary_fan_label": "None",
                        "pinned_items": {
                            "tweet_ids_str": [
                                "1349358903725850625"
                            ]
                        },
                        "possibly_sensitive": false,
                        "privacy": {
                            "protected": false
                        },
                        "profile_bio": {
                            "description": "Still developing an awesome game about colonizing Mars.",
                            "entities": {
                                "description": [],
                                "url": {
                                    "urls": [
                                        {
                                            "display_url": "marsisflat.space",
                                            "expanded_url": "https://marsisflat.space/",
                                            "indices": [
                                                0,
                                                23
                                            ],
                                            "url": "https://t.co/k150iACtHg"
                                        }
                                    ]
                                }
                            }
                        },
                        "profile_description_language": "en",
                        "profile_image_shape": "Circle",
                        "profile_metadata": {
                            "profile_interstitial_type": ""
                        },
                        "profile_translation": {
                            "translator_type": "none"
                        },
                        "relationship_counts": {
                            "followers": 11429,
                            "following": 10
                        },
                        "relationship_perspectives": {
                            "blocked_by": false,
                            "blocking": false,
                            "followed_by": false,
                            "following": false,
                            "live_following": false,
                            "muting": false
                        },
                        "rest_id": "954313086785212416",
                        "super_follow_eligible": false,
                        "super_followed_by": false,
                        "super_following": false,
                        "tipjar_settings": [],
                        "tweet_counts": {
                            "media_tweets": 407,
                            "tweets": 1770
                        },
                        "verification": {
                            "verified": false
                        },
                        "website": {
                            "url": "https://t.co/k150iACtHg"
                        }
                    }
                }
            },
            "edit_control": {
                "edit_tweet_ids": [
                    "1349129814628773888"
                ],
                "editable_until_msecs": "1610494388084",
                "edits_remaining": "5",
                "is_edit_eligible": true
            },
            "grok_analysis_button": true,
            "grok_translated_post_with_availability": {
                "is_available": false
            },
            "has_birdwatch_notes": false,
            "is_translatable": false,
            "legacy": {
                "bookmark_count": 103,
                "bookmarked": false,
                "conversation_id_str": "1349129669258448897",
                "created_at": "Tue Jan 12 23:03:08 +0000 2021",
                "display_text_range": [
                    10,
                    270
                ],
                "entities": {
                    "user_mentions": [
                        {
                            "id_str": "44196397",
                            "indices": [
                                0,
                                9
                            ],
                            "name": "Elon Musk",
                            "screen_name": "elonmusk"
                        }
                    ]
                },
                "favorite_count": 21688,
                "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 ah...",
                "id_str": "1349129814628773888",
                "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": 456,
                "retweet_count": 583,
                "retweeted": false,
                "user_id_str": "954313086785212416"
            },
            "quick_promote_eligibility": {
                "eligibility": "IneligibleNotVerified"
            },
            "rest_id": "1349129814628773888",
            "unmention_data": [],
            "views": {
                "state": "Enabled"
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/twitter/tweet/replies

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
id required string

The Tweet ID. Example: 2105463042305667103

sort optional string

Reply order: relevance, recency, or likes (default relevance).

cursor optional string

Pagination cursor from meta.next_cursor.

GET /v1/tweet/batch

requires authentication

Fetch several tweets by ID in one request. Up to 20 IDs per call.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/twitter/tweet/batch'
params = {
  'ids': '1349129669258448897,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/tweet/batch';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'ids' => '1349129669258448897,20',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/twitter/tweet/batch"
);

const params = {
    "ids": "1349129669258448897,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/tweet/batch?ids=1349129669258448897%2C20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "requested": 1,
        "count": 1
    },
    "body": [
        {
            "__typename": "Tweet",
            "core": {
                "user_results": {
                    "result": {
                        "__typename": "User",
                        "action_counts": {
                            "favorites_count": 250189
                        },
                        "affiliates_highlighted_label": {
                            "label": {
                                "badge": {
                                    "url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg"
                                },
                                "description": "X",
                                "url": {
                                    "url": "https://twitter.com/X",
                                    "urlType": "DeepLink"
                                },
                                "userLabelDisplayType": "Badge",
                                "userLabelType": "BusinessLabel"
                            }
                        },
                        "avatar": {
                            "image_url": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg"
                        },
                        "banner": {
                            "image_url": "https://pbs.twimg.com/profile_banners/44196397/1774145451"
                        },
                        "core": {
                            "created_at": "Tue Jun 02 20:12:29 +0000 2009",
                            "name": "Elon Musk",
                            "screen_name": "elonmusk"
                        },
                        "follow_request_sent": false,
                        "has_graduated_access": true,
                        "id": "VXNlcjo0NDE5NjM5Nw==",
                        "is_blue_verified": true,
                        "location": {
                            "location": ""
                        },
                        "media_permissions": {
                            "can_media_tag": false
                        },
                        "notifications_settings": {
                            "notifications_enabled": false
                        },
                        "parody_commentary_fan_label": "None",
                        "pinned_items": {
                            "tweet_ids_str": [
                                "2103537377239015827"
                            ]
                        },
                        "possibly_sensitive": false,
                        "privacy": {
                            "protected": false
                        },
                        "professional": {
                            "category": [],
                            "professional_type": "Creator",
                            "rest_id": "1679729435447275522"
                        },
                        "profile_bio": {
                            "description": "https://t.co/ZdBx5WABYx",
                            "entities": {
                                "description": {
                                    "urls": [
                                        {
                                            "display_url": "Terafab.AI",
                                            "expanded_url": "http://Terafab.AI",
                                            "indices": [
                                                0,
                                                23
                                            ],
                                            "url": "https://t.co/ZdBx5WABYx"
                                        }
                                    ]
                                }
                            }
                        },
                        "profile_image_shape": "Circle",
                        "profile_metadata": {
                            "profile_interstitial_type": ""
                        },
                        "profile_translation": {
                            "translator_type": "none"
                        },
                        "relationship_counts": {
                            "followers": 241732733,
                            "following": 1414
                        },
                        "relationship_perspectives": {
                            "blocked_by": false,
                            "blocking": false,
                            "followed_by": false,
                            "following": false,
                            "live_following": false,
                            "muting": false
                        },
                        "rest_id": "44196397",
                        "super_follow_eligible": true,
                        "super_followed_by": false,
                        "super_following": false,
                        "tipjar_settings": {
                            "is_enabled": false
                        },
                        "tweet_counts": {
                            "media_tweets": 4726,
                            "tweets": 109266
                        },
                        "verification": {
                            "verified": false
                        },
                        "website": {
                            "url": ""
                        }
                    }
                }
            },
            "edit_control": {
                "edit_tweet_ids": [
                    "1349129669258448897"
                ],
                "editable_until_msecs": "1610494353425",
                "edits_remaining": "5",
                "is_edit_eligible": true
            },
            "grok_analysis_button": true,
            "grok_translated_post_with_availability": {
                "is_available": false
            },
            "is_translatable": false,
            "legacy": {
                "bookmark_count": 6471,
                "bookmarked": false,
                "conversation_id_str": "1349129669258448897",
                "created_at": "Tue Jan 12 23:02:33 +0000 2021",
                "display_text_range": [
                    0,
                    51
                ],
                "entities": {
                    "media": [
                        {
                            "display_url": "pic.x.com/LrqdIrbIyd",
                            "expanded_url": "https://x.com/elonmusk/status/1349129669258448897/photo/1",
                            "ext_media_availability": {
                                "status": "Available"
                            },
                            "features": {
                                "large": {
                                    "faces": []
                                },
                                "medium": {
                                    "faces": []
                                },
                                "orig": {
                                    "faces": []
                                },
                                "small": {
                                    "faces": []
                                }
                            },
                            "id_str": "1349129665299013635",
                            "indices": [
                                52,
                                75
                            ],
                            "media_key": "3_1349129665299013635",
                            "media_results": {
                                "result": {
                                    "media_key": "3_1349129665299013635"
                                }
                            },
                            "media_url_https": "https://pbs.twimg.com/media/ErkSSFgW4AMKude.jpg",
                            "original_info": {
                                "focus_rects": [
                                    {
                                        "h": 538,
                                        "w": 960,
                                        "x": 0,
                                        "y": 0
                                    },
                                    {
                                        "h": 900,
                                        "w": 900,
                                        "x": 60,
                                        "y": 0
                                    }
                                ],
                                "height": 900,
                                "width": 960
                            },
                            "sizes": {
                                "large": {
                                    "h": 900,
                                    "resize": "fit",
                                    "w": 960
                                },
                                "medium": {
                                    "h": 900,
                                    "resize": "fit",
                                    "w": 960
                                },
                                "small": {
                                    "h": 638,
                                    "resize": "fit",
                                    "w": 680
                                },
                                "thumb": {
                                    "h": 150,
                                    "resize": "crop",
                                    "w": 150
                                }
                            },
                            "type": "photo",
                            "url": "https://t.co/LrqdIrbIyd"
                        }
                    ]
                },
                "extended_entities": {
                    "media": [
                        {
                            "display_url": "pic.x.com/LrqdIrbIyd",
                            "expanded_url": "https://x.com/elonmusk/status/1349129669258448897/photo/1",
                            "ext_media_availability": {
                                "status": "Available"
                            },
                            "features": {
                                "large": {
                                    "faces": []
                                },
                                "medium": {
                                    "faces": []
                                },
                                "orig": {
                                    "faces": []
                                },
                                "small": {
                                    "faces": []
                                }
                            },
                            "id_str": "1349129665299013635",
                            "indices": [
                                52,
                                75
                            ],
                            "media_key": "3_1349129665299013635",
                            "media_results": {
                                "result": {
                                    "media_key": "3_1349129665299013635"
                                }
                            },
                            "media_url_https": "https://pbs.twimg.com/media/ErkSSFgW4AMKude.jpg",
                            "original_info": {
                                "focus_rects": [
                                    {
                                        "h": 538,
                                        "w": 960,
                                        "x": 0,
                                        "y": 0
                                    },
                                    {
                                        "h": 900,
                                        "w": 900,
                                        "x": 60,
                                        "y": 0
                                    }
                                ],
                                "height": 900,
                                "width": 960
                            },
                            "sizes": {
                                "large": {
                                    "h": 900,
                                    "resize": "fit",
                                    "w": 960
                                },
                                "medium": {
                                    "h": 900,
                                    "resize": "fit",
                                    "w": 960
                                },
                                "small": {
                                    "h": 638,
                                    "resize": "fit",
                                    "w": 680
                                },
                                "thumb": {
                                    "h": 150,
                                    "resize": "crop",
                                    "w": 150
                                }
                            },
                            "type": "photo",
                            "url": "https://t.co/LrqdIrbIyd"
                        }
                    ]
                },
                "favorite_count": 507174,
                "favorited": false,
                "full_text": "Hey you …\nYeah you Queen …\nYou’re gonna make it! πŸ’•πŸ’• https://t.co/LrqdIrbIyd",
                "id_str": "1349129669258448897",
                "is_quote_status": false,
                "lang": "en",
                "possibly_sensitive": false,
                "possibly_sensitive_editable": true,
                "quote_count": 13485,
                "reply_count": 12589,
                "retweet_count": 93924,
                "retweeted": false,
                "user_id_str": "44196397"
            },
            "rest_id": "1349129669258448897",
            "unmention_data": [],
            "views": {
                "state": "Enabled"
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/twitter/tweet/batch

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
ids required string

Comma-separated Tweet IDs (max 20). Example: 1349129669258448897,20

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.

GET /v1/user/batch

requires authentication

Fetch several user profiles by username in one request. Up to 20 usernames per call.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/twitter/user/batch'
params = {
  'usernames': 'elonmusk,nasa',
}
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/batch';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'usernames' => 'elonmusk,nasa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/twitter/user/batch"
);

const params = {
    "usernames": "elonmusk,nasa",
};
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/batch?usernames=elonmusk%2Cnasa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "requested": 1,
        "count": 1
    },
    "body": [
        {
            "__typename": "User",
            "action_counts": {
                "favorites_count": 250189
            },
            "affiliates_highlighted_label": {
                "label": {
                    "badge": {
                        "url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg"
                    },
                    "description": "X",
                    "url": {
                        "url": "https://twitter.com/X",
                        "urlType": "DeepLink"
                    },
                    "userLabelDisplayType": "Badge",
                    "userLabelType": "BusinessLabel"
                }
            },
            "avatar": {
                "image_url": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg"
            },
            "banner": {
                "image_url": "https://pbs.twimg.com/profile_banners/44196397/1774145451"
            },
            "business_account": [],
            "core": {
                "created_at": "Tue Jun 02 20:12:29 +0000 2009",
                "name": "Elon Musk",
                "screen_name": "elonmusk"
            },
            "creator_subscriptions_count": 251,
            "follow_request_sent": false,
            "has_graduated_access": true,
            "highlights_info": {
                "can_highlight_tweets": true,
                "highlighted_tweets": "1075"
            },
            "id": "VXNlcjo0NDE5NjM5Nw==",
            "is_blue_verified": true,
            "is_profile_translatable": false,
            "legacy_extended_profile": [],
            "location": {
                "location": ""
            },
            "media_permissions": {
                "can_media_tag": false
            },
            "notifications_settings": {
                "notifications_enabled": false
            },
            "parody_commentary_fan_label": "None",
            "pinned_items": {
                "tweet_ids_str": [
                    "2103537377239015827"
                ]
            },
            "possibly_sensitive": false,
            "premium_gifting_eligible": false,
            "privacy": {
                "protected": false
            },
            "professional": {
                "category": [],
                "professional_type": "Creator",
                "rest_id": "1679729435447275522"
            },
            "profile_bio": {
                "description": "https://t.co/ZdBx5WABYx",
                "entities": {
                    "description": {
                        "urls": [
                            {
                                "display_url": "Terafab.AI",
                                "expanded_url": "http://Terafab.AI",
                                "indices": [
                                    0,
                                    23
                                ],
                                "url": "https://t.co/ZdBx5WABYx"
                            }
                        ]
                    }
                }
            },
            "profile_image_shape": "Circle",
            "profile_metadata": {
                "profile_interstitial_type": ""
            },
            "profile_translation": {
                "translator_type": "none"
            },
            "relationship_counts": {
                "followers": 241732743,
                "following": 1414
            },
            "relationship_perspectives": {
                "blocked_by": false,
                "blocking": false,
                "followed_by": false,
                "following": false,
                "live_following": false,
                "muting": false
            },
            "rest_id": "44196397",
            "super_follow_eligible": true,
            "super_followed_by": false,
            "super_following": false,
            "tipjar_settings": {
                "is_enabled": false
            },
            "tweet_counts": {
                "media_tweets": 4726,
                "tweets": 109266
            },
            "user_seed_tweet_count": 0,
            "verification": {
                "verified": false
            },
            "verification_info": {
                "is_identity_verified": false,
                "reason": {
                    "description": {
                        "entities": [
                            {
                                "from_index": 54,
                                "ref": {
                                    "url": "https://twitter.com/X",
                                    "url_type": "ExternalUrl"
                                },
                                "to_index": 56
                            },
                            {
                                "from_index": 63,
                                "ref": {
                                    "url": "https://help.twitter.com/en/rules-and-policies/profile-labels",
                                    "url_type": "ExternalUrl"
                                },
                                "to_index": 73
                            }
                        ],
                        "text": "This account is verified because it's an affiliate of @X on X. Learn more"
                    },
                    "override_verified_year": -3000,
                    "verified_since_msec": "-156836000000000"
                }
            },
            "website": {
                "url": ""
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/twitter/user/batch

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
usernames required string

Comma-separated usernames without @ (max 20). Example: elonmusk,nasa

GET /v1/user/media

requires authentication

Fetch a user's tweets that contain photos or videos.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/twitter/user/media'
params = {
  'user_id': '44196397',
}
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/media';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'user_id' => '44196397',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/twitter/user/media"
);

const params = {
    "user_id": "44196397",
};
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/media?user_id=44196397" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "user_id": "44196397",
        "count": 1,
        "next_cursor": "DAABCgABHThagI4___0KAAIdFkh5ixbRJAgAAwAAAAIAAA"
    },
    "body": [
        {
            "__typename": "Tweet",
            "core": {
                "user_results": {
                    "result": {
                        "__typename": "User",
                        "action_counts": {
                            "favorites_count": 250189
                        },
                        "affiliates_highlighted_label": {
                            "label": {
                                "badge": {
                                    "url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg"
                                },
                                "description": "X",
                                "url": {
                                    "url": "https://twitter.com/X",
                                    "urlType": "DeepLink"
                                },
                                "userLabelDisplayType": "Badge",
                                "userLabelType": "BusinessLabel"
                            }
                        },
                        "avatar": {
                            "image_url": "https://pbs.twimg.com/profile_images/2103567689515954176/aR-Kjpp4_normal.jpg"
                        },
                        "banner": {
                            "image_url": "https://pbs.twimg.com/profile_banners/44196397/1774145451"
                        },
                        "core": {
                            "created_at": "Tue Jun 02 20:12:29 +0000 2009",
                            "name": "Elon Musk",
                            "screen_name": "elonmusk"
                        },
                        "follow_request_sent": false,
                        "has_graduated_access": true,
                        "id": "VXNlcjo0NDE5NjM5Nw==",
                        "is_blue_verified": true,
                        "location": {
                            "location": ""
                        },
                        "media_permissions": {
                            "can_media_tag": false
                        },
                        "notifications_settings": {
                            "notifications_enabled": false
                        },
                        "parody_commentary_fan_label": "None",
                        "pinned_items": {
                            "tweet_ids_str": [
                                "2103537377239015827"
                            ]
                        },
                        "possibly_sensitive": false,
                        "privacy": {
                            "protected": false
                        },
                        "professional": {
                            "category": [],
                            "professional_type": "Creator",
                            "rest_id": "1679729435447275522"
                        },
                        "profile_bio": {
                            "description": "https://t.co/ZdBx5WABYx",
                            "entities": {
                                "description": {
                                    "urls": [
                                        {
                                            "display_url": "Terafab.AI",
                                            "expanded_url": "http://Terafab.AI",
                                            "indices": [
                                                0,
                                                23
                                            ],
                                            "url": "https://t.co/ZdBx5WABYx"
                                        }
                                    ]
                                }
                            }
                        },
                        "profile_image_shape": "Circle",
                        "profile_metadata": {
                            "profile_interstitial_type": ""
                        },
                        "profile_translation": {
                            "translator_type": "none"
                        },
                        "relationship_counts": {
                            "followers": 241730621,
                            "following": 1414
                        },
                        "relationship_perspectives": {
                            "blocked_by": false,
                            "blocking": false,
                            "followed_by": false,
                            "following": false,
                            "live_following": false,
                            "muting": false
                        },
                        "rest_id": "44196397",
                        "super_follow_eligible": true,
                        "super_followed_by": false,
                        "super_following": false,
                        "tipjar_settings": {
                            "is_enabled": false
                        },
                        "tweet_counts": {
                            "media_tweets": 4726,
                            "tweets": 109266
                        },
                        "verification": {
                            "verified": false
                        },
                        "website": {
                            "url": ""
                        }
                    }
                }
            },
            "edit_control": {
                "edit_tweet_ids": [
                    "2104294902548869550"
                ],
                "editable_until_msecs": "1790541575000",
                "edits_remaining": "5",
                "is_edit_eligible": false
            },
            "grok_analysis_button": true,
            "grok_translated_post_with_availability": {
                "is_available": false
            },
            "is_translatable": false,
            "legacy": {
                "bookmark_count": 114,
                "bookmarked": false,
                "conversation_id_str": "2104274537177129149",
                "created_at": "Sun Sep 27 19:39:35 +0000 2026",
                "display_text_range": [
                    14,
                    15
                ],
                "entities": {
                    "media": [
                        {
                            "display_url": "pic.x.com/gE0MsNILO0",
                            "expanded_url": "https://x.com/elonmusk/status/2104294902548869550/photo/1",
                            "ext_media_availability": {
                                "status": "Available"
                            },
                            "id_str": "2104294892126019584",
                            "indices": [
                                16,
                                39
                            ],
                            "media_key": "16_2104294892126019584",
                            "media_results": {
                                "result": {
                                    "media_key": "16_2104294892126019584"
                                }
                            },
                            "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/HTP1DivXIAAsBWL.jpg",
                            "original_info": {
                                "focus_rects": [],
                                "height": 280,
                                "width": 500
                            },
                            "sizes": {
                                "large": {
                                    "h": 280,
                                    "resize": "fit",
                                    "w": 500
                                },
                                "medium": {
                                    "h": 280,
                                    "resize": "fit",
                                    "w": 500
                                },
                                "small": {
                                    "h": 280,
                                    "resize": "fit",
                                    "w": 500
                                },
                                "thumb": {
                                    "h": 150,
                                    "resize": "crop",
                                    "w": 150
                                }
                            },
                            "type": "animated_gif",
                            "url": "https://t.co/gE0MsNILO0",
                            "video_info": {
                                "aspect_ratio": [
                                    25,
                                    14
                                ],
                                "variants": [
                                    {
                                        "bitrate": 0,
                                        "content_type": "video/mp4",
                                        "url": "https://video.twimg.com/tweet_video/HTP1DivXIAAsBWL.mp4"
                                    }
                                ]
                            }
                        }
                    ],
                    "user_mentions": [
                        {
                            "id_str": "592730371",
                            "indices": [
                                0,
                                13
                            ],
                            "name": "Jack Posobiec",
                            "screen_name": "JackPosobiec"
                        }
                    ]
                },
                "extended_entities": {
                    "media": [
                        {
                            "display_url": "pic.x.com/gE0MsNILO0",
                            "expanded_url": "https://x.com/elonmusk/status/2104294902548869550/photo/1",
                            "ext_media_availability": {
                                "status": "Available"
                            },
                            "id_str": "2104294892126019584",
                            "indices": [
                                16,
                                39
                            ],
                            "media_key": "16_2104294892126019584",
                            "media_results": {
                                "result": {
                                    "media_key": "16_2104294892126019584"
                                }
                            },
                            "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/HTP1DivXIAAsBWL.jpg",
                            "original_info": {
                                "focus_rects": [],
                                "height": 280,
                                "width": 500
                            },
                            "sizes": {
                                "large": {
                                    "h": 280,
                                    "resize": "fit",
                                    "w": 500
                                },
                                "medium": {
                                    "h": 280,
                                    "resize": "fit",
                                    "w": 500
                                },
                                "small": {
                                    "h": 280,
                                    "resize": "fit",
                                    "w": 500
                                },
                                "thumb": {
                                    "h": 150,
                                    "resize": "crop",
                                    "w": 150
                                }
                            },
                            "type": "animated_gif",
                            "url": "https://t.co/gE0MsNILO0",
                            "video_info": {
                                "aspect_ratio": [
                                    25,
                                    14
                                ],
                                "variants": [
                                    {
                                        "bitrate": 0,
                                        "content_type": "video/mp4",
                                        "url": "https://video.twimg.com/tweet_video/HTP1DivXIAAsBWL.mp4"
                                    }
                                ]
                            }
                        }
                    ]
                },
                "favorite_count": 5811,
                "favorited": false,
                "full_text": "@JackPosobiec πŸ’― https://t.co/gE0MsNILO0",
                "id_str": "2104294902548869550",
                "in_reply_to_screen_name": "JackPosobiec",
                "in_reply_to_status_id_str": "2104274537177129149",
                "in_reply_to_user_id_str": "592730371",
                "is_quote_status": false,
                "lang": "qme",
                "possibly_sensitive": false,
                "possibly_sensitive_editable": true,
                "quote_count": 20,
                "reply_count": 337,
                "retweet_count": 207,
                "retweeted": false,
                "user_id_str": "44196397"
            },
            "rest_id": "2104294902548869550",
            "superFollowsReplyUserResult": {
                "result": {
                    "__typename": "User",
                    "core": {
                        "screen_name": "JackPosobiec"
                    }
                }
            },
            "unmention_data": [],
            "views": {
                "count": "302996",
                "state": "EnabledWithCount"
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/twitter/user/media

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 (default 20).

cursor optional string

Pagination cursor from meta.next_cursor.

GET /v1/user/lists

requires authentication

Fetch the public lists a user owns.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/twitter/user/lists'
params = {
  'username': 'nasa',
}
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/lists';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'username' => 'nasa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/twitter/user/lists"
);

const params = {
    "username": "nasa",
};
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/lists?username=nasa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "username": "nasa",
        "count": 1,
        "next_cursor": "5513570520153907201"
    },
    "body": [
        {
            "id": 1970899750481260878,
            "id_str": "1970899750481260878",
            "name": "2025 Astronaut Candidates",
            "uri": "/NASA/lists/1970899750481260878",
            "subscriber_count": 29,
            "member_count": 5,
            "mode": "public",
            "description": "Members of NASA's 2025 astronaut candidate class",
            "slug": "1970899750481260878",
            "full_name": "@NASA/1970899750481260878",
            "created_at": "Wed Sep 24 17:14:52 +0000 2025",
            "following": false,
            "user": {
                "id": 11348282,
                "id_str": "11348282",
                "name": "NASA",
                "screen_name": "NASA",
                "location": "Pale Blue Dot",
                "description": "Making the seemingly impossible, possible. ✨",
                "url": "https://t.co/9NkQJKAnuU",
                "entities": {
                    "url": {
                        "urls": [
                            {
                                "url": "https://t.co/9NkQJKAnuU",
                                "expanded_url": "http://www.nasa.gov/",
                                "display_url": "nasa.gov",
                                "indices": [
                                    0,
                                    23
                                ]
                            }
                        ]
                    },
                    "description": {
                        "urls": []
                    }
                },
                "protected": false,
                "followers_count": 92376751,
                "fast_followers_count": 0,
                "normal_followers_count": 92376751,
                "friends_count": 115,
                "listed_count": 96903,
                "created_at": "Wed Dec 19 20:20:32 +0000 2007",
                "favourites_count": 17003,
                "utc_offset": null,
                "time_zone": null,
                "geo_enabled": false,
                "verified": false,
                "statuses_count": 74348,
                "media_count": 28165,
                "lang": null,
                "contributors_enabled": false,
                "is_translator": false,
                "is_translation_enabled": false,
                "profile_background_color": "000000",
                "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png",
                "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png",
                "profile_background_tile": false,
                "profile_image_url": "http://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg",
                "profile_image_url_https": "https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg",
                "profile_banner_url": "https://pbs.twimg.com/profile_banners/11348282/1788992290",
                "profile_link_color": "205BA7",
                "profile_sidebar_border_color": "000000",
                "profile_sidebar_fill_color": "F3F2F2",
                "profile_text_color": "000000",
                "profile_use_background_image": true,
                "has_extended_profile": true,
                "default_profile": false,
                "default_profile_image": false,
                "pinned_tweet_ids": [],
                "pinned_tweet_ids_str": [],
                "has_custom_timelines": true,
                "can_media_tag": true,
                "followed_by": false,
                "following": false,
                "follow_request_sent": false,
                "notifications": false,
                "advertiser_account_type": "none",
                "advertiser_account_service_levels": [],
                "business_profile_state": "none",
                "translator_type": "regular",
                "withheld_in_countries": [],
                "require_some_consent": false
            }
        }
    ]
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/twitter/user/lists

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
username required string

Twitter username without @. Example: nasa

count optional integer

Number of lists to fetch (default 20, max 100).

cursor optional string

Pagination cursor from meta.next_cursor.

GET /v1/user/relationship

requires authentication

Check whether two accounts follow each other.

Example request:
import requests
import json

url = 'https://api.steadyapi.com/v1/twitter/user/relationship'
params = {
  'source': 'elonmusk',
  'target': 'nasa',
}
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/relationship';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer {YOUR_AUTH_KEY}',
        ],
        'query' => [
            'source' => 'elonmusk',
            'target' => 'nasa',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
const url = new URL(
    "https://api.steadyapi.com/v1/twitter/user/relationship"
);

const params = {
    "source": "elonmusk",
    "target": "nasa",
};
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/relationship?source=elonmusk&target=nasa" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}"

Example response (200, Success):


{
    "meta": {
        "version": "v1.0",
        "status": 200,
        "copywrite": "https://steadyapi.com",
        "source": "elonmusk",
        "target": "nasa"
    },
    "body": {
        "source": {
            "id": 44196397,
            "id_str": "44196397",
            "screen_name": "elonmusk",
            "following": true,
            "followed_by": false,
            "live_following": false,
            "following_received": null,
            "following_requested": null,
            "notifications_enabled": null,
            "can_dm": false,
            "can_media_tag": null,
            "blocking": null,
            "blocked_by": null,
            "muting": null,
            "want_retweets": null,
            "all_replies": null,
            "marked_spam": null
        },
        "target": {
            "id": 11348282,
            "id_str": "11348282",
            "screen_name": "NASA",
            "following": false,
            "followed_by": true,
            "following_received": null,
            "following_requested": null
        }
    }
}
 

Example response (401, Unauthenticated):


{
    "message": "Unauthenticated."
}
 

Example response (422, Error Validations):


{
    "message": "The ticker field is required.",
    "errors": {
        "ticker": [
            "The ticker field is required."
        ]
    }
}
 

Request      

GET v1/twitter/user/relationship

Headers

Authorization Bearer {YOUR_AUTH_KEY}

Query Parameters

Parameter Type Description
source required string

Username of the first account. Example: elonmusk

target required string

Username of the second account. Example: nasa

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": "tech",
        "cursor": "DAAHCgABHThauee___8LAAIAAAAcV3pJNE15NDRNekV6Tml3NE1UVTBNRFl5"
    },
    "body": [
        {
            "created_at": 1592160084000,
            "default_banner_media": {
                "media_info": {
                    "original_img_height": 375,
                    "original_img_url": "https://pbs.twimg.com/media/GkIQIQYWEAAgrG9.png",
                    "original_img_width": 1125,
                    "salient_rect": {
                        "height": 1,
                        "left": 562,
                        "top": 187,
                        "width": 1
                    }
                }
            },
            "default_banner_media_results": [],
            "description": "Tech entrepreneurs, investors, and operators that publish high quality threads consistently.",
            "facepile_urls": [
                "https://pbs.twimg.com/profile_images/1593841792864206848/Ky5zmcaA_mini.jpg",
                "https://pbs.twimg.com/profile_images/1972685728669634560/iQ0AD43Y_mini.png"
            ],
            "followers_context": "4.8K followers including @Philip_Michael",
            "following": false,
            "id": "TGlzdDoxMjcyMjM3NzE5NzMzNzk2ODY2",
            "id_str": "1272237719733796866",
            "is_member": false,
            "member_count": 27,
            "members_context": "27 members",
            "mode": "Public",
            "muting": false,
            "name": "Startupeable: Tech & VC",
            "pinning": false,
            "subscriber_count": 4827,
            "user_results": {
                "result": {
                    "__typename": "User",
                    "action_counts": {
                        "favorites_count": 8290
                    },
                    "affiliates_highlighted_label": [],
                    "avatar": {
                        "image_url": "https://pbs.twimg.com/profile_images/1528885205737435136/o1ng-ZWT_normal.jpg"
                    },
                    "banner": {
                        "image_url": "https://pbs.twimg.com/profile_banners/1038266528/1663466455"
                    },
                    "core": {
                        "created_at": "Wed Dec 26 22:55:57 +0000 2012",
                        "name": "Enzo Cavalie",
                        "screen_name": "enzocavalie"
                    },
                    "follow_request_sent": false,
                    "has_graduated_access": true,
                    "id": "VXNlcjoxMDM4MjY2NTI4",
                    "is_blue_verified": true,
                    "location": {
                        "location": "San Francisco, CA"
                    },
                    "media_permissions": {
                        "can_media_tag": true
                    },
                    "notifications_settings": {
                        "notifications_enabled": false
                    },
                    "parody_commentary_fan_label": "None",
                    "pinned_items": {
                        "tweet_ids_str": [
                            "1591475939241623553"
                        ]
                    },
                    "possibly_sensitive": false,
                    "privacy": {
                        "protected": false
                    },
                    "professional": {
                        "category": [],
                        "professional_type": "Creator",
                        "rest_id": "1478242261381099523"
                    },
                    "profile_bio": {
                        "description": "Telling stories of global founders at @startupeable, LatAm’s #1 Startup Podcast | πŸ‡΅πŸ‡ͺ in πŸ‡ΊπŸ‡² | Previously VC @reachfund",
                        "entities": {
                            "description": [],
                            "url": {
                                "urls": [
                                    {
                                        "display_url": "startupeable.com",
                                        "expanded_url": "http://startupeable.com",
                                        "indices": [
                                            0,
                                            23
                                        ],
                                        "url": "https://t.co/kJz0MfnWAk"
                                    }
                                ]
                            }
                        }
                    },
                    "profile_description_language": "en",
                    "profile_image_shape": "Circle",
                    "profile_metadata": {
                        "profile_interstitial_type": ""
                    },
                    "profile_translation": {
                        "translator_type": "none"
                    },
                    "relationship_counts": {
                        "followers": 107626,
                        "following": 1149
                    },
                    "relationship_perspectives": {
                        "blocked_by": false,
                        "blocking": false,
                        "followed_by": false,
                        "following": false,
                        "live_following": false,
                        "muting": false
                    },
                    "rest_id": "1038266528",
                    "super_follow_eligible": false,
                    "super_followed_by": false,
                    "super_following": false,
                    "tipjar_settings": [],
                    "tweet_counts": {
                        "media_tweets": 631,
                        "tweets": 4662
                    },
                    "verification": {
                        "verified": false
                    },
                    "website": {
                        "url": "https://t.co/kJz0MfnWAk"
                    }
                }
            }
        }
    ]
}
 

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