
Twitter (x) Data Scraper Pro (Cheapest working version)
Pricing
$24.99/month + usage

Twitter (x) Data Scraper Pro (Cheapest working version)
The cheapest Twitter Data Scraper with unlimited requests. Extract user profiles, tweets, followers, trends, and engagement metrics at unbeatable prices. Get real-time data from 13+ endpoints including search, lists, and communities. Most cost-effective solution with no monthly limits. 🚀
5.0 (4)
Pricing
$24.99/month + usage
0
Total users
5
Monthly users
5
Runs succeeded
>99%
Last modified
18 hours ago
🚀 Twitter Data Scraper Pro Advanced Twitter Data Scraper | Apify Actor
The most efficient, cost-effective, and powerful Twitter data scraping solution available on Apify. Built for researchers, marketers, and developers who need reliable access to Twitter's vast data ecosystem.
🌟 Why Choose This Twitter Scraper?
After extensive research and development, we've created the fastest and most cost-efficient way to extract Twitter data. Our actor delivers enterprise-grade performance at a fraction of the cost of traditional Twitter API solutions.
✨ Key Features
Our Twitter scraper provides comprehensive data extraction capabilities:
Tweet & User Data
- 🔍 Advanced Twitter Search Results
- 👤 User Profile Information
- 📱 User Timeline Posts
- 👥 User Friends Data
- 🔎 User Lookup by Screen Name
Engagement & Analytics
- 💬 Tweet Information & Metrics
- 🔄 Latest Tweet Replies
- 🔁 Retweet Data
- 📊 Engagement Statistics
Community & Lists
- 🌐 Community Posts
- 🔍 Search Communities
- 📋 List Timeline
- 👥 List Members
- 🎯 List Followers
Trending & Research
- 📈 Current Twitter Trends
- 📊 Real-time Data Analysis
💪 Perfect For:
- Market Research & Analysis
- Social Media Monitoring
- Academic Research
- Competitive Intelligence
- Content Strategy Development
- n8n Workflow Integration
- Data Science Projects
⚡ Why It's Different
- Ultra-Fast Performance: Optimized for speed and efficiency
- Cost-Effective: Get more data for less compared to traditional API solutions
- Reliable: Built with robust error handling and rate limiting
- Rich Data: Comprehensive metadata and engagement metrics
- Easy Integration: Perfect for n8n workflows and other automation tools
🔧 Getting Started
Detailed API usage instructions and examples are provided below. Our actor is designed to be developer-friendly while delivering enterprise-grade capabilities.
📚 API Documentation
Our Actor provides a RESTful API endpoint that can be accessed at:
https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}
🔑 Authentication
To use the API, you'll need an Apify token. Add it as a query parameter to the API endpoint.
📡 Available Operations
1. Get User Timeline
Retrieves a user's Twitter timeline with all their tweets and interactions. It can get ~20 Posts for each request.
Endpoint: POST
{"operation": "getUserTimeLineData","screenName": "username","pageHash": "optional_page_hash_for_pagination"}
Parameters:
screenName
(required): Twitter username without the @ symbolpageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"pinnedTweet": {"tweetId": "1948991740314066946","bookmarkCount": 157,"createdAt": "Sat Jul 26 06:20:16 +0000 2025","likeCount": 3630,"content": "Grok now automatically decides how much to think about your question!\n\nYou can override “Auto” mode and force heavy thinking at will with one tap.","language": "en","viewCount": "1038691","quoteCount": 62,"replyCount": 1258,"retweetCount": 421,"conversationId": "1948991740314066946","media": [],"author": {"userId": "44196397","displayName": "Elon Musk","username": "elonmusk","profileImageUrl": "https://pbs.twimg.com/profile_images/1936002956333080576/kqqe2iWO_normal.jpg","isBlueVerified": true},"links": [],"mentions": [],"hashtags": [],"isRetweet": false,"quotedTweet": {"tweetId": "1948841658583580775","bookmarkCount": 43,"createdAt": "Fri Jul 25 20:23:53 +0000 2025","likeCount": 500,"content": "🚨Huge Update: Grok has finally dropped a Unified model...\n\nGrok now chooses the best mode with complexity of a query and adjusts with its built-in dynamic reasoning \n\nFor simple tasks it provides direct, and faster answers. For complex tasks, it employs deeper reasoning.. https://t.co/n2vzaV4xrC","language": "en","viewCount": "1071544","quoteCount": 10,"replyCount": 53,"retweetCount": 47,"conversationId": "1948841658583580775","media": {"photo": [{"media_url_https": "https://pbs.twimg.com/media/GwuphoNXUAAzzlg.jpg","id": "1948837658962120704"}]},"author": {"userId": "1818311005698678784","displayName": "X Freeze","username": "amXFreeze","profileImageUrl": "https://pbs.twimg.com/profile_images/1876785200010539008/2_HFJjq9_normal.jpg","isBlueVerified": true},"links": [],"mentions": [],"hashtags": [],"isRetweet": false}},"tweets": [{"tweetId": "1948992239071326244","bookmarkCount": 176,"createdAt": "Sat Jul 26 06:22:14 +0000 2025","likeCount": 5281,"content": "Rolled out on web, coming to your phone soon https://t.co/7HnKx9jy9N","language": "en","viewCount": "469686","quoteCount": 74,"replyCount": 1466,"retweetCount": 594,"conversationId": "1948992239071326244","media": {"photo": [{"media_url_https": "https://pbs.twimg.com/media/Gww2HAabgAIbVxP.jpg","id": "1948992232742420482","sizes": {"h": 1200,"w": 803}}]},"author": {"userId": "44196397","displayName": "Elon Musk","username": "elonmusk","profileImageUrl": "https://pbs.twimg.com/profile_images/1936002956333080576/kqqe2iWO_normal.jpg","isBlueVerified": true},"links": [],"mentions": [],"hashtags": [],"isRetweet": false}],"nextPage": "DAAHCgABGww6yzR__-sLAAIAAAATMTk0ODU0ODgyMjg2ODkxODQ4MggAAwAAAAIAAA","previousPage": "DAAHCgABGww6yzSAJxELAAIAAAATMTk0ODk5MjIzOTA3MTMyNjI0NAgAAwAAAAEAAA","userProfile": {"accountStatus": "active","profileUrl": "elonmusk","userId": "44196397","isBlueVerified": true,"partnerLinkType": "DeepLink","partnerLinkUrl": "https://twitter.com/X","partnerBadgeUrl": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg","partnerDescription": "X","partnerLabelType": "BusinessLabel","isBusinessAccount": [],"profileImageUrl": "https://pbs.twimg.com/profile_images/1936002956333080576/kqqe2iWO_normal.jpg","bannerImageUrl": "https://pbs.twimg.com/profile_banners/44196397/1739948056","biography": "","displayName": "Elon Musk","isPrivateAccount": null,"userLocation": "","followingCount": 1172,"subscriberCount": 223084686,"totalTweetsCount": 82057,"totalMediaCount": 3984,"pinnedTweetIds": ["1948991740314066946"],"accountCreationDate": "Tue Jun 02 20:12:29 +0000 2009","accountId": "44196397"}}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getUserTimeLineData","screenName": "elonmusk"}'
Pagination:
- Each response includes a
nextPageHash
field - To fetch the next page, include the
nextPageHash
value in your next request as thepageHash
parameter - Continue this process until no
nextPageHash
is returned
2. Get Tweet Info
Retrieves detailed information about a specific tweet including engagement metrics, media, and author details.
Endpoint: POST
{"operation": "getTweetInfo","tweetId": "tweet_id_here"}
Parameters:
tweetId
(required): The unique identifier of the tweet you want to fetch information about
Response Structure:
[{"tweetId": "1948876628869964256","createdAt": "Fri Jul 25 22:42:51 +0000 2025","content": {"fullText": "https://t.co/RRAg8wvZRk","displayText": "https://t.co/RRAg8wvZRk"},"metrics": {"likes": 163,"retweets": 22,"replies": 25,"quotes": 1,"bookmarks": 6,"views": 8682},"engagement": {"isReply": false,"replyToTweetId": null,"replyToUsername": null,"conversationId": "1948876628869964256"},"author": {"userId": "1189381231198134272","displayName": "Cooker.hl | Kms.eth | Cooker","username": "CookerFlips","profileImageUrl": "https://pbs.twimg.com/profile_images/1940993045870104576/h5MzwFqw_normal.jpg","isVerified": true,"subscriberCount": 101649},"media": [{"type": "photo","url": "https://pbs.twimg.com/media/GwvM8oFbgAItNan.png","previewUrl": "https://pbs.twimg.com/media/GwvM8oFbgAItNan.png","width": 0,"height": 0}],"mentions": [],"status": "active","language": "zxx","isSensitive": false}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getTweetInfo","tweetId": "1948876628869964256"}'
Response Fields:
tweetId
: Unique identifier of the tweetcreatedAt
: Tweet creation timestamp in UTCcontent
: Contains both the full and display text of the tweetmetrics
: Engagement statistics including likes, retweets, replies, quotes, bookmarks, and view countengagement
: Information about reply status and conversation threadingauthor
: Details about the tweet's author including verification status and follower countmedia
: Array of media attachments (photos, videos) with their URLs and dimensionsmentions
: Array of users mentioned in the tweetstatus
: Current status of the tweet (e.g., "active")language
: Language code of the tweet contentisSensitive
: Boolean flag indicating if the content is marked as sensitive
3. Get Tweet Retweets
Retrieves a list of users who have retweeted a specific tweet, including their profile information and metrics.
Endpoint: POST
{"operation": "getTweetRetweets","tweetId": "tweet_id_here","pageHash": "optional_page_hash_for_pagination"}
Parameters:
tweetId
(required): The unique identifier of the tweet to get retweets forpageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"retweeters": [{"userId": "string","username": "string","displayName": "string","biography": "string","profileImageUrl": string | null,"metrics": {"tweetsCount": number,"followersCount": number,"followingCount": number,"mediaCount": number}}],"nextPage": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getTweetRetweets","tweetId": "1234567890"}'
Response Fields:
retweeters
: Array of users who retweeted the tweetuserId
: Unique identifier of the retweeterusername
: Twitter handle of the retweeterdisplayName
: Display name of the retweeterbiography
: User's bio textprofileImageUrl
: URL to user's profile image (null if not available)metrics
: User's account statisticstweetsCount
: Total number of tweets postedfollowersCount
: Number of followersfollowingCount
: Number of accounts followingmediaCount
: Number of media posts
Pagination:
- Each response includes a
nextPage
field - To fetch the next page of retweeters, include the
nextPage
value in your next request as thepageHash
parameter - Continue this process until no
nextPage
value is returned
4. Get Tweet Latest Replies
Retrieves the latest replies to a specific tweet, including detailed information about the replies and their authors.
Endpoint: POST
{"operation": "getTweetLatestReplies","tweetId": "tweet_id_here","pageHash": "optional_page_hash_for_pagination"}
Parameters:
tweetId
(required): The unique identifier of the tweet to get replies forpageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"replies": [{"replyId": "string","authorHandle": "string","content": "string","postedAt": "string","language": "string","clientSource": "string","metrics": {"bookmarkCount": number,"likeCount": number,"replyCount": number,"retweetCount": number,"quoteCount": number,"viewCount": "string"},"author": {"handle": "string","displayName": "string","joinDate": "string","bio": "string","userId": "string","followerCount": number,"likeCount": number,"profileImage": "string","isVerified": boolean,"followingCount": number,"userLocation": string | null},"media": {"images"?: [{"imageUrl": "string","imageId": "string","dimensions": {"height": number,"width": number}}]},"replyToHandle": "string","replyToTweetId": "string","replyToUserId": "string"}],"nextPageHash": "string","previousPageHash": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getTweetLatestReplies","tweetId": "1234567890"}'
Response Fields:
replies
: Array of reply tweetsreplyId
: Unique identifier of the reply tweetauthorHandle
: Twitter handle of the reply authorcontent
: Text content of the replypostedAt
: Timestamp when the reply was postedlanguage
: Language code of the replyclientSource
: Source application used to post the replymetrics
: Engagement statistics for the replyauthor
: Detailed information about the reply author- Including profile information, follower counts, and verification status
media
: Media attachments in the reply (if any)replyToHandle
: Username of the tweet being replied toreplyToTweetId
: ID of the tweet being replied toreplyToUserId
: User ID of the tweet being replied to
Pagination:
- Each response includes
nextPageHash
andpreviousPageHash
fields - To fetch the next page, include the
nextPageHash
value in your next request as thepageHash
parameter - To fetch the previous page, use the
previousPageHash
value - Continue this process until no
nextPageHash
value is returned
5. Get User By Screen Name
Retrieves detailed profile information for a Twitter user using their screen name (username).
Endpoint: POST
{"operation": "getUserByScreenName","screenName": "username"}
Parameters:
screenName
(required): Twitter username without the @ symbol
Response Structure:
[{"accountStatus": "string","profileUrl": "string","userId": "string","isBlueVerified": boolean,"partnerLinkType": "string","partnerLinkUrl": "string","partnerBadgeUrl": "string","partnerDescription": "string","partnerLabelType": "string","isBusinessAccount": [],"profileImageUrl": "string","bannerImageUrl": "string","biography": "string","displayName": "string","isPrivateAccount": boolean | null,"userLocation": "string","followingCount": number,"subscriberCount": number,"totalTweetsCount": number,"totalMediaCount": number,"pinnedTweetIds": ["string"],"accountCreationDate": "string","accountId": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getUserByScreenName","screenName": "elonmusk"}'
Response Fields:
accountStatus
: Current status of the account (e.g., "active")profileUrl
: Username that appears in the profile URLuserId
: Unique identifier for the userisBlueVerified
: Whether the user has Twitter Blue verificationpartnerLinkType
: Type of partner link (if applicable)partnerLinkUrl
: URL associated with partner statuspartnerBadgeUrl
: URL of the partner badge imagepartnerDescription
: Description of partner statuspartnerLabelType
: Type of partner labelisBusinessAccount
: Business account statusprofileImageUrl
: URL of the user's profile picturebannerImageUrl
: URL of the user's profile banner imagebiography
: User's bio textdisplayName
: User's display nameisPrivateAccount
: Whether the account is privateuserLocation
: User's specified locationfollowingCount
: Number of accounts the user followssubscriberCount
: Number of followers/subscriberstotalTweetsCount
: Total number of tweets postedtotalMediaCount
: Total number of media postspinnedTweetIds
: Array of pinned tweet IDsaccountCreationDate
: Date when the account was createdaccountId
: Alternative user ID (same as userId)
6. Get User Followings/Followers
Retrieves a list of accounts that a user follows (followings) or is followed by (followers).
Endpoint: POST
For followings:
{"operation": "getUserFollowings","screenName": "username","pageHash": "optional_page_hash_for_pagination"}
For followers:
{"operation": "getUserFollowers","screenName": "username","pageHash": "optional_page_hash_for_pagination"}
Parameters:
screenName
(required): Twitter username without the @ symbolpageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"friendsList": [{"userId": "string","username": "string","biography": "string","profileImageUrl": "string","totalTweetsCount": number,"followerCount": number,"followingCount": number,"totalMediaCount": number,"displayName": "string","accountCreationDate": "string"}],"nextPage": "string","hasMoreUsers": boolean}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getUserFollowings","screenName": "elonmusk"}'
Response Fields:
friendsList
: Array of user profilesuserId
: Unique identifier of the userusername
: Twitter handlebiography
: User's bio textprofileImageUrl
: URL of the user's profile picturetotalTweetsCount
: Total number of tweets postedfollowerCount
: Number of followersfollowingCount
: Number of accounts followingtotalMediaCount
: Number of media postsdisplayName
: User's display nameaccountCreationDate
: Date when the account was created
Pagination:
- Each response includes a
nextPage
field andhasMoreUsers
boolean - To fetch the next page, include the
nextPage
value in your next request as thepageHash
parameter - Continue this process while
hasMoreUsers
is true
7. Get Trends
Retrieves current trending topics and hashtags for a specific country.
Endpoint: POST
{"operation": "getTrends","countryCode": "optional_country_code"}
Parameters:
countryCode
(optional): Country name in camel case format (e.g., "UnitedStates", "France", "Germany", "UnitedKingdom")- If not provided, returns global trends
Response Structure:
[{"trends": [{"title": "string","postsCount": "string | null","category": {"name": "string","isPromoted": boolean}}]}]
Example Request:
# Get global trendscurl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getTrends"}'# Get country-specific trendscurl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getTrends","countryCode": "UnitedStates"}'
Response Fields:
trends
: Array of trending topicstitle
: Name of the trending topic or hashtagpostsCount
: Number of posts for this trend (formatted as string, can be null)category
: Classification of the trendname
: Category name (e.g., "Technology", "Sports", "Politics", "Trending", "Only on X")isPromoted
: Whether the trend is promoted
Categories Include:
- Technology
- Trending
- Only on X
- Sports
- Politics
- Music
- Cricket
- Formula 1
- And more based on content
Notes:
- Post counts may be formatted with abbreviations (e.g., "17.3K posts", "157K posts")
- Some trends may not have post counts (null values)
- Each trend is categorized and marked whether it's organically trending or promoted
- Trends can be in different languages based on the country selected
8. Search Twitter
Performs a search across Twitter content with different search types.
Endpoint: POST
{"operation": "search","query": "search_term","searchType": "Top" | "Latest" | "Lists" | "People","pageHash": "optional_page_hash_for_pagination"}
Parameters:
query
(required): The search term to look forsearchType
(required): Type of search to performTop
: Most relevant resultsLatest
: Most recent resultsLists
: Twitter listsPeople
: User accounts
pageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"results": [{"resultType": "tweet","id": "string","authorUsername": "string","content": "string","createdAt": "string","language": "string","sourceClient": "string","metrics": {"bookmarkCount": number,"favoriteCount": number,"replyCount": number,"retweetCount": number,"quoteCount": number,"viewCount": "string"},"media": [{"imageUrl": "string","imageId": "string","dimensions": {"height": number,"width": number}}],"author": {"username": "string","displayName": "string","createdAt": "string","biography": "string","userId": "string","followerCount": number,"favoriteCount": number,"profileImageUrl": "string","isVerified": boolean,"followingCount": number,"locationInfo": string | null}}],"nextPageHash": "string","previousPageHash": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "search","query": "breaking news","searchType": "Latest"}'
Response Fields:
results
: Array of search resultsresultType
: Type of result (e.g., "tweet")id
: Unique identifier of the tweetauthorUsername
: Username of the tweet authorcontent
: Text content of the tweetcreatedAt
: Tweet creation timestamplanguage
: Language code of the tweetsourceClient
: Application used to post the tweetmetrics
: Engagement statistics- Including bookmarks, likes, replies, retweets, quotes, and views
media
: Array of media attachments (if any)- Including URLs, IDs, and dimensions
author
: Detailed information about the tweet author- Including profile data, follower counts, and verification status
Pagination:
- Each response includes
nextPageHash
andpreviousPageHash
fields - To fetch the next page, include the
nextPageHash
value in your next request as thepageHash
parameter - To fetch the previous page, use the
previousPageHash
value - Continue this process until no
nextPageHash
value is returned
9. Search Communities
Searches for Twitter communities based on a search term.
Endpoint: POST
{"operation": "searchCommunities","searchTerm": "search_query","pageHash": "optional_page_hash_for_pagination"}
Base URL: https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}
Parameters:
searchTerm
(required): The search query to find communitiespageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"communities": [{"community_id": "string","member_count": number,"name": "string","primary_topic": string | null,"is_nsfw": boolean,"custom_banner": "string","default_banner": "string","user_id": "string"}],"pageHash": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "searchCommunities","searchTerm": "technology"}'
Response Fields:
communities
: Array of community objectscommunity_id
: Unique identifier for the communitymember_count
: Number of members in the communityname
: Display name of the communityprimary_topic
: Main topic category (e.g., "Politics", "Entertainment", "News")is_nsfw
: Whether the community is marked as not safe for workcustom_banner
: URL of the community's custom banner imagedefault_banner
: URL of the default banner imageuser_id
: ID of the community creator/owner (if available)
Pagination:
- Each response includes a
pageHash
field - To fetch the next page, include the received
pageHash
value in your next request as thepageHash
parameter - Continue this process until no more results are returned
Topics Include:
- Politics
- Entertainment
- News
- And other categories based on community focus
Notes:
- Communities are returned with their current member count and topic categorization
- Both custom and default banner URLs are provided for each community
- Some communities may not have a primary topic (will be null)
- NSFW status is clearly indicated for content filtering
10. Get Community Posts
Retrieves posts from a specific Twitter community with optional filtering.
Endpoint: POST
{"operation": "getCommunityPosts","communityId": "community_id_here","filter": "Top" | "Latest","pageHash": "optional_page_hash_for_pagination"}
Parameters:
communityId
(required): The unique identifier of the communityfilter
(optional): Sort order for postsTop
: Most popular postsLatest
: Most recent posts
pageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"posts": [{"id": "string","bookmarks": number,"createdAt": "string","likes": number,"content": "string","language": "string","clientName": "string","viewCount": number,"username": "string","quoteCount": number,"replyCount": number,"retweetCount": number,"media": {"photos"?: [{"url": "string","id": "string"}],"videos"?: [{"thumbnailUrl": "string","variants": [{"type": "string","bitrate"?: number,"url": "string"}],"aspectRatio": {"width": number,"height": number},"duration": number,"dimensions": {"width": number,"height": number},"id": "string"}]},"author": {"id": "string","name": "string","username": "string","avatarUrl": string | null,"isPremium": boolean},"quotedPost"?: {// Same structure as parent post}}],"pageHash": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getCommunityPosts","communityId": "1783990533192651232","filter": "Top"}'
Response Fields:
posts
: Array of community postsid
: Unique identifier of the postbookmarks
,likes
,replyCount
, etc.: Engagement metricscontent
: Text content of the postlanguage
: Language codeclientName
: Source application used to postmedia
: Media attachments (photos and/or videos)- Photos include URL and ID
- Videos include multiple quality variants, dimensions, and duration
author
: Post author information- Including name, username, and premium status
quotedPost
: Optional quoted post with same structure
Pagination:
- Each response includes a
pageHash
field - To fetch the next page, include the received
pageHash
value in your next request as thepageHash
11. Get List Timeline
Retrieves tweets from a specific Twitter list.
Endpoint: POST
{"operation": "getListTimeline","listId": "list_id_here","pageHash": "optional_page_hash_for_pagination"}
Parameters:
listId
(required): The unique identifier of the Twitter listpageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"tweets": [{"id": "string","authorUsername": "string","content": "string","createdAt": "string","language": "string","sourceClient": "string","engagement": {"bookmarkCount": number,"favoriteCount": number,"replyCount": number,"retweetCount": number,"quoteCount": number,"viewCount": string},"author": {"id": "string","name": "string","followers": number,"username": "string","avatarUrl": "string","isVerified": boolean},"media": {"photos"?: [{"url": "string","id": "string"}],"videos"?: [{"thumbnailUrl": "string","variants": [{"type": "string","bitrate"?: number,"url": "string"}],"aspectRatio": {"width": number,"height": number},"duration": number,"dimensions": {"width": number,"height": number},"id": "string"}]},"quotedTweet"?: {// Same structure as parent tweet}}],"nextPageHash": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getListTimeline","listId": "1356642868182593540"}'
Response Fields:
tweets
: Array of tweets in the listid
: Unique identifier of the tweetauthorUsername
: Username of the tweet authorcontent
: Text content of the tweetcreatedAt
: Tweet creation timestamplanguage
: Language code of the tweetsourceClient
: Application used to post the tweetengagement
: Interaction metrics- Including bookmarks, likes, replies, retweets, quotes, and views
author
: Information about the tweet author- Including profile data, follower count, and verification status
media
: Optional media attachments- Can include photos and/or videos with various quality options
quotedTweet
: Optional quoted tweet with same structure
Pagination:
- Each response includes a
nextPageHash
field - To fetch the next page, include the received
nextPageHash
value in your next request as thepageHash
parameter - Continue this process until no more results are returned
12. Get List Members
Retrieves members of a specific Twitter list.
Endpoint: POST
{"operation": "getListMembers","listId": "list_id_here","pageHash": "optional_page_hash_for_pagination"}
Parameters:
listId
(required): The unique identifier of the Twitter listpageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"users": [{"userId": "string","username": "string","displayName": "string","bio": "string","avatarUrl": string | null,"tweetsCount": number,"followersCount": number,"followingCount": number,"mediaCount": number,"joinDate": "string","location": "string","isVerified": boolean,"isPremium": boolean,"websiteUrl": string | null}],"hasNextPage": boolean,"pageHash": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getListMembers","listId": "1356642868182593540"}'
Response Fields:
users
: Array of user profiles in the listuserId
: Unique identifier of the userusername
: Twitter handledisplayName
: Display name of the userbio
: User's biography textavatarUrl
: URL to profile picture (can be null)tweetsCount
: Total number of tweets postedfollowersCount
: Number of followersfollowingCount
: Number of accounts followingmediaCount
: Number of media postsjoinDate
: Account creation datelocation
: User's specified location (if any)isVerified
: Legacy verification statusisPremium
: Twitter Blue/Premium statuswebsiteUrl
: User's website URL (if any)
Pagination:
- Response includes
hasNextPage
boolean andpageHash
string - When
hasNextPage
is true, use thepageHash
value in your next request as thepageHash
parameter - Continue this process until
hasNextPage
is false
13. Get List Followers
Retrieves users who follow a specific Twitter list.
Endpoint: POST
{"operation": "getListFollowers","listId": "list_id_here","pageHash": "optional_page_hash_for_pagination"}
Parameters:
listId
(required): The unique identifier of the Twitter listpageHash
(optional): Pagination token for fetching more results
Response Structure:
[{"users": [{"userId": "string","username": "string","displayName": "string","bio": "string","avatarUrl": string | null,"tweetsCount": number,"followersCount": number,"followingCount": number,"mediaCount": number,"joinDate": "string","location": "string","isVerified": boolean,"isPremium": boolean,"websiteUrl": string | null}],"hasNextPage": boolean,"pageHash": "string"}]
Example Request:
curl -X POST "https://api.apify.com/v2/acts/resalescrapers~twitter-data-scraper-pro-cheapest-version/run-sync-get-dataset-items?token=${YOUR_APIFY_TOKEN}" \-H "Content-Type: application/json" \-d '{"operation": "getListFollowers","listId": "1356642868182593540"}'
Response Fields:
users
: Array of users following the listuserId
: Unique identifier of the userusername
: Twitter handledisplayName
: Display name of the userbio
: User's biography textavatarUrl
: URL to profile picture (can be null)tweetsCount
: Total number of tweets postedfollowersCount
: Number of followersfollowingCount
: Number of accounts followingmediaCount
: Number of media postsjoinDate
: Account creation datelocation
: User's specified location (if any)isVerified
: Legacy verification statusisPremium
: Twitter Blue/Premium statuswebsiteUrl
: User's website URL (if any)
Pagination:
- Response includes
hasNextPage
boolean andpageHash
string - When
hasNextPage
is true, use thepageHash
value in your next request as thepageHash
parameter - Continue this process until
hasNextPage
is false
Note:
- The response structure is identical to the Get List Members endpoint, but returns users who follow the list instead of list members
- User profiles include comprehensive account information including engagement metrics and profile details
- Some fields may be null or empty depending on the user's profile settings