X Twitter Replies Scraper - [No Cookies] avatar

X Twitter Replies Scraper - [No Cookies]

Pricing

from $8.00 / 1,000 x/twitter reply scrapeds

Go to Apify Store
X Twitter Replies Scraper - [No Cookies]

X Twitter Replies Scraper - [No Cookies]

Scrape public X/Twitter replies from tweet URLs or IDs with author profiles, metrics, media, language, and cursors. MCP optimized. $8.00/1K replies.

Pricing

from $8.00 / 1,000 x/twitter reply scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

2

Monthly active users

2 days ago

Last modified

Categories

Share

X Twitter Replies Scraper - No Cookies

X Twitter Replies Scraper - No Cookies is an Apify Actor for working with public replies on specific X/Twitter posts. It accepts tweet URLs or numeric tweet IDs, returns one dataset record per reply, and includes reply text, timestamps, language, conversation identifiers, author profile fields, engagement counts, media URLs, and provider metadata. The output is shaped for analytics, downstream enrichment, and AI-agent workflows through Apify, including Apify MCP.

Best fit and connected workflows

This Actor fits workflows centered on a known tweet or set of tweets where the goal is to collect public reply data in a normalized table.

Common routes include:

  • Reply monitoring for a brand, campaign, product launch, or announcement post
  • Conversation analysis for public social listening and sentiment review
  • Community and creator research around a specific post
  • Support triage based on visible public responses
  • AI-agent workflows that need structured reply records with author and engagement fields

If your workflow starts from a tweet URL or tweet ID and ends with reply-level data, this Actor gives you a focused path from input to dataset rows.

Practical scenario

A community manager has a tweet URL from a product announcement and wants to review the public response before the next meeting. They enter the tweet URL, keep the default relevance ranking, and run the Actor.

The dataset returns fields such as replyUrl, text, createdAt, authorUsername, authorName, authorFollowers, likeCount, retweetCount, replyCount, viewCount, and language. The manager can then sort the replies, identify visible themes, and export the dataset for reporting or follow-up work.

Input

The Actor accepts these input fields:

FieldTypePurposeNotes
tweetUrlsarrayTweet URLs or IDs to scrapeRequired. Accepts full X/Twitter URLs or numeric tweet IDs.
rankingModestringReply orderingRelevance, Recency, or Likes. Defaults to Relevance.
maxRepliesintegerTotal reply rows to saveHard cap across all input tweets. Default 100, max 5000.
maxPagesPerTweetintegerPagination safety valveDefault 10, max 100.
startCursorstringContinue from a previous runPaste the cursor from RUN_SUMMARY.nextCursors.
includeRawbooleanInclude raw provider payloadUseful for debugging field drift or custom parsing.
dedupeRepliesbooleanSkip duplicate repliesDefault is enabled.

Valid focused JSON example:

{
"tweetUrls": [
"https://x.com/OpenAI/status/2065225362544726371"
],
"rankingMode": "Relevance",
"maxReplies": 100,
"maxPagesPerTweet": 10,
"startCursor": "",
"includeRaw": false,
"dedupeReplies": true
}

Output

Each dataset item is one public reply record.

FieldTypeMeaning
parentTweetIdstringTweet ID supplied as input.
parentTweetUrlstringCanonical URL of the source tweet.
rankingModestringOrdering used for the run.
positioninteger1-based row position after normalization and dedupe.
replyIdstringReply status ID.
replyUrlstringCanonical X/Twitter URL for the reply.
textstringFull public reply text.
createdAtstringReply timestamp in ISO format.
languagestringLanguage code from X/Twitter.
conversationIdstringConversation root ID.
inReplyToTweetIdstringTweet ID this reply responds to.
authorUsernamestringReply author's handle without @.
authorNamestringReply author's display name.
authorIdstringNumeric author ID.
authorUrlstringCanonical author profile URL.
authorVerifiedbooleanVerification status when available.
authorFollowersintegerFollower count.
authorFollowingintegerFollowing count.
authorBiostringPublic bio text.
authorProfileImageUrlstringProfile image URL.
replyCountintegerReply count on the reply post.
retweetCountintegerRetweet count on the reply post.
quoteCountintegerQuote count on the reply post.
likeCountintegerLike count on the reply post.
viewCountintegerView count on the reply post.
bookmarkCountintegerBookmark count on the reply post.
hashtagsarrayHashtags found in the reply.
mentionsarrayMentions found in the reply.
urlsarrayURLs found in the reply.
mediaUrlsarrayMedia URLs found in the reply.
sourcestringPosting client or app source when available.
providerstringProvider used for the result.
providerPageintegerProvider page number in the run.
scrapedAtstringTime the record was emitted.
rawobjectRaw provider item when includeRaw is enabled.

Illustrative dataset record:

{
"parentTweetId": "2065225362544726371",
"parentTweetUrl": "https://x.com/OpenAI/status/2065225362544726371",
"rankingMode": "Relevance",
"position": 1,
"replyId": "2065226000000000001",
"replyUrl": "https://x.com/example/status/2065226000000000001",
"text": "Great update, looking forward to trying this.",
"createdAt": "2026-01-01T12:00:00.000Z",
"language": "en",
"conversationId": "2065225362544726371",
"inReplyToTweetId": "2065225362544726371",
"authorUsername": "example",
"authorName": "Example User",
"authorId": "123456789",
"authorUrl": "https://x.com/example",
"authorVerified": false,
"authorFollowers": 1200,
"authorFollowing": 340,
"authorBio": "Public profile bio.",
"authorProfileImageUrl": "https://pbs.twimg.com/profile_images/example.jpg",
"replyCount": 0,
"retweetCount": 0,
"quoteCount": 0,
"likeCount": 12,
"viewCount": 340,
"bookmarkCount": 1,
"hashtags": [],
"mentions": [],
"urls": [],
"mediaUrls": [],
"source": "X for iPhone",
"provider": "SociaVault",
"providerPage": 1,
"scrapedAt": "2026-01-01T12:00:05.000Z"
}

How it works

This Actor uses provider-backed access for public X/Twitter replies and runs without cookies. The manifest indicates provider retries, cursor pagination, normalized dataset records, and telemetry written to OUTPUT and RUN_SUMMARY. The input schema supports multiple tweet URLs or IDs, ranking modes, pagination controls, a continuation cursor, raw payload output, and reply deduplication.

Pricing

X Twitter Replies Scraper - No Cookies uses Pay per event plus Apify platform usage.

  • One charge occurs when the Actor starts.
  • Each saved public reply is billed as a separate event.

A simple example: if a run starts once and saves one hundred and twenty replies, the charge includes one start event plus one hundred and twenty reply events. For the current event details and platform usage information, see the live Pricing tab in Apify Console.

Use with AI agents (MCP)

This Actor is usable through Apify MCP as a structured reply-scraping tool. The exact Actor identity is khadinakbar/x-twitter-replies-scraper.

Use it when an agent needs:

  • a tweet URL or tweet ID as the starting point,
  • one record per public reply,
  • author and engagement fields for reasoning or enrichment,
  • dataset output that can be read back by downstream tools.

Scrape public replies for this tweet URL, return the dataset rows, and summarize the reply authors, engagement counts, and any visible media URLs.

Output interpretation:

  • dataset points to the reply records collection.
  • summary and runSummary provide run-level status and cursor information.
  • provider and providerPage show where each row came from.
  • scrapedAt is the emission timestamp for the record.
  • raw appears only when includeRaw is enabled.

Provenance and scope:

  • Records come from public reply data exposed through the provider-backed X/Twitter reply endpoint.
  • The dataset is normalized into one row per reply.
  • startCursor continues a previous thread of pagination using the saved cursor value.

Pagination and cost guidance:

  • maxPagesPerTweet helps set how deep the Actor can page within one conversation.
  • maxReplies caps the total saved rows across all input tweets and acts as a billing and dataset cap.
  • dedupeReplies keeps repeated reply rows out of the dataset unless you intentionally want overlap inspection.

Apify API example

JavaScript example with APIFY_TOKEN and dataset readback:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/x-twitter-replies-scraper').call({
tweetUrls: ['https://x.com/OpenAI/status/2065225362544726371'],
rankingMode: 'Relevance',
maxReplies: 20,
maxPagesPerTweet: 5,
includeRaw: false,
dedupeReplies: true,
});
const datasetItems = await client.dataset(run.defaultDatasetId).listItems();
console.log(datasetItems.items);

Best results and outcome guidance

For clearer datasets, start with a specific tweet URL or ID and keep the input set tightly scoped to the posts you want analyzed. Use Relevance for the default conversation ordering, Recency for newer replies first, and Likes when engagement ordering is the most useful view. Set maxReplies to match the number of rows you want saved, and raise maxPagesPerTweet only when you want deeper pagination within a single tweet conversation.

If you are continuing a prior run, reuse the saved cursor from RUN_SUMMARY.nextCursors for the same tweet and ranking mode. Keep includeRaw off for routine exports and enable it when you want provider payload visibility for parsing or debugging.

Focused standalone workflow

X Twitter Replies Scraper - No Cookies is designed as a focused standalone workflow for the public input and structured output contract described above.

Design note

I found that the output contract includes both providerPage and scrapedAt as required fields, which makes each record traceable to a specific page and emission time.

FAQ

Can I use this Actor with a tweet URL or a numeric tweet ID?

Yes. The tweetUrls field accepts either full X/Twitter URLs or numeric tweet IDs.

Which reply ordering should I choose?

Relevance returns the default conversation ranking, Recency surfaces newer replies first, and Likes prioritizes liked replies.

How can I continue a run from a previous page?

Use startCursor with the exact cursor value saved in RUN_SUMMARY.nextCursors.

What appears in the dataset for each reply?

Each row includes reply identity, text, timestamps, author profile fields, engagement metrics, language, provider metadata, and optional raw provider data.

Is this Actor suitable for quote tweets or profile timelines?

This Actor is built for replies to specific tweets. Quote tweets, retweeters, keyword search, and profile timelines are outside this workflow.

Responsible use

Use this Actor for public X/Twitter reply data only, and respect X/Twitter terms, applicable laws, and platform policies. Review and process public content responsibly, especially when handling user-generated text, profile data, or downstream AI analysis.