Skip to content
    ↑↓ to choose · Enter to open

    · 12 min read

    Twitter Keywords Scraper: 17 Data Fields per Record (2026)

    By CrawlerBros Engineering Team

    Each record carries 17 output fields, including the full post text, author usernames, engagement counters, and media URLs. Twitter/X search results are restricted behind a login wall, so this collector requires your session cookies in JSON format to return live data for $2.00 per 1,000 results on the free plan. The output provides the simplest way to track keywords without the official search API, making it suitable for analysts monitoring brand sentiment or viral trends. It is not for anyone needing historical date range filters or language constraints, which the records do not support.

    Try it: open Twitter Keywords Scraper on Apify, sign in on the free plan and run the prefilled example.

    Can you try Twitter Keywords Scraper before paying?

    Yes. Apify's free plan includes $5.00 of prepaid usage every month and asks for no credit card. At $0.002 per result, that covers up to 2,500 results of Twitter Keywords Scraper a month, before run-start charges and platform usage.

    The example request further down caps maxTweets at 20, so a first run returns at most 20 results and costs at most $0.04 in result charges. That is enough to see the real shape of the data before deciding anything.

    Twitter Keywords Scraper was last updated on 2026-06-11. It is one of 1,725 Actors CrawlerBros publishes on Apify, which together have 668,977 lifetime public runs and an average rating of 4.63 out of 5 across 416 reviews.

    What does it cost to run Twitter Keywords Scraper?

    Each result costs $0.002 on Apify's free plan, which is $2.00 per 1,000 results. Starting a run is charged separately at $0.005 per GB of Actor memory. Apify also bills the platform usage each run consumes, at the rates of your Apify plan, on top of these charges.

    Apify plan Per result Per 1,000 results
    FREE $0.002 $2.00
    BRONZE $0.00167 $1.67
    SILVER $0.00133 $1.33
    GOLD $0.001 $1.00
    PLATINUM $0.001 $1.00
    DIAMOND $0.001 $1.00

    The maxTweets control has the largest effect on your bill because it sets the limit for results written to the dataset per keyword. To verify your cookies and keyword choices without spending, start with the example input that caps maxTweets at 20, keeping result charges to at most $0.04. Each run also incurs platform usage and a run-start fee of $0.005 per GB of Actor memory.

    How do you run Twitter Keywords Scraper from the API?

    The schema marks 2 of its 4 controls as required: keywords, cookies. Nothing in the payload below is illustrative. Those are the schema's prefilled defaults for Twitter Keywords Scraper, so the request works once your token is in place.

    Call the synchronous endpoint to start a run and receive dataset items in one request:

    curl -X POST "https://api.apify.com/v2/acts/crawlerbros~twitter-keywords-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"keywords":["apify"],"maxTweets":20,"searchType":"Top","cookies":""}'
    

    The same run from Python, using the official client:

    from apify_client import ApifyClient
    
    client = ApifyClient("<YOUR_APIFY_TOKEN>")
    
    run_input = {
      "keywords": [
        "apify"
      ],
      "maxTweets": 20,
      "searchType": "Top",
      "cookies": ""
    }
    
    run = client.actor("crawlerbros~twitter-keywords-scraper").call(run_input=run_input)
    
    for item in client.dataset(run["defaultDatasetId"]).iterate_items():
        print(item)
    

    And from Node.js:

    import { ApifyClient } from 'apify-client'
    
    const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' })
    
    const input = {
      "keywords": [
        "apify"
      ],
      "maxTweets": 20,
      "searchType": "Top",
      "cookies": ""
    }
    
    const run = await client.actor('crawlerbros~twitter-keywords-scraper').call(input)
    const { items } = await client.dataset(run.defaultDatasetId).listItems()
    console.log(items)
    

    Because the call is synchronous, your client waits for the whole run. Keep it for exploration. For scheduled work, start the run without waiting and collect the dataset afterwards, so network trouble costs you a retry rather than the results.

    Which Twitter Keywords Scraper inputs matter, and which can you skip?

    The keywords and cookies fields are the only required controls to begin a search. Most people should leave searchType on the Top default for their first run to ensure they see high-engagement results before switching to Latest for chronological monitoring.

    • keywords (array): List of keywords or phrases to search for on Twitter/X
    • maxTweets (integer): Maximum number of tweets to scrape for each keyword (1-500) Default: 20.
    • searchType (string): Choose between Top (most relevant/popular) or Latest (chronological) tweets Default: "Top".
    • cookies (string): Required. Twitter authentication cookies in JSON format. Twitter heavily restricts unauthenticated browsing - a valid session is mandatory. Format: [{"name":"auth_token","value":"...","domain":".twitter.com"}, ...]. Without cookies the run returns a single placeholder record indicating cookies are needed.

    Fixed-choice controls: searchType accepts Top (Most relevant and popular tweets), Latest (Most recent tweets in chronological order).

    What does Twitter Keywords Scraper return?

    The returned records are good for measuring the public reach of specific phrases through metrics like views_count and retweets_count. They conspicuously do not contain author follower counts or the full biography of the posting user.

    • tweet_id: Tweet ID
    • tweet_url: Direct tweet URL
    • keyword: Search keyword that found this tweet
    • text: Full tweet text (with hashtags / mentions intact)
    • author_name: Author display name
    • author_username: Author handle (without @)
    • timestamp: ISO 8601 timestamp the tweet was posted
    • replies_count: Reply count
    • retweets_count: Retweet count
    • likes_count: Like count
    • bookmarks_count: Bookmark count
    • views_count: View count
    • media_urls: Array of media objects - { type: image - video - gif, url }
    • hashtags: Array of hashtags used (without #)
    • mentions: Array of mentioned users (without @)
    • urls: External URLs in the tweet
    • scraped_at: ISO 8601 UTC timestamp of extraction

    These are the documented fields. Optional ones can be empty on a given record, so measure how often each field your deliverable depends on is populated across a real sample before automating the handoff.

    How do you build the workflow end to end?

    Open Twitter Keywords Scraper and work through these in order. Each step ends with something to check, so a bad configuration surfaces on a small run rather than a scheduled one.

    1. Export your x.com session cookies as a JSON array using a browser extension, ensuring the auth_token and ct0 fields are included.
    2. Paste the cookie JSON into the cookies field and input a single test term into the keywords array.
    3. Set maxTweets to 20 for your initial validation run to minimize result charges while testing the session.
    4. Execute the run and check the dataset for a record with type twitter_keywords_blocked to ensure the cookies were accepted.
    5. Verify that the text and author_username fields are populated with real tweet data rather than placeholders.
    6. Widen the keywords array to include your full list of search terms and adjust searchType to Latest if you require chronological data.

    How do you apply it? Three worked playbooks

    These are Twitter Keywords Scraper's own documented use cases, each worked through as an operating pattern rather than a description.

    Use case 1: Brand monitoring

    Outcome: Track real-time mentions of your brand or product.

    Configure: Set keywords to your brand names, searchType to "Latest", and maxTweets to 50.

    Working method: Run the Actor on a schedule using the Latest mode to pick up the most recent posts. Collect the tweet_id and timestamp for every record to build a chronological timeline of mentions.

    Deliverable: A dataset of recent tweets mentioning specific brand terms including engagement metrics and author handles.

    Stop condition: The run outputs a record with reason set to expired_cookies.

    Use case 2: Competitive research

    Outcome: Monitor competitor keywords and hashtags.

    Configure: Set keywords to competitor hashtags, searchType to "Top", and maxTweets to 100.

    Working method: Initiate a search for competitor-specific hashtags using the Top setting to identify their most popular content. Compare the retweets_count and likes_count across different competitor terms to benchmark performance.

    Deliverable: A comparison report of high-performing competitor posts with associated engagement tallies.

    Stop condition: The dataset contains only the sentinel record indicating the search is blocked.

    Use case 3: Trend analysis

    Outcome: Capture viral content as it emerges.

    Configure: Set keywords to industry trending topics, searchType to "Top", and maxTweets to 500.

    Working method: Query broad topic keywords and sort the resulting dataset by views_count to find outliers. Identify the most mentioned handles in the mentions array to find influential voices in the trend.

    Deliverable: A collection of high-engagement tweets for specific industry keywords including media links.

    Stop condition: The number of results returned is significantly lower than the maxTweets threshold for a popular term.

    What breaks, and how do you design around it?

    • Twitter/X search index depth varies; very old tweets may not be retrievable.
    • Protected (private) accounts are excluded unless you authenticate with cookies from a follower.
    • Cookies expire - refresh every ~30-60 days.
    • Engagement counts for very old tweets may differ slightly from the official API.

    When you encounter expired session cookies, you must re-export a fresh JSON array from your browser to the cookies field. If you find the search index is not returning very old tweets, you should focus on real-time data collection using the Latest search type.

    When should you not use Twitter Keywords Scraper?

    Do not use this Actor if you require granular filtering by language, specific date windows, or minimum engagement thresholds. This tool provides the standard search results as they appear in the UI. For projects requiring these advanced search operators, use Twitter Keywords Scraper Pro instead. If your deliverable requires deep account data such as follower counts or profile descriptions, Twitter Profile Scraper is the better choice. Avoid this scraper if you cannot manually rotate session cookies every 30 to 60 days, as it does not bypass the login requirement automatically.

    What should you check before trusting the output?

    • Check for a record with type set to twitter_keywords_blocked which indicates your session cookies are invalid or expired.
    • Verify that the text field contains a string with a length greater than zero for every returned tweet.
    • Monitor the ratio of results to keywords to ensure you are not hitting search index depth limits.
    • Check that likes_count and views_count are present as integers to confirm engagement data was successfully parsed.
    • Alert on any run that returns zero results for a high-volume keyword without an error record.

    None of this proves a record is correct. It gives a scheduled Twitter Keywords Scraper run defined points where it should stop instead of quietly passing bad data downstream.

    Frequently asked questions

    What is the result price for Twitter Keywords Scraper?

    The free-plan price is $0.002 per result, which equals $2.00 per 1,000 results. Apify also bills for the platform usage each run consumes and a run-start fee of $0.005 per GB of Actor memory. These charges apply to all runs, while per-result fees only apply to items written to your dataset.

    How can I try this Actor before paying?

    Apify's free plan includes $5.00 of monthly usage with no credit card, which covers up to 2,500 results of this Actor. You can use the example input which caps results at 20 to verify the output for approximately $0.04 in result charges.

    Why do I need to provide browser cookies?

    Twitter/X currently locks all search results behind a mandatory login. Without valid session cookies, the scraper cannot access the search feed. If the cookies are missing or invalid, the Actor returns a single record with a reason field explaining the authentication failure.

    What is the difference between Top and Latest search types?

    Top returns the most relevant and popular tweets as determined by Twitter's algorithm, which is ideal for trend analysis. Latest returns tweets in strict reverse chronological order, which is necessary for brand monitoring and tracking breaking news as it happens.

    What is the maximum number of tweets I can extract per keyword?

    You can set maxTweets up to 500 per keyword in a single run. The actual number of tweets returned depends on the keyword's popularity and the depth of the Twitter search index at the time of the request.

    Where to go next

    When you are ready to run it, open Twitter Keywords Scraper on Apify; the free plan covers up to 2,500 results a month.

    Start with the Twitter Keywords Scraper Actor page for the current input schema, pricing tier, and run history.

    It is part of the Twitter/X Scraping Suite, which puts every related Actor on one page with its price and run history.

    Other Actors we maintain for related data:

    • Twitter Profile Scraper: Extract comprehensive Twitter/X profile data and tweets including all engagement metrics (likes, retweets, replies, quotes, bookmarks, views), profile details, media URLs, hashtags, and mentions with anti-detection features and authenticated scraping support.
    • Twitter Keywords Scraper Pro: Scrape tweets from Twitter/X by keywords with advanced filters: date range, language, engagement thresholds, media type, verified-only, and more.
    • Twitter Video Downloader: Download videos from Twitter/X posts.
    • Twitter Screenshot Generator: Take clean, high-quality screenshots of any public Twitter/X post.
    • Twitter / X Video Transcript Scraper: Extract transcripts from Twitter/X video posts.

    Related guides:

    Resources

    • Actor documentation, input schema, and pricing: verified against the published Actor on 2026-09-25.

    • Actor last updated by its maintainers on 2026-06-11.

    • Run outcome figures cover the 30 day public window ending 2026-09-25.

    • Twitter Keywords Scraper on Apify

    Featured actors

    Twitter Keywords Scraper

    Extract tweets from Twitter/X based on keywords. Scrapes tweet text, usernames, engagement metrics, media, and timestamps for multiple search terms.

    Run on Apify ↗