Skip to content
Automation
Skill

/twitter-scraping

Scrapes X/Twitter data without API access using Puppeteer stealth and browser console scripts. Extracts profiles, followers, following lists, tweets, search results, hashtags, threads, media, bookmarks, notifications, DMs, likes, and viral tweets. Exports to JSON/CSV. Use when

From plugin
xactions
65350 skills

Claude Code

$ npx -y skills add nirholas/XActions --skill twitter-scraping --agent claude-code

SKILL.md

twitter-scraping.SKILL.md
name: twitter-scraping
description: Scrapes X/Twitter data without API access using Puppeteer stealth and browser console scripts. Extracts profiles, followers, following lists, tweets, search results, hashtags, threads, media, bookmarks, notifications, DMs, likes, and viral tweets. Exports to JSON/CSV. Use when collecting, exporting, or analyzing Twitter data.
license: Apache-2.0
metadata:
  author: nichxbt
  version: "4.0"

Twitter Scraping

Auth Setup

All scrapers require an `auth_token` cookie from x.com (DevTools -> Application -> Cookies -> copy `auth_token` value).

Node.js Scraper API

`npm install xactions` -- all functions from `src/scrapers/index.js`.

import { createBrowser, createPage, loginWithCookie, scrapeProfile } from 'xactions';

const browser = await createBrowser();
const page = await createPage(browser);
await loginWithCookie(page, AUTH_TOKEN);

const profile = await scrapeProfile(page, 'nichxbt');
await browser.close();

| Function | Purpose | |----------|---------| | `scrapeProfile(page, username)` | Profile data (bio, followers, following) | | `scrapeFollowers(page, username, {limit})` | Follower list | | `scrapeFollowing(page, username, {limit})` | Following list | | `scrapeTweets(page, username, {limit})` | User's tweets | | `searchTweets(page, query, {limit})` | Search results | | `scrapeHashtag(page, tag, {limit})` | Hashtag tweets | | `scrapeThread(page, tweetUrl)` | Thread tweets | | `scrapeMedia(page, username, {limit})` | Media URLs | | `exportToJSON(data, path)` / `exportToCSV(data, path)` | File export |

Browser Console Scripts

Standalone IIFEs -- paste into DevTools console on x.com. No dependencies.

| Script | File | Navigate to | |--------|------|-------------| | Download video | `src/scrapers/videoDownloader.js` | Tweet with video | | Export bookmarks | `src/scrapers/bookmarkExporter.js` | `x.com/i/bookmarks` | | Unroll thread | `src/scrapers/threadUnroller.js` | Any thread | | Find viral tweets | `src/scrapers/viralTweets.js` | User profile | | Scrape followers | `scripts/scrapeFollowers.js` | `x.com/USER/followers` | | Scrape following | `scripts/scrapeFollowing.js` | `x.com/USER/following` | | Scrape profile | `scripts/scrapeProfile.js` | User profile | | Scrape search | `scripts/scrapeSearch.js` | Search results | | Scrape hashtag | `scripts/scrapeHashtag.js` | `x.com/hashtag/TAG` | | Scrape likes | `scripts/scrapeLikes.js` | `x.com/USER/likes` | | Scrape likers | `scripts/scrapeLikers.js` | Any tweet | | Scrape replies | `scripts/scrapeReplies.js` | Any tweet | | Scrape media | `scripts/scrapeMedia.js` | User media tab | | Scrape DMs | `scripts/scrapeDMs.js` | `x.com/messages` | | Scrape notifications | `scripts/scrapeNotifications.js` | `x.com/notifications` | | Scrape list | `scripts/scrapeList.js` | Any X List | | Scrape bookmarks | `scripts/scrapeBookmarks.js` | `x.com/i/bookmarks` | | Export to CSV | `scripts/exportToCSV.js` | After any scrape | | Link scraper | `scripts/linkScraper.js` | Any timeline | | Quote retweets | `scripts/scrapeQuoteRetweets.js` | Any tweet |

Interactive browser toolbox (recommended for console scraping)

For paste-in-console scraping, prefer `scripts/twitter/scraper-toolbox.js`: an on-page control panel (start/pause/stop, live filters, user exclusions, keyword rules) that captures X's own GraphQL responses, so counts are exact integers and long posts are untruncated. Exports JSON/CSV/Markdown/TXT/HTML and copies to clipboard. Works on any timeline: profile, search, list, likes, bookmarks, home. Docs: `scripts/twitter/README-scraper-toolbox.md`.

MCP Scraping Tools

All scrapers available via the MCP server for AI agents:

| Tool | Description | |------|-------------| | `x_get_profile` | Scrape user profile | | `x_get_followers` | Get follower list | | `x_get_following` | Get following list | | `x_get_tweets` | Get user tweets | | `x_search_tweets` | Search tweets | | `x_get_thread` | Unroll thread | | `x_download_video` | Extract video URL |

Notes

  • Always call `browser.close()` when done with Node.js scrapers
  • Browser scripts stop on page navigation -- stay on the page while running
  • All scripts support JSON and CSV export
  • Increase `limit` parameter for deeper scraping (default varies by function)
  • Rate limiting is built in -- avoid reducing delays below defaults
Read more
@nirholas
Ships withxactions

⚡ The Complete X/Twitter Automation Toolkit — Scrapers, MCP server for AI agents (Claude/GPT), CLI, browser scripts. No API fees. Open source. Unfollow people who don't follow back. Monitor real-time analytics. Auto follow, like, comment, scrape, without API. Follow Bot. Like bot. Grow your account automatically.

Stars on GitHub

Momentum

stars in total
653
Star history of nirholas/XActions on GitHub, a chart by star-history.com

Other skills on xactions.

a2a-multi-agent

a2a-multi-agent

Runs XActions as an A2A (Agent-to-Agent) compatible agent that serves an Agent Card, accepts JSON-RPC tasks, bridges them onto…

@nirholas@nirholasInstall Skill
account-backup

account-backup

Export and backup your X/Twitter account data — tweets, likes, bookmarks, followers, and following — as downloadable JSON. Also…

@nirholas@nirholasInstall Skill
account-tools

account-tools

Miscellaneous account utilities — view join date, login history, connected accounts, appeal suspension, QR code sharing,…

@nirholas@nirholasInstall Skill
algorithm-cultivation

algorithm-cultivation

Trains an X/Twitter account's algorithmic feed to surface niche-relevant content and positions the account as a thought leader.…

@nirholas@nirholasInstall Skill
analytics-insights

analytics-insights

Analyze X/Twitter engagement, hashtags, competitors, best posting times, follower demographics, tweet performance, viral…

@nirholas@nirholasInstall Skill
articles-longform

articles-longform

Compose, preview, publish, and manage long-form Articles on X/Twitter. Premium+ feature. Includes article creation, formatting,…

@nirholas@nirholasInstall Skill

More skills from other plugins.

agent-builder

agent-builder

Load immediately after an Agent intent, before the first agent_builder_* call. Governs how you create, configure, test, and…

n8n12d209k
@n8n-io@n8n-ioInstall Skill
browser-use

browser-use

Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work. Also covers…

@browser-use@browser-useInstall Skill
agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

@vercel-labs-2@vercel-labs-2Install Skill
add-anydoc

add-anydoc

Add local office-document-to-Markdown conversion to NanoClaw agent containers with the pinned Firecrawl AnyDoc CLI. Use when…

@nanocoai@nanocoaiInstall Skill

Questions about twitter-scraping.

Which coding agents can use twitter-scraping?
twitter-scraping installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.