{"name":"x-post-replies","id":"sfoln/x-post-replies","title":"Tweet Replies Scraper (X / Twitter)","description":"Scrape the replies to any public X (Twitter) post: text, date, author, likes, reposts, views, media, hashtags and links, one JSON row per reply. Paste post URLs or IDs; 20–200 newest replies per post. $0.70 per 1,000 replies; posts without replies are free.","version":"0.1","status":"ready","family":{"id":"social-media-data","name":"Social media data","description":"Profiles, posts, comments, followers and account audits from X, Instagram, TikTok, YouTube, Reddit, Threads, LinkedIn, Facebook, Bluesky, Telegram, Hacker News and Substack.","actors":31},"categories":["SOCIAL_MEDIA","NEWS","LEAD_GENERATION"],"availability":"on_request","seoTitle":"Tweet Replies Scraper API – $0.70 per 1,000 replies","seoDescription":"Tweet replies scraper API: export the replies to any public X (Twitter) post with author, likes, views and media to JSON or CSV. $0.70 per 1,000 replies.","summary":"Tweet Replies Scraper (X / Twitter) gets the replies to any public X (Twitter) post as clean, flat records: reply text, timestamp, author (handle, name, followers, blue check), likes, reposts, replies, quotes, views, bookmarks, media links, hashtags, mentions and links. Paste post URLs or IDs and receive one dataset row per reply: ideal for audience sentiment, customer-feedback mining, community management, campaign monitoring and LLM training/evaluation sets.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"x-reply","title":"X reply","description":"Charged once per reply delivered to the dataset. Per-post summary rows are free.","priceUsd":0.0007}]},"input":{"description":"Paste X (Twitter) post URLs or ids. The Actor returns the replies to each post (newest first), one dataset record per reply, plus one summary record per post.","required":["posts"],"fields":[{"name":"posts","title":"Post URLs or ids","type":"array","required":true,"description":"x.com / twitter.com status URLs or numeric post ids, one per line. Use the first post of a thread (the upstream returns replies to thread roots). Accounts on the Apify free plan can process up to 10 posts per run.","prefill":["1846987139428634858"],"editor":"stringList"},{"name":"maxRepliesPerPost","title":"Max replies per post","type":"integer","required":false,"description":"How many of the most recent replies to return per post (20–200). Replies are fetched in pages of ~20, so the minimum is one page.","default":20,"minimum":20,"maximum":200},{"name":"maxItems","title":"Max posts","type":"integer","required":false,"description":"Safety cap on the number of posts processed in this run.","default":1000,"minimum":1,"maximum":10000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"Posts processed in parallel (1–5).","default":3,"minimum":1,"maximum":5},{"name":"itemTimeoutSecs","title":"Per-post time limit (seconds)","type":"integer","required":false,"description":"Stop paginating a post after this long; rows already delivered are kept.","default":300,"minimum":30,"maximum":1800},{"name":"includeRaw","title":"Include raw upstream response","type":"boolean","required":false,"description":"Attach the unmodified TwitterAPI.io payload to each record under `raw` (larger output).","default":false}]},"exampleInput":{"posts":["1846987139428634858"]},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The input item this record corresponds to."},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan (result rows are always ok)","example":"ok"},{"name":"charged","type":"boolean","title":"Charged","description":"Whether this record incurred a pay-per-event charge."},{"name":"chargedEvent","type":"string","title":"Charged event","description":"Pay-per-event event charged for this record."},{"name":"source","type":"string","title":"Source","description":"Upstream data source (twitterapi = TwitterAPI.io)."},{"name":"fetchedAt","type":"string","title":"Fetched at","description":"ISO timestamp."},{"name":"error","type":"object","title":"Error","description":"code / message when status is not ok."},{"name":"warnings","type":"array","title":"Warnings","description":"Non-fatal notes (e.g. stopped early)."},{"name":"recordType","type":"string","title":"Row type","description":"reply (one per reply, charged) | post-summary (one per input post, free)."},{"name":"parentTweetId","type":"string | null","title":"Parent post id","description":"The input post these replies belong to."},{"name":"id","type":"string | null","title":"Post id","description":"Numeric post (tweet) id as a string."},{"name":"url","type":"string | null","title":"URL","description":"Link to the post on x.com."},{"name":"text","type":"string | null","title":"Text","description":"Full post text."},{"name":"createdAt","type":"string | null","title":"Created at","description":"ISO 8601 creation time."},{"name":"lang","type":"string | null","title":"Language","description":"Language code detected by X."},{"name":"postedVia","type":"string | null","title":"Posted via","description":"Client app used to post."},{"name":"authorHandle","type":"string | null","title":"Author handle","description":"Author's handle without @."},{"name":"authorId","type":"string | null","title":"Author id","description":"Author's numeric user id."},{"name":"authorName","type":"string | null","title":"Author name","description":"Author display name."},{"name":"authorFollowers","type":"integer | null","title":"Author followers","description":"Author follower count at fetch time."},{"name":"authorIsBlueVerified","type":"boolean | null","title":"Author blue verified","description":"Author has a blue check."},{"name":"likes","type":"integer | null","title":"Likes","description":"Like count."},{"name":"retweets","type":"integer | null","title":"Reposts","description":"Repost (retweet) count."},{"name":"replies","type":"integer | null","title":"Replies","description":"Reply count."},{"name":"quotes","type":"integer | null","title":"Quotes","description":"Quote count."},{"name":"views","type":"integer | null","title":"Views","description":"View count (null when X does not report it)."},{"name":"bookmarks","type":"integer | null","title":"Bookmarks","description":"Bookmark count."},{"name":"isReply","type":"boolean","title":"Is reply","description":"Post is a reply."},{"name":"inReplyToId","type":"string | null","title":"In reply to post","description":"Parent post id."},{"name":"inReplyToUserId","type":"string | null","title":"In reply to user id","description":"Parent author id."},{"name":"inReplyToHandle","type":"string | null","title":"In reply to handle","description":"Parent author handle."},{"name":"conversationId","type":"string | null","title":"Conversation id","description":"Root post id of the thread."},{"name":"isRetweet","type":"boolean","title":"Is repost","description":"Post is a repost."},{"name":"retweetedTweetId","type":"string | null","title":"Reposted post id","description":"Original post id for reposts."},{"name":"isQuote","type":"boolean","title":"Is quote","description":"Post quotes another post."},{"name":"quotedTweetId","type":"string | null","title":"Quoted post id","description":"Quoted post id."},{"name":"hashtags","type":"array","title":"Hashtags","description":"Hashtags without #."},{"name":"mentions","type":"array","title":"Mentions","description":"Mentioned handles without @."},{"name":"urls","type":"array","title":"Links","description":"Expanded links in the post."},{"name":"media","type":"array","title":"Media","description":"Photos / videos: type, url, videoUrl (best MP4), expandedUrl."},{"name":"mediaCount","type":"integer","title":"Media count","description":"Number of attached media items."},{"name":"tweetId","type":"string | null","title":"Input post id","description":"Parsed post id (summary rows)."},{"name":"repliesReturned","type":"integer | null","title":"Replies returned","description":"Replies delivered for this post (summary rows)."},{"name":"pagesFetched","type":"integer | null","title":"Pages fetched","description":"Upstream pages fetched (summary rows)."},{"name":"stopReason","type":"string | null","title":"Stop reason","description":"limit | end | budget | deadline | empty_pages | max_pages | error (summary rows)."}],"outputExample":{"input":"https://x.com/elonmusk/status/1846987139428634858","recordType":"reply","parentTweetId":"1846987139428634858","id":"1846990000000000001","url":"https://x.com/jane_dev/status/1846990000000000001","text":"@elonmusk great point #space","createdAt":"2024-10-18T09:30:00.000Z","lang":"en","postedVia":"Twitter for iPhone","authorHandle":"jane_dev","authorId":"1458000000000000000","authorName":"Jane","authorFollowers":812,"authorIsBlueVerified":false,"likes":4,"retweets":0,"replies":1,"quotes":0,"views":230,"bookmarks":0,"isReply":true,"inReplyToId":"1846987139428634858","inReplyToUserId":"44196397","inReplyToHandle":"elonmusk","conversationId":"1846987139428634858","isRetweet":false,"retweetedTweetId":null,"isQuote":false,"quotedTweetId":null,"hashtags":["space"],"mentions":["elonmusk"],"urls":[],"media":[],"mediaCount":0,"status":"ok","charged":true,"chargedEvent":"x-reply","source":"twitterapi","fetchedAt":"2026-10-14T10:00:00.000Z"},"faq":[],"mcpExamplePrompt":"Get the 100 newest replies to https://x.com/jack/status/20 and summarize the overall sentiment and the most common themes.","related":["x-post-context","x-posts-lookup","x-user-mentions"],"urls":{"site":"https://www.sfoln.com/actors/x-post-replies/","siteJson":"https://www.sfoln.com/actors/x-post-replies.json","siteMarkdown":"https://www.sfoln.com/actors/x-post-replies.md","runSync":"https://api.apify.com/v2/actors/sfoln~x-post-replies/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~x-post-replies/runs","mcp":"https://mcp.apify.com?tools=sfoln/x-post-replies","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20Tweet%20Replies%20Scraper%20(X%20%2F%20Twitter)%20(sfoln%2Fx-post-replies)&body=Please%20publish%20x-post-replies.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}