# Table of Contents - [Pricing | SocialData.Tools: API Documentation](#pricing-socialdata-tools-api-documentation) - [SDKs and Code Examples | SocialData.Tools: API Documentation](#sdks-and-code-examples-socialdata-tools-api-documentation) - [Authentication | SocialData.Tools: API Documentation](#authentication-socialdata-tools-api-documentation) - [Retrieve all users who retweeted a tweet | SocialData.Tools: API Documentation](#retrieve-all-users-who-retweeted-a-tweet-socialdata-tools-api-documentation) - [Retrieve user's following | SocialData.Tools: API Documentation](#retrieve-user-s-following-socialdata-tools-api-documentation) - [Retrieve profile's affiliated users | SocialData.Tools: API Documentation](#retrieve-profile-s-affiliated-users-socialdata-tools-api-documentation) - [Retrieve thread | SocialData.Tools: API Documentation](#retrieve-thread-socialdata-tools-api-documentation) - [Retrieve tweets and replies made by a specific user | SocialData.Tools: API Documentation](#retrieve-tweets-and-replies-made-by-a-specific-user-socialdata-tools-api-documentation) - [Retrieve likes made by a specific user | SocialData.Tools: API Documentation](#retrieve-likes-made-by-a-specific-user-socialdata-tools-api-documentation) - [Retrieve user's highlighted tweets | SocialData.Tools: API Documentation](#retrieve-user-s-highlighted-tweets-socialdata-tools-api-documentation) - [Retrieve user's followers | SocialData.Tools: API Documentation](#retrieve-user-s-followers-socialdata-tools-api-documentation) - [Retrieve tweet details | SocialData.Tools: API Documentation](#retrieve-tweet-details-socialdata-tools-api-documentation) - [Retrieve user profile details | SocialData.Tools: API Documentation](#retrieve-user-profile-details-socialdata-tools-api-documentation) - [Retrieve user's lists | SocialData.Tools: API Documentation](#retrieve-user-s-lists-socialdata-tools-api-documentation) - [Retrieve search results by keyword | SocialData.Tools: API Documentation](#retrieve-search-results-by-keyword-socialdata-tools-api-documentation) - [Retrieve all users who liked a tweet | SocialData.Tools: API Documentation](#retrieve-all-users-who-liked-a-tweet-socialdata-tools-api-documentation) - [Retrieve user's articles | SocialData.Tools: API Documentation](#retrieve-user-s-articles-socialdata-tools-api-documentation) - [Retrieve article details | SocialData.Tools: API Documentation](#retrieve-article-details-socialdata-tools-api-documentation) - [Retrieve community members | SocialData.Tools: API Documentation](#retrieve-community-members-socialdata-tools-api-documentation) --- # Pricing | SocialData.Tools: API Documentation SocialData API follows a usage-based pricing system, where the exact amount charged against your balance is determined by the amount of data you retrieve. To access the API, users need to maintain a positive balance in their account, otherwise their request will be rejected with HTTP 402 Payment Required status code. Each _successful_ request made to our API consumes a certain amount from your balance. The exact charge per request varies depending on the specific API endpoint and the amount of data returned (e.g. if an endpoint returns 20 tweets in one response, each of these tweets will be charged). On rare occasions our system will fail to retrieve any data from X. Failed requests do not consume any balance, ensuring fair and accurate billing. [](#pricing-per-endpoint) Pricing per Endpoint --------------------------------------------------- Data Type Endpoints Rate **User Profile** GET /twitter/user/\[user\_id\] GET /twitter/user/\[user\_id\]/affiliates GET /twitter/user/\[user\_id\]/articles GET /twitter/user/\[username\] GET /twitter/list/members GET /twitter/tweets/\[tweet\_id\]/liking\_users GET /twitter/tweets/\[tweet\_id\]/retweeted\_by GET /twitter/followers/list GET /twitter/friends/list **$0.0002** per each user object returned in response **Tweet** GET /twitter/statuses/show GET /twitter/thread/\[id\] GET /twitter/tweets/\[tweet\_id\] GET /twitter/article/\[article\_id\] GET /twitter/search GET /twitter/user/\[user\_id\]/tweets GET /twitter/user/\[user\_id\]/tweets-and-replies GET /twitter/user/\[user\_id\]/likes GET /twitter/user/\[user\_id\]/highlights **$0.0002** per each tweet returned in response **Space** GET /twitter/spaces/show **$0.0002** per each follower or friend returned in response **Lists** GET /twitter/lists/show GET /twitter/user/\[user\_id\]/lists **$0.0002** per each list object [](#fair-use-policy) Fair-use Policy ----------------------------------------- By default, requests that do not return any data are not charged against your account. However, please note that even though these requests are not billed, they still impose a burden on the platform and generate costs. To provide a certain level of free usage, every account is entitled to make up to 3 requests per minute without incurring any charges. Any requests made beyond the initial 3 free requests per minute will be treated as billable request and assumed to return a single item of data (e.g. tweet, user, list or space). [PreviousAuthentication](/docs/authentication) [NextSDKs and Code Examples](/docs/sdks-and-code-examples) Last updated 7 months ago --- # SDKs and Code Examples | SocialData.Tools: API Documentation While there are no official SDKs for SocialData API at the moment, there are a number of projects using SocialData that open sourced their implementation: [](#javascript) JavaScript ------------------------------- * **Twitter Personality** by Wordware AI [https://github.com/wordware-ai/twitter](https://github.com/wordware-ai/twitter) * **Agentic** by [@transitive\_bs](https://x.com/transitive_bs) [https://github.com/transitive-bullshit/agentic](https://github.com/transitive-bullshit/agentic) * **Shiptalkers** by [@RhysSullivan](https://x.com/RhysSullivan) [https://github.com/RhysSullivan/shiptalkers](https://github.com/RhysSullivan/shiptalkers) [PreviousPricing](/docs/pricing) [NextRetrieve tweet details](/docs/twitter-tweets/retrieve-tweet-details) Last updated 3 months ago --- # Authentication | SocialData.Tools: API Documentation Each request to SocialData API needs to contain your API key. All unauthenticated requests are rejected. [](#obtaining-your-api-key) Obtaining Your API Key ------------------------------------------------------- To authenticate with the SocialData API, you will need to obtain an API key. This key must be included in the Authorization header of every HTTP request you make. Follow these steps to get your Bearer token: 1. **Sign Up**: Create an account on the SocialData platform. 2. **API Key**: After signing up, generate your API key in user dashboard. Keep this key confidential, as it is your private access to the API. [](#using-your-api-key) Using Your API Key ----------------------------------------------- Once you have your Bearer token, you can use it in the Authorization header with the keyword 'Bearer' followed by a space and then your token. Here's an example of what the Authorization header should look like: Copy Authorization: Bearer YOUR_API_KEY Hereโ€™s a sample cURL request to illustrate how to include the Authorization header in your API calls: Copy curl -X GET "https://api.socialdata.tools/twitter/statuses/show?id=1740192018918170738" \ -H "Accept: application/json" \ -H "Authorization: Bearer YOUR_API_KEY" [](#important-notes) Important Notes ----------------------------------------- * **Security**: Do not expose your API Key publicly. Treat it as you would your password, as it grants access to your SocialData API service and budget. * **Expiration**: API Keys do not have an expiration date. However you are free to generate a new API key at any moment in your user dashboard. [PreviousGetting Started](/docs) [NextPricing](/docs/pricing) Last updated 7 months ago --- # Retrieve all users who retweeted a tweet | SocialData.Tools: API Documentation This endpoint returns an array of user profiles that retweeted the target tweet identified by `tweet_id`. The profiles are returned in reverse chronological order, with the most recent retweets appearing on the first page. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/tweets/[tweet_id]/retweeted_by?cursor=... ### [](#endpoint-parameters) Endpoint parameters Name Description Example tweet\_id **(Required)** The numerical ID of the desired Tweet. 1729591119699124560 cursor (optional) Cursor value obtained from next\_cursor response property. Omit this value to retrieve the first page HBbS87H7icrezjEAAA== **Common Issues and Best Practices** * In languages where the `tweet_id` value exceeds the default Integer type limit (e.g., Node.js), store `tweet_id` as a string. Use the `id_str` property returned by the API for these values * Always URL-encode the `cursor` value when passing it back to the API for subsequent requests ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/tweets/1625802236571033602/retweeted_by" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "HBbS87H7icrezjEAAA==", "users": [\ {\ "id": 1547124452596523008,\ "id_str": "1547124452596523008",\ "name": "Gwendal Brossard",\ "screen_name": "GwendalBrossard",\ "location": "Building",\ "url": "https:\/\/t.co\/6o4TTYu7LQ",\ "description": "I'm an indie maker building products \ud83d\udc68\u200d\ud83d\udcbb @PaletteBrain\u2506https:\/\/t.co\/BEadk6UDlz \u2728",\ "protected": false,\ "verified": false,\ "followers_count": 3557,\ "friends_count": 149,\ "listed_count": 41,\ "favourites_count": 12425,\ "statuses_count": 6778,\ "created_at": "2022-07-13T07:43:56.000000Z",\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/1547124452596523008\/1672736091",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1572151372455313409\/qq1yH56d_normal.jpg",\ "can_dm": true\ },\ ...\ ] } // If failed: { "status":"error", "message":"Tweet not found" } [PreviousRetrieve article details](/docs/twitter-tweets/retrieve-article-details) [NextRetrieve search results by keyword](/docs/twitter-tweets/retrieve-search-results-by-keyword) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve user's following | SocialData.Tools: API Documentation This endpoint returns an array of user profiles that the target profile (identified by `user_id`) is following. The profiles are returned in reverse chronological order, with the most recently followed profile appearing on the first page. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/friends/list?user_id=... ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The numeric ID of the desired user. 1625802236571033602 cursor (optional) Cursor value obtained from next\_cursor response property Omit this value to retrieve the first page 4611686018541662731|1741085517660815316 **Common Issues and Best Practices** * In languages where the`user_id` value exceeds the default Integer type limit (e.g., Node.js), store `user_id` as a string. Use the `id_str` property returned by the API for these values ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/friends/list?user_id=1625802236571033602" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' [![](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "4611686018541662731|1741080922217775060", "users": [\ {\ "id": 1547124452596523008,\ "id_str": "1547124452596523008",\ "name": "Gwendal Brossard",\ "screen_name": "GwendalBrossard",\ "location": "Building",\ "url": "https:\/\/t.co\/6o4TTYu7LQ",\ "description": "I'm an indie maker building products \ud83d\udc68\u200d\ud83d\udcbb @PaletteBrain\u2506https:\/\/t.co\/BEadk6UDlz \u2728",\ "protected": false,\ "verified": false,\ "followers_count": 3557,\ "friends_count": 149,\ "listed_count": 41,\ "favourites_count": 12425,\ "statuses_count": 6778,\ "created_at": "2022-07-13T07:43:56.000000Z",\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/1547124452596523008\/1672736091",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1572151372455313409\/qq1yH56d_normal.jpg",\ "can_dm": true\ },\ ...\ ] } // If failed: { "status":"error", "message":"User not found" } [PreviousRetrieve user's followers](/docs/twitter-users/retrieve-users-followers) [NextRetrieve user's lists](/docs/twitter-users/retrieve-users-lists) Last updated 3 months ago --- # Retrieve profile's affiliated users | SocialData.Tools: API Documentation Verified organization profiles (i.e. users with the gold checkmark) occasionally have affiliated accounts listed under "Affiliates" tab on their profile page. The endpoint returns an array of user profiles affiliated with this organization. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/user/[user_id]/affiliates ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The ID of the user for whom to return results. 783214 cursor (Optional) Cursor value obtained from next\_cursor response property. Used to retrieve the next page of results Omit this value to retrieve the first page DAACCgACGC12FhmAJxAKAAMYLXYWGX\_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0d... **Common Issues and Best Practices** * In languages where the `user_id` value exceeds the default Integer type limit (e.g., Node.js), store `user_id` as a string. Use the `id_str` property returned by the API for these values * Always URL-encode the `cursor` value when passing it back to the API for subsequent requests ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested user profile does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/user/783214/affiliates" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "users": [\ {\ "id": 1076061,\ "id_str": "1076061",\ "name": "Keith Coleman ๐ŸŒฑ๐Ÿ˜€๐Ÿ™Œ",\ "screen_name": "kcoleman",\ "location": "San Francisco, CA",\ "url": null,\ "description": "VP Product @X. Previously CEO at Yes Inc, @google ๐Ÿ™Œ",\ "protected": false,\ "verified": true,\ "followers_count": 30521,\ "friends_count": 825,\ "listed_count": 334,\ "favourites_count": 14063,\ "statuses_count": 2734,\ "created_at": "2007-03-13T08:18:45.000000Z",\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/1076061\/1478574872",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1093367487566012416\/9Wc1J-Pk_normal.jpg",\ "can_dm": true\ },\ ...\ ], "next_cursor": "DAAHCgABGPytdBi__-wLAAIAAAAIMTUxMzM0ODEIAAMAAAACAAA" } // If failed: { "status":"error", "message":"User with screenname [...] not found on Twitter" } [PreviousRetrieve user profile details](/docs/twitter-users/retrieve-user-profile-details) [NextRetrieve tweets and replies made by a specific user](/docs/twitter-users/retrieve-tweets-and-replies-made-by-a-specific-user) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve thread | SocialData.Tools: API Documentation Returns an array of tweets associated with a thread and a next\_cursor value used to retrieve more pages (if the thread contains more than 30 posts) ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/thread/[id]?cursor=... ### [](#endpoint-parameters) Endpoint parameters Name Description Example id **(Required)** The numerical ID of a thread's first tweet 1549281861687451648 cursor (Optional) Cursor value obtained from next\_cursor response property PAAAAPAtPBwcFoCAsrHQ6pOAKxUC... **Common Issues and Best Practices** * In languages where the `id` value exceeds the default Integer type limit (e.g., Node.js), store `id` as a string. Use the `id_str` property returned by the API for these values * Always URL-encode the `cursor` value when passing it back to the API for subsequent requests ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/thread/1549281861687451648" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "tweets": [\ {\ "tweet_created_at": "2022-07-19T06:35:54+00:00",\ "id": 1549281861687451648,\ "id_str": "1549281861687451648",\ "text": null,\ "full_text": "100 tips I learned growing an iOS app to ~$5M in sales in 3 yrs, going through YC 1.5 times, and co-founding @Superwall ๐Ÿ‘‡",\ "source": "chirr.app<\/a>",\ "truncated": false,\ "in_reply_to_status_id": null,\ "in_reply_to_status_id_str": null,\ "in_reply_to_user_id": null,\ "in_reply_to_user_id_str": null,\ "in_reply_to_screen_name": null,\ "user": {\ "id": 15118774,\ "id_str": "15118774",\ "name": "Jake Mor",\ "screen_name": "jakemor",\ "location": "New York, USA",\ "url": "http:\/\/superwall.com",\ "description": "CEO @Superwall โ€” build & test paywalls without shipping updates. Past: Founder @FitnessAI_ (acquired). YC W20 & S21",\ "protected": false,\ "verified": true,\ "followers_count": 5423,\ "friends_count": 556,\ "listed_count": 95,\ "favourites_count": 1161,\ "statuses_count": 1683,\ "created_at": "2008-06-14T18:37:41+00:00",\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/15118774\/1636564314",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1167559170540875777\/nRn7p8em_normal.jpg",\ "can_dm": true\ },\ "quoted_status_id": null,\ "quoted_status_id_str": null,\ "is_quote_status": false,\ "quoted_status": null,\ "retweeted_status": null,\ "quote_count": 73,\ "reply_count": 105,\ "retweet_count": 492,\ "favorite_count": 9419,\ "views_count": null,\ "bookmark_count": 4614,\ "lang": "en",\ "entities": {\ "user_mentions": [\ {\ "id_str": "1427520876325613571",\ "name": "Superwall",\ "screen_name": "Superwall",\ "indices": [\ 109,\ 119\ ]\ }\ ],\ "urls": [],\ "hashtags": [],\ "symbols": []\ },\ "is_pinned": false\ },\ ...\ ], "next_cursor": "PAAAAPAtPBwcFoCAsrHQ6pOAKxUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNTQ5MjgxODYyNDYzNTA0Mzg0IgAA" } // If failed: { "status":"error", "message":"Tweet not found" } [PreviousRetrieve tweet details](/docs/twitter-tweets/retrieve-tweet-details) [NextRetrieve article details](/docs/twitter-tweets/retrieve-article-details) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve tweets and replies made by a specific user | SocialData.Tools: API Documentation Returns array of tweets from the user's tweets and replies timeline. Typically Twitter returns ~20 results per page. You can request additional search results by sending another request to the same endpoint using cursor parameter. This endpoint doesn't support any filters and we can't adjust the number of items returned in the response. To have more flexibility - you may also use the [Search endpoint](/docs/twitter-tweets/retrieve-search-results-by-keyword) with `from:USERNAME` query to retrieve the user's timeline. ### [](#endpoint) Endpoint To request only user's tweets timeline: Copy GET https://api.socialdata.tools/twitter/user/[user_id]/tweets?cursor=... To request only user's replies timeline (this will also include own tweets): Copy GET https://api.socialdata.tools/twitter/user/[user_id]/tweets-and-replies?cursor=... ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The ID of the user for whom to return results. 443198458 cursor (Optional) Cursor value obtained from next\_cursor response property Omit this value to retrieve the first page DAACCgACGC12FhmAJxAKAAMYLXYWGX\_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0d... **Common Issues and Best Practices** * In languages where the`user_id` value exceeds the default Integer type limit (e.g., Node.js), store `user_id` as a string. Use the `id_str` property returned by the API for these values * Always URL-encode the `cursor` value when passing it back to the API for subsequent requests ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 403 Forbidden** - user's profile is set to "protected" * **HTTP 404 Not Found** - requested user does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/user/443198458/tweets-and-replies" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "DAACCgACGC12FhmAJxAKAAMYLXYWGX_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJNWUxTNkQyQmFoUXhndFRReS9Ga0NOR0MwZG9yS1hzU2NZTFFwYm0xY1I0aGd0YmhZc1drQ3FHQzBjUXNSV1lSZ1lMVml5V3BxQU9CZ3RMbUhUV2tDb0dDMVFuVW1YMEFzWUxKYURhOVpob3hndFZtaklGakNNR0MxWGdlT1dZSE1ZTFRYNFNwZUEraGd0Y2h2bEYxRkxHQzFNMi83V1VGc1lMTTZwemhZQWt4Z3RWMkJKbDNGN0dDMWFGTXBYUUY4WUxUUERuRlp3UVE9PQgABgAAAAAIAAcAAAAADAAICgABGCyWg2vWYaMAAAA", "tweets": [\ {\ "tweet_created_at": "2023-12-13T05:39:09.000000Z",\ "id_str": "1734810168053956719",\ "text": null,\ "full_text": "@TeslaHype Pace of Progress",\ "source": "Twitter for iPhone<\\/a>",\ "truncated": false,\ "in_reply_to_status_id_str": "1734777084268920960",\ "in_reply_to_user_id_str": "1311506622821400581",\ "in_reply_to_screen_name": "TeslaHype",\ "user": {\ "id_str": "44196397",\ "name": "Elon Musk",\ "screen_name": "elonmusk",\ "location": "\\ud835\\udd4f\\u00d0",\ "url": null,\ "description": "",\ "protected": false,\ "verified": false,\ "followers_count": 166213349,\ "friends_count": 506,\ "listed_count": 149586,\ "favourites_count": 37958,\ "statuses_count": 34934,\ "created_at": "2009-06-02T20:12:29.000000Z",\ "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312",\ "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg",\ "can_dm": false\ },\ "quoted_status_id_str": null,\ "is_quote_status": false,\ "quoted_status": null,\ "retweeted_status": null,\ "quote_count": 11,\ "reply_count": 156,\ "retweet_count": 78,\ "favorite_count": 977,\ "lang": "en",\ "entities": {\ "user_mentions": [\ {\ "id_str": "1311506622821400581",\ "name": "Tesla Hype",\ "screen_name": "TeslaHype",\ "indices": [\ 0,\ 10\ ]\ }\ ],\ "urls": [],\ "hashtags": [],\ "symbols": []\ },\ "views_count": 32377,\ "bookmark_count": 19\ },\ {\ "tweet_created_at": "2023-12-13T05:38:26.000000Z",\ "id_str": "1734809984674693446",\ "text": null,\ "full_text": "@anammostarac Yeah",\ "source": "Twitter for iPhone<\\/a>",\ "truncated": false,\ "in_reply_to_status_id_str": "1734809562258276654",\ "in_reply_to_user_id_str": "2852570664",\ "in_reply_to_screen_name": "anammostarac",\ "user": {\ "id_str": "44196397",\ "name": "Elon Musk",\ "screen_name": "elonmusk",\ "location": "\\ud835\\udd4f\\u00d0",\ "url": null,\ "description": "",\ "protected": false,\ "verified": false,\ "followers_count": 166213349,\ "friends_count": 506,\ "listed_count": 149586,\ "favourites_count": 37958,\ "statuses_count": 34934,\ "created_at": "2009-06-02T20:12:29.000000Z",\ "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312",\ "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg",\ "can_dm": false\ },\ "quoted_status_id_str": null,\ "is_quote_status": false,\ "quoted_status": null,\ "retweeted_status": null,\ "quote_count": 4,\ "reply_count": 64,\ "retweet_count": 30,\ "favorite_count": 513,\ "lang": "en",\ "entities": {\ "user_mentions": [\ {\ "id_str": "2852570664",\ "name": "Ana Mostarac",\ "screen_name": "anammostarac",\ "indices": [\ 0,\ 13\ ]\ }\ ],\ "urls": [],\ "hashtags": [],\ "symbols": []\ },\ "views_count": 25579,\ "bookmark_count": 3\ }\ ] ] // If failed: { "status":"error", "message":"Failed to fetch data from Twitter" } [PreviousRetrieve profile's affiliated users](/docs/twitter-users/retrieve-profiles-affiliated-users) [NextRetrieve likes made by a specific user](/docs/twitter-users/retrieve-likes-made-by-a-specific-user) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve likes made by a specific user | SocialData.Tools: API Documentation **Due to Twitter's decision to make likes private for all users, this endpoint is unable to provide any data.** Returns array of tweets from the user's likes timeline. Typically Twitter returns ~20 results per page. You can request additional search results by sending another request to the same endpoint using cursor parameter. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/user/[user_id]/likes ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The ID of the user for whom to return results. 443198458 cursor (Optional) Cursor value obtained from next\_cursor response property Omit this value to retrieve the first page DAACCgACGC12FhmAJxAKAAMYLXYWGX\_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0d... ### [](#endpoint-codes) Endpoint codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 403 Forbidden** - user's profile is set to "protected" * **HTTP 404 Not Found** - requested user does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/user/443198458/likes" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "DAACCgACGC12FhmAJxAKAAMYLXYWGX_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJNWUxTNkQyQmFoUXhndFRReS9Ga0NOR0MwZG9yS1hzU2NZTFFwYm0xY1I0aGd0YmhZc1drQ3FHQzBjUXNSV1lSZ1lMVml5V3BxQU9CZ3RMbUhUV2tDb0dDMVFuVW1YMEFzWUxKYURhOVpob3hndFZtaklGakNNR0MxWGdlT1dZSE1ZTFRYNFNwZUEraGd0Y2h2bEYxRkxHQzFNMi83V1VGc1lMTTZwemhZQWt4Z3RWMkJKbDNGN0dDMWFGTXBYUUY4WUxUUERuRlp3UVE9PQgABgAAAAAIAAcAAAAADAAICgABGCyWg2vWYaMAAAA", "tweets": [\ {\ "tweet_created_at": "2023-12-13T05:39:09.000000Z",\ "id_str": "1734810168053956719",\ "text": null,\ "full_text": "@TeslaHype Pace of Progress",\ "source": "Twitter for iPhone<\\/a>",\ "truncated": false,\ "in_reply_to_status_id_str": "1734777084268920960",\ "in_reply_to_user_id_str": "1311506622821400581",\ "in_reply_to_screen_name": "TeslaHype",\ "user": {\ "id_str": "44196397",\ "name": "Elon Musk",\ "screen_name": "elonmusk",\ "location": "\\ud835\\udd4f\\u00d0",\ "url": null,\ "description": "",\ "protected": false,\ "verified": false,\ "followers_count": 166213349,\ "friends_count": 506,\ "listed_count": 149586,\ "favourites_count": 37958,\ "statuses_count": 34934,\ "created_at": "2009-06-02T20:12:29.000000Z",\ "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312",\ "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg",\ "can_dm": false\ },\ "quoted_status_id_str": null,\ "is_quote_status": false,\ "quoted_status": null,\ "retweeted_status": null,\ "quote_count": 11,\ "reply_count": 156,\ "retweet_count": 78,\ "favorite_count": 977,\ "lang": "en",\ "entities": {\ "user_mentions": [\ {\ "id_str": "1311506622821400581",\ "name": "Tesla Hype",\ "screen_name": "TeslaHype",\ "indices": [\ 0,\ 10\ ]\ }\ ],\ "urls": [],\ "hashtags": [],\ "symbols": []\ },\ "views_count": 32377,\ "bookmark_count": 19\ },\ {\ "tweet_created_at": "2023-12-13T05:38:26.000000Z",\ "id_str": "1734809984674693446",\ "text": null,\ "full_text": "@anammostarac Yeah",\ "source": "Twitter for iPhone<\\/a>",\ "truncated": false,\ "in_reply_to_status_id_str": "1734809562258276654",\ "in_reply_to_user_id_str": "2852570664",\ "in_reply_to_screen_name": "anammostarac",\ "user": {\ "id_str": "44196397",\ "name": "Elon Musk",\ "screen_name": "elonmusk",\ "location": "\\ud835\\udd4f\\u00d0",\ "url": null,\ "description": "",\ "protected": false,\ "verified": false,\ "followers_count": 166213349,\ "friends_count": 506,\ "listed_count": 149586,\ "favourites_count": 37958,\ "statuses_count": 34934,\ "created_at": "2009-06-02T20:12:29.000000Z",\ "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312",\ "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg",\ "can_dm": false\ },\ "quoted_status_id_str": null,\ "is_quote_status": false,\ "quoted_status": null,\ "retweeted_status": null,\ "quote_count": 4,\ "reply_count": 64,\ "retweet_count": 30,\ "favorite_count": 513,\ "lang": "en",\ "entities": {\ "user_mentions": [\ {\ "id_str": "2852570664",\ "name": "Ana Mostarac",\ "screen_name": "anammostarac",\ "indices": [\ 0,\ 13\ ]\ }\ ],\ "urls": [],\ "hashtags": [],\ "symbols": []\ },\ "views_count": 25579,\ "bookmark_count": 3\ }\ ] ] // If failed: { "status":"error", "message":"Failed to fetch data from Twitter" } [PreviousRetrieve tweets and replies made by a specific user](/docs/twitter-users/retrieve-tweets-and-replies-made-by-a-specific-user) [NextRetrieve user's articles](/docs/twitter-users/retrieve-users-articles) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve user's highlighted tweets | SocialData.Tools: API Documentation Returns array of tweets from the user's Highlights tab. Typically Twitter returns ~20 results per page. You can request additional results by sending another request to the same endpoint using cursor parameter. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/user/[user_id]/highlights ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The ID of the user for whom to return results. 783214 cursor (Optional) Cursor value obtained from next\_cursor response property Omit this value to retrieve the first page DAACCgACGC12FhmAJxAKAAMYLXYWGX\_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0d... **Common Issues and Best Practices** * In languages where the `user_id` value exceeds the default Integer type limit (e.g., Node.js), store `user_id` as a string. Use the `id_str` property returned by the API for these values * Always URL-encode the `cursor` value when passing it back to the API for subsequent requests ### [](#endpoint-codes) Endpoint codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 403 Forbidden** - user's profile is set to "protected" * **HTTP 404 Not Found** - requested user does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/user/783214/highlights" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "DAACCgACGC12FhmAJxAKAAMYLXYWGX_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJNWUxTNkQyQmFoUXhndFRReS9Ga0NOR0MwZG9yS1hzU2NZTFFwYm0xY1I0aGd0YmhZc1drQ3FHQzBjUXNSV1lSZ1lMVml5V3BxQU9CZ3RMbUhUV2tDb0dDMVFuVW1YMEFzWUxKYURhOVpob3hndFZtaklGakNNR0MxWGdlT1dZSE1ZTFRYNFNwZUEraGd0Y2h2bEYxRkxHQzFNMi83V1VGc1lMTTZwemhZQWt4Z3RWMkJKbDNGN0dDMWFGTXBYUUY4WUxUUERuRlp3UVE9PQgABgAAAAAIAAcAAAAADAAICgABGCyWg2vWYaMAAAA", "tweets": [\ {\ "tweet_created_at": "2024-05-15T22:33:29.000000Z",\ "id": 1790873164374810919,\ "id_str": "1790873164374810919",\ "text": null,\ "full_text": "https:\/\/t.co\/mS960WQX4Y",\ "source": "Twitter Web App<\/a>",\ "truncated": false,\ "in_reply_to_status_id": null,\ "in_reply_to_status_id_str": null,\ "in_reply_to_user_id": null,\ "in_reply_to_user_id_str": null,\ "in_reply_to_screen_name": null,\ "user": {\ "id": 783214,\ "id_str": "783214",\ "name": "X",\ "screen_name": "X",\ "location": "everywhere",\ "url": "https:\/\/about.x.com\/",\ "description": "what's happening?!",\ "protected": false,\ "verified": true,\ "followers_count": 67739714,\ "friends_count": 0,\ "listed_count": 88755,\ "favourites_count": 5892,\ "statuses_count": 15327,\ "created_at": "2007-02-20T14:35:54.000000Z",\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/783214\/1690175171",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1683899100922511378\/5lY42eHs_normal.jpg",\ "can_dm": false\ }\ },\ ...\ ] ] // If failed: { "status":"error", "message":"Failed to fetch data from Twitter" } [PreviousRetrieve user's articles](/docs/twitter-users/retrieve-users-articles) [NextRetrieve user's followers](/docs/twitter-users/retrieve-users-followers) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve user's followers | SocialData.Tools: API Documentation This endpoint returns an array of user profiles that are following the target profile identified by `user_id`. The profiles are returned in reverse chronological order, with the most recent followers appearing on the first page. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/followers/list?user_id=... ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The numeric ID of the desired user. 1625802236571033602 cursor (optional) Cursor value obtained from next\_cursor response property Omit this value to retrieve the first page 4611686018541662731|1741085517660815316 **Common Issues and Best Practices** * In languages where the`user_id` value exceeds the default Integer type limit (e.g., Node.js), store `user_id` as a string. Use the `id_str` property returned by the API for these values ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/followers/list?user_id=1625802236571033602" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "4611686018541662731|1741080922217775060", "users": [\ {\ "id": 1547124452596523008,\ "id_str": "1547124452596523008",\ "name": "Gwendal Brossard",\ "screen_name": "GwendalBrossard",\ "location": "Building",\ "url": "https:\/\/t.co\/6o4TTYu7LQ",\ "description": "I'm an indie maker building products \ud83d\udc68\u200d\ud83d\udcbb @PaletteBrain\u2506https:\/\/t.co\/BEadk6UDlz \u2728",\ "protected": false,\ "verified": false,\ "followers_count": 3557,\ "friends_count": 149,\ "listed_count": 41,\ "favourites_count": 12425,\ "statuses_count": 6778,\ "created_at": "2022-07-13T07:43:56.000000Z",\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/1547124452596523008\/1672736091",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1572151372455313409\/qq1yH56d_normal.jpg",\ "can_dm": true\ },\ ...\ ] } // If failed: { "status":"error", "message":"User not found" } [PreviousRetrieve user's highlighted tweets](/docs/twitter-users/retrieve-users-highlighted-tweets) [NextRetrieve user's following](/docs/twitter-users/retrieve-users-following) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve tweet details | SocialData.Tools: API Documentation ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/statuses/show?id=... or GET https://api.socialdata.tools/twitter/tweets/[id] ### [](#endpoint-parameters) Endpoint parameters Name Description Example id **(Required)** The numerical ID of the desired Tweet. 1729591119699124560 **Common Issues and Best Practices** * In languages where the `id` value exceeds the default Integer type limit (e.g., Node.js), store `id` as a string. Use the `id_str` property returned by the API for these values ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/statuses/show?id=1729591119699124560" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json ### [](#example-response) Example response Copy // If succeeded: { "tweet_created_at": "2023-11-28T20:00:31.000000Z", "id": 1729591119699124560, "id_str": "1729591119699124560", "text": null, "full_text": "Cybertruck deliveries start on Thursday", "source": "Twitter for iPhone<\\/a>", "truncated": false, "in_reply_to_status_id": null, "in_reply_to_status_id_str": null, "in_reply_to_user_id": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "user": { "id": 44196397, "id_str": "44196397", "name": "Elon Musk", "screen_name": "elonmusk", "location": "\\ud835\\udd4f\\u00d0", "url": null, "description": "", "protected": false, "verified": false, "followers_count": 166212541, "friends_count": 506, "listed_count": 149575, "favourites_count": 37987, "statuses_count": 34934, "created_at": "2009-06-02T20:12:29.000000Z", "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312", "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg", "can_dm": false }, "quoted_status_id": null, "quoted_status_id_str": null, "is_quote_status": false, "quoted_status": null, "retweeted_status": null, "quote_count": 2401, "reply_count": 27681, "retweet_count": 17203, "favorite_count": 174519, "lang": "en", "entities": { "user_mentions": [], "urls": [], "hashtags": [], "symbols": [] }, "views_count": 37826996, "bookmark_count": 1321 } // If failed: { "status":"error", "message":"Tweet not found" } [PreviousSDKs and Code Examples](/docs/sdks-and-code-examples) [NextRetrieve thread](/docs/twitter-tweets/retrieve-thread) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve user profile details | SocialData.Tools: API Documentation ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/user/[user_id] or GET https://api.socialdata.tools/twitter/user/[screen_name] ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The ID of the user for whom to return results. Either an id or screen\_name is required for this method. 44196397 screen\_name **(Required)** The screen name of the user for whom to return results. Either a id or screen\_name is required for this method. elonmusk **Common Issues and Best Practices** * In languages where the `user_id` value exceeds the default Integer type limit (e.g., Node.js), store `user_id` as a string. Use the `id_str` property returned by the API for these values ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/user/elonmusk" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "id": 44196397, "id_str": "44196397", "name": "Elon Musk", "screen_name": "elonmusk", "location": "\\ud835\\udd4f\\u00d0", "url": null, "description": "", "protected": false, "verified": false, "followers_count": 166213974, "friends_count": 506, "listed_count": 149577, "favourites_count": 37987, "statuses_count": 34934, "created_at": "2009-06-02T20:12:29.000000Z", "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312", "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg", "can_dm": null } // If failed: { "status":"error", "message":"User with screenname [...] not found on Twitter" } [PreviousRetrieve all users who liked a tweet](/docs/twitter-tweets/retrieve-all-users-who-liked-a-tweet) [NextRetrieve profile's affiliated users](/docs/twitter-users/retrieve-profiles-affiliated-users) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve user's lists | SocialData.Tools: API Documentation Returns array of lists a user created or is subscribed to. Typically Twitter returns up to 100 lists per page. You can request additional results by sending another request to the same endpoint using cursor parameter. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/user/[user_id]/lists ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The ID of the user for whom to return results 443198458 cursor (Optional) Cursor value obtained from next\_cursor response property Omit this value to retrieve the first page 1545854927532064769|1752635122160500639 **Common Issues and Best Practices** * In languages where the`user_id` value exceeds the default Integer type limit (e.g., Node.js), store `tweet_id` and `user_id` as strings. Use the `id_str` property returned by the API for these values ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 403 Forbidden** - user's profile is set to "protected" * **HTTP 404 Not Found** - requested user does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/user/343990983/lists" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "1545854927532064769|1752635769203195807", "lists": [\ {\ "created_at": 1668221936000,\ "default_banner_media": {\ "media_info": {\ "original_img_url": "https:\/\/pbs.twimg.com\/media\/EXZ2mJCUEAEbJb3.png",\ "original_img_width": 1125,\ "original_img_height": 375,\ "salient_rect": {\ "left": 562,\ "top": 187,\ "width": 1,\ "height": 1\ }\ }\ },\ "default_banner_media_results": {\ "result": {\ "id": "QXBpTWVkaWE6DAABCgABEXZ2mJCUEAEKAAIQF4A+eBQgAAAA",\ "media_key": "3_1258323543529361409",\ "media_id": "1258323543529361409",\ "media_info": {\ "__typename": "ApiImage",\ "original_img_height": 375,\ "original_img_width": 1125,\ "original_img_url": "https:\/\/pbs.twimg.com\/media\/EXZ2mJCUEAEbJb3.png",\ "salient_rect": {\ "height": 1,\ "left": 562,\ "top": 187,\ "width": 1\ }\ },\ "__typename": "ApiMedia"\ }\ },\ "description": "",\ "facepile_urls": [\ "https:\/\/pbs.twimg.com\/profile_images\/1201525049766883328\/QPimCC9z_mini.jpg",\ "https:\/\/pbs.twimg.com\/profile_images\/1603461568708153346\/plKcInwe_mini.jpg",\ "https:\/\/pbs.twimg.com\/profile_images\/1598855439076425728\/q5FlqPZU_mini.jpg"\ ],\ "followers_context": "16 followers including @arvidkahl",\ "following": false,\ "id": "TGlzdDoxNTkxMjY0MjUxMzMwNDI4OTI5",\ "id_str": "1591264251330428929",\ "is_member": false,\ "member_count": 85,\ "members_context": "85 members",\ "mode": "Public",\ "muting": false,\ "name": "\ud83c\udf1f Creators \ud83d\udd25",\ "pinning": false,\ "subscriber_count": 16,\ "user_results": {\ "result": {\ "__typename": "User",\ "id": "VXNlcjoyOTA0MjE5Njcz",\ "rest_id": "2904219673",\ "affiliates_highlighted_label": [],\ "has_graduated_access": true,\ "is_blue_verified": true,\ "profile_image_shape": "Circle",\ "legacy": {\ "can_dm": false,\ "can_media_tag": true,\ "created_at": "Wed Nov 19 05:35:32 +0000 2014",\ "default_profile": false,\ "default_profile_image": false,\ "description": "Helping digital creators save 20+ hours a month. Leverage AI\/Automation for content repurposing and distribution. Saved clients over 10,000+ hours",\ "entities": {\ "description": {\ "urls": []\ },\ "url": {\ "urls": [\ {\ "display_url": "hiddenlevers.ai\/subscribe?utm_\u2026",\ "expanded_url": "https:\/\/www.hiddenlevers.ai\/subscribe?utm_source=twitter&utm_medium=bio",\ "url": "https:\/\/t.co\/ykaoNAJGQD",\ "indices": [\ 0,\ 23\ ]\ }\ ]\ }\ },\ "fast_followers_count": 0,\ "favourites_count": 46302,\ "followers_count": 7948,\ "friends_count": 1722,\ "has_custom_timelines": true,\ "is_translator": false,\ "listed_count": 234,\ "location": "Amplify Your Impact \ud83d\udc47\ud83c\udffc",\ "media_count": 2938,\ "name": "Mike Cardona | Automation Alchemist \ud83e\uddea\ud83d\udd27",\ "normal_followers_count": 7948,\ "pinned_tweet_ids_str": [\ "1699665975136878643"\ ],\ "possibly_sensitive": false,\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/2904219673\/1704725393",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1566400585137414145\/vkBaB3ca_normal.jpg",\ "profile_interstitial_type": "",\ "screen_name": "CSMikeCardona",\ "statuses_count": 27559,\ "translator_type": "none",\ "url": "https:\/\/t.co\/ykaoNAJGQD",\ "verified": false,\ "want_retweets": false,\ "withheld_in_countries": []\ },\ "professional": {\ "rest_id": "1459282952534196228",\ "professional_type": "Creator",\ "category": []\ }\ }\ }\ },\ ...\ ] } // If failed: { "status":"error", "message":"Failed to fetch data from Twitter" } [PreviousRetrieve user's following](/docs/twitter-users/retrieve-users-following) [NextCheck if a user is following another user](/docs/twitter-users/check-if-a-user-is-following-another-user) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve search results by keyword | SocialData.Tools: API Documentation Returns array of tweets provided by Twitter search page. Typically Twitter returns ~20 results per page. You can request additional search results by sending another request to the same endpoint using cursor parameter. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/search ### [](#endpoint-parameters) Endpoint parameters Name Description Example query **(Required)** A UTF-8, URL-encoded search query, including any operators supported by Twitter website search from:elonmusk doge cursor (Optional) Cursor value obtained from next\_cursor response property DAACCgACGC12FhmAJxAKAAMYLXYWGX\_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0d... type (Optional) Search type (Latest for recent tweets or Top for popular tweets) Default: Latest Top ### [](#using-search-operators) Using search operators This endpoint supports all search operators supported by Twitter. Search operators must be included as part of `query` parameter and not as separate endpoint parameters. Some frequently used search operators: * `from:USERNAME` will return all tweets and replies made by user * `from:USERNAME filter:replies` will return only replies, but not tweets * `from:USERNAME -filter:replies` will return only tweets, but not replies * `since_time:TIMESTAMP` and `until_time:TIMESTAMP` will return tweets and comments posted after or before the provided UNIX timestamp * `since_id:TWEET_ID` and `max_id:TWEET_ID` will return tweets with ID higher or lower than the provided TWEET\_ID * `conversation_id:TWEET_ID` will return all comments posted in response to TWEET\_ID For a more detailed overview of Twitter search operators refer to the following page: [https://github.com/igorbrigadir/twitter-advanced-search](https://github.com/igorbrigadir/twitter-advanced-search) ### [](#known-limitations) Known Limitations Twitter removes tweets flagged as spam, or all tweets from all shadow-banned users. Request to retrieve tweets or comments made by a shadow-banned user (i.e. `from:USERNAME`) will always return 0 tweets, but the user's timeline is still available through [User tweets and replies](/docs/twitter-users/retrieve-tweets-and-replies-made-by-a-specific-user) endpoint. ### [](#retrieving-large-datasets) Retrieving large datasets While Twitter returns a limited number of results when using "Latest" search filter, it is possible to cycle through a larger dataset using `max_id:` and `since_id:` search operators. When retrieving Latest search results, Twitter provides the response with tweets sorted by ID in descending order. If you need to retrieve more posts - simply make another request with the same query adding `max_id:[lowest ID from current dataset].`Using this approach it is possible to extract the entire timeline from the moment an account was registered. ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/search?query=from%3Aelonmusk&type=Latest" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "DAACCgACGC12FhmAJxAKAAMYLXYWGX_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJNWUxTNkQyQmFoUXhndFRReS9Ga0NOR0MwZG9yS1hzU2NZTFFwYm0xY1I0aGd0YmhZc1drQ3FHQzBjUXNSV1lSZ1lMVml5V3BxQU9CZ3RMbUhUV2tDb0dDMVFuVW1YMEFzWUxKYURhOVpob3hndFZtaklGakNNR0MxWGdlT1dZSE1ZTFRYNFNwZUEraGd0Y2h2bEYxRkxHQzFNMi83V1VGc1lMTTZwemhZQWt4Z3RWMkJKbDNGN0dDMWFGTXBYUUY4WUxUUERuRlp3UVE9PQgABgAAAAAIAAcAAAAADAAICgABGCyWg2vWYaMAAAA", "tweets": [\ {\ "tweet_created_at": "2023-12-13T05:39:09.000000Z",\ "id_str": "1734810168053956719",\ "text": null,\ "full_text": "@TeslaHype Pace of Progress",\ "source": "Twitter for iPhone<\\/a>",\ "truncated": false,\ "in_reply_to_status_id_str": "1734777084268920960",\ "in_reply_to_user_id_str": "1311506622821400581",\ "in_reply_to_screen_name": "TeslaHype",\ "user": {\ "id_str": "44196397",\ "name": "Elon Musk",\ "screen_name": "elonmusk",\ "location": "\\ud835\\udd4f\\u00d0",\ "url": null,\ "description": "",\ "protected": false,\ "verified": false,\ "followers_count": 166213349,\ "friends_count": 506,\ "listed_count": 149586,\ "favourites_count": 37958,\ "statuses_count": 34934,\ "created_at": "2009-06-02T20:12:29.000000Z",\ "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312",\ "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg",\ "can_dm": false\ },\ "quoted_status_id_str": null,\ "is_quote_status": false,\ "quoted_status": null,\ "retweeted_status": null,\ "quote_count": 11,\ "reply_count": 156,\ "retweet_count": 78,\ "favorite_count": 977,\ "lang": "en",\ "entities": {\ "user_mentions": [\ {\ "id_str": "1311506622821400581",\ "name": "Tesla Hype",\ "screen_name": "TeslaHype",\ "indices": [\ 0,\ 10\ ]\ }\ ],\ "urls": [],\ "hashtags": [],\ "symbols": []\ },\ "views_count": 32377,\ "bookmark_count": 19\ },\ {\ "tweet_created_at": "2023-12-13T05:38:26.000000Z",\ "id_str": "1734809984674693446",\ "text": null,\ "full_text": "@anammostarac Yeah",\ "source": "Twitter for iPhone<\\/a>",\ "truncated": false,\ "in_reply_to_status_id_str": "1734809562258276654",\ "in_reply_to_user_id_str": "2852570664",\ "in_reply_to_screen_name": "anammostarac",\ "user": {\ "id_str": "44196397",\ "name": "Elon Musk",\ "screen_name": "elonmusk",\ "location": "\\ud835\\udd4f\\u00d0",\ "url": null,\ "description": "",\ "protected": false,\ "verified": false,\ "followers_count": 166213349,\ "friends_count": 506,\ "listed_count": 149586,\ "favourites_count": 37958,\ "statuses_count": 34934,\ "created_at": "2009-06-02T20:12:29.000000Z",\ "profile_banner_url": "https:\\/\\/pbs.twimg.com\\/profile_banners\\/44196397\\/1690621312",\ "profile_image_url_https": "https:\\/\\/pbs.twimg.com\\/profile_images\\/1683325380441128960\\/yRsRRjGO_normal.jpg",\ "can_dm": false\ },\ "quoted_status_id_str": null,\ "is_quote_status": false,\ "quoted_status": null,\ "retweeted_status": null,\ "quote_count": 4,\ "reply_count": 64,\ "retweet_count": 30,\ "favorite_count": 513,\ "lang": "en",\ "entities": {\ "user_mentions": [\ {\ "id_str": "2852570664",\ "name": "Ana Mostarac",\ "screen_name": "anammostarac",\ "indices": [\ 0,\ 13\ ]\ }\ ],\ "urls": [],\ "hashtags": [],\ "symbols": []\ },\ "views_count": 25579,\ "bookmark_count": 3\ }\ ] ] // If failed: { "status":"error", "message":"Failed to fetch data from Twitter" } [PreviousRetrieve all users who retweeted a tweet](/docs/twitter-tweets/retrieve-all-users-who-retweeted-a-tweet) [NextRetrieve all users who liked a tweet](/docs/twitter-tweets/retrieve-all-users-who-liked-a-tweet) Last updated 1 month ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve all users who liked a tweet | SocialData.Tools: API Documentation **Due to Twitter's decision to make likes private for all users, this endpoint is unable to provide any data.** ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/tweets/[tweet_id]/liking_users ### [](#endpoint-parameters) Endpoint parameters Name Description Example tweet\_id **(Required)** The numerical ID of the desired Tweet. 1729591119699124560 cursor (optional) Cursor value obtained from next\_cursor response property HBbS87H7icrezjEAAA== ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/tweets/1625802236571033602/liking_users" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "HBbS87H7icrezjEAAA==", "users": [\ {\ "id": 1547124452596523008,\ "id_str": "1547124452596523008",\ "name": "Gwendal Brossard",\ "screen_name": "GwendalBrossard",\ "location": "Building",\ "url": "https:\/\/t.co\/6o4TTYu7LQ",\ "description": "I'm an indie maker building products \ud83d\udc68\u200d\ud83d\udcbb @PaletteBrain\u2506https:\/\/t.co\/BEadk6UDlz \u2728",\ "protected": false,\ "verified": false,\ "followers_count": 3557,\ "friends_count": 149,\ "listed_count": 41,\ "favourites_count": 12425,\ "statuses_count": 6778,\ "created_at": "2022-07-13T07:43:56.000000Z",\ "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/1547124452596523008\/1672736091",\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1572151372455313409\/qq1yH56d_normal.jpg",\ "can_dm": true\ },\ ...\ ] } // If failed: { "status":"error", "message":"Tweet not found" } [PreviousRetrieve search results by keyword](/docs/twitter-tweets/retrieve-search-results-by-keyword) [NextRetrieve user profile details](/docs/twitter-users/retrieve-user-profile-details) Last updated 7 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve user's articles | SocialData.Tools: API Documentation Returns array of articles posted by the user. You can request additional results by sending another request to the same endpoint using cursor parameter. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/user/[user_id]/articles ### [](#endpoint-parameters) Endpoint parameters Name Description Example user\_id **(Required)** The ID of the user for whom to return results. 1034554665109676033 cursor (Optional) Cursor value obtained from next\_cursor response property Omit this value to retrieve the first page DAACCgACGC12FhmAJxAKAAMYLXYWGX\_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0d... **Common Issues and Best Practices** * In languages where the `user_id` value exceeds the default Integer type limit (e.g., Node.js), store `user_id` as a string. Use the `id_str` property returned by the API for these values * Always URL-encode the `cursor` value when passing it back to the API for subsequent requests ### [](#endpoint-codes) Endpoint codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 403 Forbidden** - user's profile is set to "protected" * **HTTP 404 Not Found** - requested user does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#undefined) ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/user/1034554665109676033/articles" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "next_cursor": "DAACCgACGC12FhmAJxAKAAMYLXYWGX_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0dKTjB2R3AvQUFBQUJNWUxTNkQyQmFoUXhndFRReS9Ga0NOR0MwZG9yS1hzU2NZTFFwYm0xY1I0aGd0YmhZc1drQ3FHQzBjUXNSV1lSZ1lMVml5V3BxQU9CZ3RMbUhUV2tDb0dDMVFuVW1YMEFzWUxKYURhOVpob3hndFZtaklGakNNR0MxWGdlT1dZSE1ZTFRYNFNwZUEraGd0Y2h2bEYxRkxHQzFNMi83V1VGc1lMTTZwemhZQWt4Z3RWMkJKbDNGN0dDMWFGTXBYUUY4WUxUUERuRlp3UVE9PQgABgAAAAAIAAcAAAAADAAICgABGCyWg2vWYaMAAAA", "articles": [\ {\ "published_at": "2024-06-07T17:52:39+00:00",\ "id": 1799137410284134858,\ "id_str": "1799137410284134858",\ "title": "Introducing Upland Neighborhood Bundles",\ "preview_text": "As Upland continues to grow and solidify its position as the premier web3 metaverse, we recognize the need to offer entire exclusive neighborhoods to our partners and large communities eager to join",\ "cover_url": "https:\/\/pbs.twimg.com\/media\/GPfRKLpaIAAQzNL.jpg"\ },\ ...\ ] ] // If failed: { "status":"error", "message":"Failed to fetch data from Twitter" } [PreviousRetrieve likes made by a specific user](/docs/twitter-users/retrieve-likes-made-by-a-specific-user) [NextRetrieve user's highlighted tweets](/docs/twitter-users/retrieve-users-highlighted-tweets) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve article details | SocialData.Tools: API Documentation Returns tweet with an article attached to it. Output contains the same properies as tweet details endpoint, article content is returned within "article" attribute of the response. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/article/[article_id] ### [](#endpoint-parameters) Endpoint parameters Name Description Example article\_id **(Required)** The numerical ID of the desired article tweet. 1799137410284134858 **Common Issues and Best Practices** * In languages where the `article_id` value exceeds the default Integer type limit (e.g., Node.js), store `article_id` as a string. Use the `id_str` property returned by the API for these values ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested tweet does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/article/1799137410284134858" -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json' ### [](#example-response) Example response Copy // If succeeded: { "created_at": "2024-06-07T17:52:39+00:00", "tweet_created_at": "2024-06-07T17:52:39+00:00", "id": 1799137410284134858, "id_str": "1799137410284134858", "text": null, "full_text": "https:\/\/t.co\/54xBGHRtwm", "source": "Twitter Web App<\/a>", "truncated": false, "in_reply_to_status_id": null, "in_reply_to_status_id_str": null, "in_reply_to_user_id": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "user": { "id": 1034554665109676033, "id_str": "1034554665109676033", "name": "Upland", "screen_name": "UplandMe", "location": "Upland Metaverse ๐Ÿ‘‰", "url": "https:\/\/www.upland.me\/", "description": "Make history. Digitally. Build your empire... in Upland, the ultimate property trading game. Construct your empire & Elevate your digital life. ๐Ÿฆ™", "protected": false, "verified": true, "followers_count": 117215, "friends_count": 1071, "listed_count": 390, "favourites_count": 14455, "statuses_count": 10774, "created_at": "2018-08-28T21:33:48+00:00", "profile_banner_url": "https:\/\/pbs.twimg.com\/profile_banners\/1034554665109676033\/1712265999", "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1702695579157958656\/ufOqEStf_normal.jpg", "can_dm": false }, "user_id": 1034554665109676033, "user_screen_name": "UplandMe", "quoted_status_id": null, "quoted_status_id_str": null, "is_quote_status": false, "quoted_status": null, "retweeted_status": null, "quote_count": 2, "reply_count": 8, "retweet_count": 25, "favorite_count": 77, "views_count": 2796, "bookmark_count": 0, "lang": "zxx", "entities": { "hashtags": [], "symbols": [], "timestamps": [], "urls": [\ {\ "display_url": "x.com\/i\/article\/1799โ€ฆ",\ "expanded_url": "http:\/\/x.com\/i\/article\/1799136519384711168",\ "url": "https:\/\/t.co\/54xBGHRtwm",\ "indices": [\ 0,\ 23\ ]\ }\ ], "user_mentions": [] }, "article": { "published_at": "2024-06-07T17:52:39+00:00", "id": 1799137410284134858, "id_str": "1799137410284134858", "title": "Introducing Upland Neighborhood Bundles", "preview_text": "As Upland continues to grow and solidify its position as the premier web3 metaverse, we recognize the need to offer entire exclusive neighborhoods to our partners and large communities eager to join", "cover_url": "https:\/\/pbs.twimg.com\/media\/GPfRKLpaIAAQzNL.jpg", "content_state": { "blocks": [\ {\ "key": "3url3",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 21,\ "offset": 32,\ "style": "Bold"\ },\ {\ "length": 23,\ "offset": 60,\ "style": "Bold"\ },\ {\ "length": 30,\ "offset": 116,\ "style": "Bold"\ },\ {\ "length": 30,\ "offset": 154,\ "style": "Bold"\ }\ ],\ "text": "As Upland continues to grow and solidify its position as the premier web3 metaverse, we recognize the need to offer entire exclusive neighborhoods to our partners and large communities eager to join us.",\ "type": "unstyled"\ },\ {\ "key": "dgdrr",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 20,\ "offset": 96,\ "style": "Bold"\ },\ {\ "length": 21,\ "offset": 210,\ "style": "Bold"\ }\ ],\ "text": "Unveiled moments ago at Genesis LIVE, we are thrilled to announce a groundbreaking new concept: Neighborhood Bundles. This innovation comes as a direct result of our successful Bermuda proof of concept and the collaborative efforts with Sandbox.",\ "type": "unstyled"\ },\ {\ "key": "4561q",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 25,\ "offset": 57,\ "style": "Bold"\ },\ {\ "length": 21,\ "offset": 109,\ "style": "Bold"\ }\ ],\ "text": "This initiative has been crafted with an eye towards our anticipated future growth, preparing Upland for the exciting developments ahead.",\ "type": "unstyled"\ },\ {\ "key": "9b1h2",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "What are Neighborhood Bundles?",\ "type": "header-one"\ },\ {\ "key": "4qi2h",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 18,\ "offset": 27,\ "style": "Bold"\ },\ {\ "length": 9,\ "offset": 47,\ "style": "Bold"\ },\ {\ "length": 19,\ "offset": 64,\ "style": "Bold"\ },\ {\ "length": 20,\ "offset": 96,\ "style": "Bold"\ }\ ],\ "text": "Neighborhood Bundles allow larger communities, partners and our dedicated community to purchase entire neighborhoods within Upland.",\ "type": "unstyled"\ },\ {\ "key": "e882e",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 17,\ "offset": 29,\ "style": "Bold"\ },\ {\ "length": 13,\ "offset": 55,\ "style": "Bold"\ }\ ],\ "text": "Neighborhood bundles will be extremely limited and are priced in ETH, with unique discounts applied. The prices are coupled with USD and may fluctuate accordingly. Upon purchasing a bundle, buyers will have the option to:",\ "type": "unstyled"\ },\ {\ "key": "vbm1",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 8,\ "offset": 0,\ "style": "Bold"\ }\ ],\ "text": "Mint all or some of the neighborhood properties under their name.",\ "type": "unordered-list-item"\ },\ {\ "key": "4l3e5",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 8,\ "offset": 0,\ "style": "Bold"\ }\ ],\ "text": "Open all or some of the properties for sale, with minting proceeds sent to the buyerโ€™s account monthly.",\ "type": "unordered-list-item"\ },\ {\ "key": "5vfe8",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 21,\ "offset": 0,\ "style": "Bold"\ }\ ],\ "text": "Choose a combination of both options.",\ "type": "unordered-list-item"\ },\ {\ "key": "fajgh",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "Available Neighborhood Bundles",\ "type": "header-one"\ },\ {\ "key": "8818q",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "The following bundles are currently available in the Upland Web store:",\ "type": "unstyled"\ },\ {\ "key": "68am",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "QUEENSRIDGE, Las Vegas",\ "type": "header-one"\ },\ {\ "key": "8l94s",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 1,\ "offset": 74,\ "style": "Bold"\ }\ ],\ "text": "Own the entire luxurious Queensridge neighborhood in Las Vegas, comprising 994 properties, at a 45% discount from the market price.",\ "type": "unstyled"\ },\ {\ "key": "dchfc",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 5,\ "offset": 0,\ "style": "Bold"\ }\ ],\ "text": "Price: 6.99 ETH",\ "type": "unstyled"\ },\ {\ "key": "1gnda",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "WYNWOOD INDUSTRIAL DISTRICT, Miami",\ "type": "header-one"\ },\ {\ "key": "6lad",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "Take ownership of the exclusive Wynwood Industrial District neighborhood in Miami, with 308 properties, at a 35% discount from the market price.",\ "type": "unstyled"\ },\ {\ "key": "cd7u",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 5,\ "offset": 0,\ "style": "Bold"\ }\ ],\ "text": "Price: 10.79 ETH",\ "type": "unstyled"\ },\ {\ "key": "3c6j5",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "TREASURE ISLAND, San Francisco",\ "type": "header-one"\ },\ {\ "key": "9cl5s",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "Claim the entire coveted Treasure Island in San Francisco, including 851 properties, at a 20% discount from the market price.",\ "type": "unstyled"\ },\ {\ "key": "8o5ks",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 5,\ "offset": 0,\ "style": "Bold"\ }\ ],\ "text": "Price: 19.56 ETH",\ "type": "unstyled"\ },\ {\ "key": "ckor1",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 61,\ "offset": 0,\ "style": "Bold"\ },\ {\ "length": 61,\ "offset": 0,\ "style": "Italic"\ }\ ],\ "text": "Note: Prices may fluctuate based on the current price of ETH.",\ "type": "unstyled"\ },\ {\ "key": "8hi6n",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [],\ "text": "A Unique Opportunity",\ "type": "header-one"\ },\ {\ "key": "7g1kq",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 25,\ "offset": 64,\ "style": "Bold"\ },\ {\ "length": 28,\ "offset": 115,\ "style": "Bold"\ }\ ],\ "text": "Again, this initiative has been crafted with an eye towards our anticipated future growth, preparing Upland for the exciting developments ahead.",\ "type": "unstyled"\ },\ {\ "key": "92m66",\ "data": [],\ "entityRanges": [],\ "inlineStyleRanges": [\ {\ "length": 21,\ "offset": 26,\ "style": "Bold"\ },\ {\ "length": 20,\ "offset": 106,\ "style": "Bold"\ },\ {\ "length": 26,\ "offset": 133,\ "style": "Bold"\ },\ {\ "length": 17,\ "offset": 164,\ "style": "Bold"\ },\ {\ "length": 8,\ "offset": 183,\ "style": "Bold"\ },\ {\ "length": 15,\ "offset": 205,\ "style": "Bold"\ }\ ],\ "text": "Whether youโ€™re looking to build a community hub, or simply expand your digital real estate portfolio, our Neighborhood Bundles offer unparalleled opportunities for large communities, partners and dedicated Upland players.",\ "type": "unstyled"\ }\ ], "entityMap": [] }, "media_entities": [] } } // If failed: { "status":"error", "message":"Tweet not found" } [PreviousRetrieve thread](/docs/twitter-tweets/retrieve-thread) [NextRetrieve all users who retweeted a tweet](/docs/twitter-tweets/retrieve-all-users-who-retweeted-a-tweet) Last updated 3 months ago [](https://god.gw.postman.com/run-collection/36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8?action=collection%2Ffork&source=rip_markdown&collection-url=entityId%3D36444222-9d3f261a-6fc3-44cd-90eb-f0d191d6d1a8%26entityType%3Dcollection%26workspaceId%3D22407140-425b-41ff-969e-1fb938fe8e86) ![](https://run.pstmn.io/button.svg) --- # Retrieve community members | SocialData.Tools: API Documentation Returns array of users who are admins, moderators or regular members of a community. Typically Twitter returns ~20 results per page. You can request additional results by sending another request to the same endpoint using cursor parameter. ### [](#endpoint) Endpoint Copy GET https://api.socialdata.tools/twitter/community/[community_id]/members ### [](#endpoint-parameters) Endpoint parameters Name Description Example community\_id **(Required)** Target community ID 1493446837214187523 cursor (Optional) Cursor value obtained from next\_cursor response property DAACCgACGC12FhmAJxAKAAMYLXYWGX\_Y8AgABAAAAAILAAUAAADoRW1QQzZ3QUFBZlEvZ0d... **Common Issues and Best Practices** * In languages where the `community_id` value exceeds the default Integer type limit (e.g., Node.js), store `community_id` as a string. Use the `id_str` property returned by the API for these values * Always URL-encode the `cursor` value when passing it back to the API for subsequent requests ### [](#response-codes) Response codes * **HTTP 200 OK -** succeeded * **HTTP 402 Payment Required** - not enough credits to perform this request * **HTTP 404 Not Found** - requested comminity does not exist * **HTTP 422 Unprocessable Content** - validation failed (e.g. one of the required parameters was not provided) * **HTTP 500** **Internal Server Error** - other error, typically means that SocialData API failed to obtain the requested information and you should try again later ### [](#rate-limits) Rate limits By default each user has a limit of 120 requests per minute shared across all endpoints. Please reach out to support@socialdata.tools if you need to raise your rate limit. ### [](#example-request) Example request Copy curl "https://api.socialdata.tools/twitter/community/1493446837214187523/members -H 'Authorization: Bearer API_KEY' -H 'Accept: application/json ### [](#example-response) Example response Copy // If succeeded: { "users": [\ {\ "id": 3119483308,\ "id_str": "3119483308",\ "screen_name": "onofregasent",\ "name": "Onofre",\ "protected": false,\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1726870714131640320\/Hsxgtxw9_normal.jpg",\ "community_role": "Member"\ },\ {\ "id": 338944755,\ "id_str": "338944755",\ "screen_name": "bohdanbasov",\ "name": "Bohdan Basov",\ "protected": false,\ "profile_image_url_https": "https:\/\/pbs.twimg.com\/profile_images\/1803862687895388160\/2h7gpQ5U_normal.jpg",\ "community_role": "Moderator"\ },\ ...\ ], "next_cursor": "CycRAAAAAAwABAwKmwzBVQo+vQ0OGGp8lQABCm07AAABkNDNH5sADJorCj69f\/\/\/\/\/\/\/\/\/8KbTt\/\/\/\/\/\/\/\/\/\/wAIP8AAAAADAAAA" } // If failed: { "status":"error", "message":"Failed to fetch data from Twitter" } [PreviousRetrieve community tweets timeline](/docs/twitter-x-communities/retrieve-community-tweets-timeline) [NextIntroduction](/docs/twitter-x-async-endpoints/introduction) Last updated 3 months ago ---