# How to Scrape a Twitter Thread and All Its Replies

To scrape a Twitter thread and all its replies, run apidojo's Twitter Scraper Unlimited on Apify with conversation\_id: followed by the first post's ID in searchTerms.

[![apidojo](/blog/authors/apidojo.png)**Apidojo** *15+ years of experience in data retrieval.*](/blog/authors/apidojo/)

**7 October 2026** Published

**3 min** Read

![Cover card reading 'How to Scrape a Twitter Thread and All Replies'](/blog/covers/scrape-thread-replies.png)

**To scrape a Twitter thread and all its replies, run apidojo’s [Twitter Scraper Unlimited](https://apify.com/apidojo/twitter-scraper-lite) on Apify with `conversation_id:` followed by the first post’s ID in `searchTerms`.** A conversation query costs $0.016 and includes about 40 replies; each further reply costs from $0.0004.

This guide covers whole conversations, author-only threads, several threads at once and the costs of each. Searching replies by hand is covered in [how to search Twitter replies](/blog/twitter-search/search-twitter-replies/). Every other collection task is mapped in [how to scrape Twitter (X) data](/blog/twitter-scraping/how-to-scrape-twitter/).

## Which apidojo Actor Scrapes Replies?

**Two apidojo actors scrape replies: Twitter Scraper Unlimited for conversation searches, and Twitter Replies Scraper for replies by post ID or URL.** Tweet Scraper V2 does not scrape conversations or replies to specific posts; its documentation directs that job to Twitter Scraper Unlimited ([Apify](https://apify.com/apidojo/tweet-scraper)).

| Actor | Input | Best for |
| --- | --- | --- |
| Twitter Scraper Unlimited | conversation_id:ID in searchTerms | Full conversations, filtered replies, author threads |
| Twitter Replies Scraper | Post ID or URL | Every reply to specific posts |

## How Do You Scrape Every Reply to a Tweet?

**You scrape every reply to a tweet by taking the post ID from its URL and running `conversation_id:` with that ID.** A conversation ID matches every post in the thread, including replies to replies ([twitter-advanced-search reference](https://github.com/igorbrigadir/twitter-advanced-search)). Listed below are the 4 steps.

1.  **Copy** the post URL and take the number after `/status/`.
2.  **Open** Twitter Scraper Unlimited.
3.  **Enter** the query in `searchTerms` with `sort` set to `Latest`.
4.  **Run** and export the replies as JSON, CSV or Excel.

```
{
  "searchTerms": ["conversation_id:1728108619189874825"],
  "sort": "Latest"
}
```

Finding a post from its ID is covered in [how to view a tweet by ID on X](/blog/x-guides/view-tweet-by-id/).

## How Do You Scrape Only the Author’s Thread?

**To scrape only the author’s own thread, add `from:` and the author’s handle to the conversation query.** `conversation_id:ID from:username` keeps the author’s posts in that conversation and drops everyone else’s replies. `from:username filter:self_threads` returns the author’s self-replies across all their threads (twitter-advanced-search reference).

## How Do You Filter Replies in a Thread?

**You filter replies by adding operators to the conversation query, exactly as in X search.** Listed below are the 4 most useful filters, including the hashtag example from the actor’s documentation (Apify).

| Keep | Query |
| --- | --- |
| Replies with a hashtag | conversation_id:ID #AI |
| Replies with a keyword | conversation_id:ID refund |
| Popular replies | conversation_id:ID min_faves:50 |
| Replies from verified accounts | conversation_id:ID filter:verified |

## How Do You Scrape Several Threads With Python?

**Put one `conversation_id:` query per thread in `searchTerms` and read the results from the run’s dataset.** Batch size sets the per-item price: up to 5 queries is Tier 1 at $0.0004 per item (Apify).

```
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("apidojo/twitter-scraper-lite").call(run_input={
    "searchTerms": [
        "conversation_id:1728108619189874825",
        "conversation_id:1140437409710116865",
    ],
    "sort": "Latest",
})

replies = {i["id"]: i for i in client.dataset(run.default_dataset_id).iterate_items()}
for r in replies.values():
    print(r["author"]["userName"], r["likeCount"], r["text"][:80])
```

The full Python setup is in [how to collect tweets with Python](/blog/twitter-scraping/scrape-tweets-python/).

## What Does Scraping a Thread Cost?

**A thread costs $0.016 per conversation query, which includes the first 2 pages (about 40 replies), plus $0.0004 per further reply in a batch of up to 5 queries.** A thread with 1,040 replies costs about $0.016 plus 1,000 replies at $0.0004, or $0.42 (Apify).

| Batch size | Price per item |
| --- | --- |
| Up to 5 queries | $0.0004 |
| 6 to 10 queries | $0.0008 |
| 11 to 30 queries | $0.0012 |
| 31 to 100 queries | $0.0016 |
| More than 100 queries | $0.002 |

This pricing applies on paid Apify plans; free plan users run in demo mode, up to 5 runs a month with 10 items each.

## The scrapers behind this

-   [Twitter Scraper Unlimited Single tweets, reply threads, X Articles and small queries; no minimum $0.016 / query + $0.40 / 1K](/scrapers/twitter-scraper-lite/)
-   [Tweet Scraper V2 Tweets from searches, profiles, Lists and URLs; 49–64 tweets/sec; minimum 50 per query $0.40 / 1K tweets](/scrapers/twitter-scraper/)
-   [Twitter Replies Scraper Every reply under a tweet by ID or URL, with author data $0.014 / tweet + $0.40 / 1K replies](/scrapers/twitter-replies-scraper/)

## Questions people ask

### Does conversation\_id: include replies to replies?

Yes, it matches every post in the conversation at every reply level.

### Can you scrape replies from a protected account?

No, protected replies are visible only to approved followers and are not returned.

### Why are some replies missing?

The actors return what X serves, and X can filter or hide some replies; the documentation notes shadow-banned or filtered posts are outside their control.

### Where do you start?

At [how to scrape Twitter data in 2026](/blog/twitter-scraping/how-to-scrape-twitter/) or the [apidojo Twitter Scraper](/scrapers/twitter-scraper/).

## More on scraping X data

-   [How to Scrape Twitter (X) Data in 2026 What Twitter data you can scrape, the 3 ways to collect it, which apidojo actor fits each task, prices, limits and Python code.](/blog/twitter-scraping/how-to-scrape-twitter/)
-   [How to Scrape Tweets by Keyword (2026 Guide) Scrape tweets by keyword with apidojo's Tweet Scraper V2: query rules, batching, Python code, costs and fixes for low results.](/blog/twitter-scraping/scrape-tweets-by-keyword/)
-   [How to Scrape Tweets by Date Range Scrape tweets between two dates by splitting periods into windows, running them in batches and removing duplicates, with Python code.](/blog/twitter-scraping/scrape-tweets-by-date/)
-   [How to Scrape Tweets From a User Profile Scrape any public profile's tweets with from:username, collect a full history in date windows, and compare two apidojo actors.](/blog/twitter-scraping/scrape-user-tweets/)
-   [How to Scrape Twitter Search Results Turn any X search into a JSON, CSV or Excel dataset with apidojo's Tweet Scraper V2, using search queries or search result URLs.](/blog/twitter-scraping/scrape-search-results/)
-   [How to Scrape Images and Videos From Tweets Collect tweets with media, find the media URLs in the output, download images with Python and pick the best video file.](/blog/twitter-scraping/scrape-twitter-media/)
-   [How to Export Tweets to CSV or JSON Export tweets to CSV, Excel, JSON or JSONL: your own archive, any search through a scraper, the columns you get and the API call.](/blog/twitter-scraping/export-tweets-csv-json/)
-   [How to Collect Tweets With Python (2026) A complete Python tweet collector: setup, first run, date parsing, date-window batching, deduplication and CSV export.](/blog/twitter-scraping/scrape-tweets-python/)
-   [How to Collect Tweets With JavaScript and Node.js A complete Node.js tweet collector: setup, first run, safe tweet IDs, date-window batching, deduplication and CSV export.](/blog/twitter-scraping/scrape-tweets-javascript/)
-   [Twitter Scraper Pagination: Cursors and Limits How pagination works in the X API and apidojo's actors, why searches stop early, and how to deduplicate and resume collections.](/blog/twitter-scraping/pagination/)
-   [How to rebuild an X conversation tree from replies Replies arrive as a flat list. Two fields, conversationId and inReplyToId, are what turn that list back into the threaded conversation you saw on X.](/blog/twitter-scraping/x-reply-tree/)
-   [When the X replies endpoint under-returns A thread that looks busy on X can come back thin from a scrape. Here is how to tell a quiet conversation from a short run, and what the second flow fixes.](/blog/twitter-scraping/x-replies-vs-search-flow/)
-   [Reading account age in X reply data Every reply carries the responder's account creation date, follower counts and post history. Here is what those fields can and cannot tell you.](/blog/twitter-scraping/x-replier-account-age/)

![apidojo](/blog/authors/apidojo.png)

## [Apidojo](/blog/authors/apidojo/)

15+ years of experience in data retrieval.

API Dojo is always ready for you. With 15+ years of experience, data acquisition has never been that easy. Cheapest prices with high availability.

-   🏯 15+ years of experience in data retrieval.
-   💰 Cheapest prices, qualified data.
-   ⚙️ High availability, extreme maintenance.
-   🐉 Hyper communicative, excellent support.

-   [apify.com](https://apify.com/apidojo)
-   [x.com](https://x.com/apidojo_)
-   [github.com](https://github.com/apidojo-io)
