Twitter (x) Data Scraper Pro (Cheapest working version) avatar
Twitter (x) Data Scraper Pro (Cheapest working version)

Pricing

$24.99/month + usage

Go to Store
Twitter (x) Data Scraper Pro (Cheapest working version)

Twitter (x) Data Scraper Pro (Cheapest working version)

Developed by

resaleScrapersCommunity

resaleScrapersCommunity

Maintained by Community

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
  • 📈 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 @ symbol
  • pageHash (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 the pageHash 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 tweet
  • createdAt: Tweet creation timestamp in UTC
  • content: Contains both the full and display text of the tweet
  • metrics: Engagement statistics including likes, retweets, replies, quotes, bookmarks, and view count
  • engagement: Information about reply status and conversation threading
  • author: Details about the tweet's author including verification status and follower count
  • media: Array of media attachments (photos, videos) with their URLs and dimensions
  • mentions: Array of users mentioned in the tweet
  • status: Current status of the tweet (e.g., "active")
  • language: Language code of the tweet content
  • isSensitive: 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 for
  • pageHash (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 tweet
    • userId: Unique identifier of the retweeter
    • username: Twitter handle of the retweeter
    • displayName: Display name of the retweeter
    • biography: User's bio text
    • profileImageUrl: URL to user's profile image (null if not available)
    • metrics: User's account statistics
      • tweetsCount: Total number of tweets posted
      • followersCount: Number of followers
      • followingCount: Number of accounts following
      • mediaCount: 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 the pageHash 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 for
  • pageHash (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 tweets
    • replyId: Unique identifier of the reply tweet
    • authorHandle: Twitter handle of the reply author
    • content: Text content of the reply
    • postedAt: Timestamp when the reply was posted
    • language: Language code of the reply
    • clientSource: Source application used to post the reply
    • metrics: Engagement statistics for the reply
    • author: 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 to
    • replyToTweetId: ID of the tweet being replied to
    • replyToUserId: User ID of the tweet being replied to

Pagination:

  • Each response includes nextPageHash and previousPageHash fields
  • To fetch the next page, include the nextPageHash value in your next request as the pageHash 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 URL
  • userId: Unique identifier for the user
  • isBlueVerified: Whether the user has Twitter Blue verification
  • partnerLinkType: Type of partner link (if applicable)
  • partnerLinkUrl: URL associated with partner status
  • partnerBadgeUrl: URL of the partner badge image
  • partnerDescription: Description of partner status
  • partnerLabelType: Type of partner label
  • isBusinessAccount: Business account status
  • profileImageUrl: URL of the user's profile picture
  • bannerImageUrl: URL of the user's profile banner image
  • biography: User's bio text
  • displayName: User's display name
  • isPrivateAccount: Whether the account is private
  • userLocation: User's specified location
  • followingCount: Number of accounts the user follows
  • subscriberCount: Number of followers/subscribers
  • totalTweetsCount: Total number of tweets posted
  • totalMediaCount: Total number of media posts
  • pinnedTweetIds: Array of pinned tweet IDs
  • accountCreationDate: Date when the account was created
  • accountId: 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 @ symbol
  • pageHash (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 profiles
    • userId: Unique identifier of the user
    • username: Twitter handle
    • biography: User's bio text
    • profileImageUrl: URL of the user's profile picture
    • totalTweetsCount: Total number of tweets posted
    • followerCount: Number of followers
    • followingCount: Number of accounts following
    • totalMediaCount: Number of media posts
    • displayName: User's display name
    • accountCreationDate: Date when the account was created

Pagination:

  • Each response includes a nextPage field and hasMoreUsers boolean
  • To fetch the next page, include the nextPage value in your next request as the pageHash parameter
  • Continue this process while hasMoreUsers is true

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 trends
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": "getTrends"
}'
# Get country-specific trends
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": "getTrends",
"countryCode": "UnitedStates"
}'

Response Fields:

  • trends: Array of trending topics
    • title: Name of the trending topic or hashtag
    • postsCount: Number of posts for this trend (formatted as string, can be null)
    • category: Classification of the trend
      • name: 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 for
  • searchType (required): Type of search to perform
    • Top: Most relevant results
    • Latest: Most recent results
    • Lists: Twitter lists
    • People: 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 results
    • resultType: Type of result (e.g., "tweet")
    • id: Unique identifier of the tweet
    • authorUsername: Username of the tweet author
    • content: Text content of the tweet
    • createdAt: Tweet creation timestamp
    • language: Language code of the tweet
    • sourceClient: Application used to post the tweet
    • metrics: 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 and previousPageHash fields
  • To fetch the next page, include the nextPageHash value in your next request as the pageHash 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 communities
  • pageHash (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 objects
    • community_id: Unique identifier for the community
    • member_count: Number of members in the community
    • name: Display name of the community
    • primary_topic: Main topic category (e.g., "Politics", "Entertainment", "News")
    • is_nsfw: Whether the community is marked as not safe for work
    • custom_banner: URL of the community's custom banner image
    • default_banner: URL of the default banner image
    • user_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 the pageHash 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 community
  • filter (optional): Sort order for posts
    • Top: Most popular posts
    • Latest: 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 posts
    • id: Unique identifier of the post
    • bookmarks, likes, replyCount, etc.: Engagement metrics
    • content: Text content of the post
    • language: Language code
    • clientName: Source application used to post
    • media: 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 the pageHash

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 list
  • pageHash (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 list
    • id: Unique identifier of the tweet
    • authorUsername: Username of the tweet author
    • content: Text content of the tweet
    • createdAt: Tweet creation timestamp
    • language: Language code of the tweet
    • sourceClient: Application used to post the tweet
    • engagement: 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 the pageHash 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 list
  • pageHash (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 list
    • userId: Unique identifier of the user
    • username: Twitter handle
    • displayName: Display name of the user
    • bio: User's biography text
    • avatarUrl: URL to profile picture (can be null)
    • tweetsCount: Total number of tweets posted
    • followersCount: Number of followers
    • followingCount: Number of accounts following
    • mediaCount: Number of media posts
    • joinDate: Account creation date
    • location: User's specified location (if any)
    • isVerified: Legacy verification status
    • isPremium: Twitter Blue/Premium status
    • websiteUrl: User's website URL (if any)

Pagination:

  • Response includes hasNextPage boolean and pageHash string
  • When hasNextPage is true, use the pageHash value in your next request as the pageHash 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 list
  • pageHash (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 list
    • userId: Unique identifier of the user
    • username: Twitter handle
    • displayName: Display name of the user
    • bio: User's biography text
    • avatarUrl: URL to profile picture (can be null)
    • tweetsCount: Total number of tweets posted
    • followersCount: Number of followers
    • followingCount: Number of accounts following
    • mediaCount: Number of media posts
    • joinDate: Account creation date
    • location: User's specified location (if any)
    • isVerified: Legacy verification status
    • isPremium: Twitter Blue/Premium status
    • websiteUrl: User's website URL (if any)

Pagination:

  • Response includes hasNextPage boolean and pageHash string
  • When hasNextPage is true, use the pageHash value in your next request as the pageHash 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