ego (lite) is just a browser, ego is your personal agent across devices.
Join waitlist
Twitter (X) scraping for public post data

Free Twitter scraper with your AI agent

Use ego (lite) as a free Twitter scraper tool for public X post data. Send post, thread, or profile URLs to Codex, Claude Code, or another coding Agent: it scrapes tweets your session can already see in a visible browser Space on your Mac and returns a CSV or Markdown report with the post text, displayed engagement counts, source URLs, and check times.

Download for Mac(yes, free)

Trusted by developers from

OpenAIAnthropicGoogleMetaNVIDIACursorPerplexity
SpaceXTeslaNotionFigmaStripeNetflixAirbnb

How to scrape tweets from public X posts in 5 steps

Give your Agent a bounded list of public X post, thread, or profile URLs and a clear output contract. ego (lite) supplies the visible browser, a separate Space per task, and the takeover point for anything X wants a human to decide.

1

Install ego (lite) and choose an authorized browser context

Download ego (lite) for Mac, then import only the Chrome context you are authorized to use. A direct link to a public X post may load without signing in, but X's login wall gates scrolling, search, full reply threads, and most profile browsing, so sustained collection uses the session you already control. The Agent never enters credentials or works around a control.

2

Send the X scraping prompt to your AI agent

Give your Agent a short scraping prompt: the public X post, thread, or profile URLs, the fields you need, and CSV or Markdown as the output format. Keep the rule that the Agent stops when X asks for login, verification, or another human decision.

3

Watch each post being read on screen

Your Agent opens each URL in its own ego (lite) Space and records the post text, timestamps, and engagement counts the page actually displays. Nothing happens off screen: open the Space at any point and you can see exactly which post a number came from.

4

Run several X research tasks in parallel Spaces

Give each profile, thread, or comparison its own Space. Independent collections run side by side without mixing browser state, and your own tabs stay untouched while the Agent works. Open any Space to check progress or pause one task.

5

Review the source-linked report and flag anything odd

The Agent returns a CSV or Markdown report where every row keeps its post URL, checked-at time, and access status. Fields X hid or did not display stay marked unavailable, and rows that need a human decision are listed for your review.

Why use ego (lite) as your Twitter scraper?

Most tweet scrapers run in a hosted cloud you never see, on accounts and proxies you do not control. ego (lite) keeps the browser visible, the tasks separate, and the report tied to its sources. It also stops at X's controls instead of pretending they do not exist.

Finish this browser task 3.5× faster with ego (lite)

Use the same coding Agent for the collection and the analysis that follows. It reads each public post in a real browser and returns one source-linked report you can hand to a teammate. In the task shown here, ego (lite) finished in 81.8 seconds, compared with 282.9 seconds for an agent browser. Actual timing varies by website, workflow, and network conditions.

Task-time comparison for ego (lite) and an agent browser during public data research

Run X research tasks in parallel

Give each profile, thread, or comparison its own ego (lite) Space. Collections run side by side without mixing browser state, and you can return to the exact post where a count was visible or where X asked for your attention.

Parallel ego (lite) Spaces for separate X public post data collection tasks

Watch any Space and take over at the login wall

Open a Space to see which post the Agent is reading. When X shows its login wall, a verification step, or a consent prompt, the Agent stops, records the status, and hands the browser back to you instead of trying to slip past the control.

Use only a browser context you authorize

Import the Chrome context you choose instead of lending your account to a scraping service. What the Agent can see matches what that browser session can see, and X's login, privacy, and rate-limit rules stay in effect throughout.

ego (lite) Chrome context import for an authorized X browser session

What this X scraper can and cannot collect

X's terms prohibit scraping without written permission at any scale, and since late 2024 they set liquidated damages for bulk access. This workflow does not change what X permits. It stays deliberately small by using a bounded list, your own authorized session, and only what the page visibly displays. It organizes public post data; it does not unlock anything.

What your Agent can record

Public post data the current authorized session visibly displays.

  • Post text, author handle and display name, and the post URL for public posts your session can open
  • Displayed engagement counts, including replies, reposts, quotes, likes, bookmarks, and views, recorded exactly as X formats them
  • Public reply threads, profile timelines, and the public image or video URLs loaded by each post
  • A source-linked CSV or Markdown report with checked-at time and access status on every row

What stays out of scope

No bypass, no protected content, no bulk crawling, no engagement actions.

  • Protected accounts, deleted posts, or fields the current session cannot visibly open
  • The identities of people who liked or bookmarked a post, because X keeps those lists private and only displays the counts
  • Bypassing the login wall, CAPTCHA, verification, rate limits, or blocks, or signing in on its own
  • Bulk or unbounded crawling, since the run stays limited to the source list you provide and moves at a supervised pace
  • Liking, reposting, replying, following, posting, or any other engagement action

Read X's Terms of Service

Scrape public X post data you can verify later

Give your Agent the public post or profile URLs and the fields you need. ego (lite) turns the run into a source-linked report with visible collection, separate Spaces, and a stopping point at every control X puts up.

Try the free Twitter/X scraper

Twitter/X scraper FAQ

A Twitter scraper, sometimes called a tweet scraper, is a tool or workflow that collects selected data from X (formerly Twitter) pages into a structured result such as a CSV. Most Twitter scrapers run in a hosted cloud on accounts you never see. With ego (lite), your own coding Agent does the reading in a visible browser on your Mac, records only what the public page displays in your authorized session, and keeps the source URL and check time beside every row.

Install ego (lite), then give your AI agent a short prompt with the public profile or post URLs, the fields you need, and the rule to stop at any login or verification step. The Agent opens each URL in its own ego (lite) Space, records the visible post text, timestamps, and engagement counts, and returns a CSV or Markdown report. You can watch the Space while it works and take over whenever X asks for a human decision.

The free command-line scrapers many people remember stopped working when X removed guest access in 2023, and most tools now advertising "free" resolve to short trials or small credit packs. ego (lite) is free to download for Mac, and the work is done by the coding Agent you already use, so the only cost is your Agent's tokens. The trade-off is scale: it is built for bounded, supervised collection, not industrial crawling.

No. ego (lite) is a local Mac app, not a hosted Twitter scraper API. There are no endpoints, request quotas, or per-call billing. If you need to embed X data into production software at volume, X's own paid API is the built-for-purpose category, and X's scraping terms apply to hosted scraper vendors just as they do here. ego (lite) fits the other job: personal-scale research where you want to see the browser doing the work and verify every row.

No. The Agent works inside a browser session you already control, so there is nothing to apply for and no proxy pool to rent. That matters because X's API no longer has a free tier for reading posts. Programmatic read access is paid at every level. This workflow reads only what your own session can already display, which is also why it cannot go beyond that session's access.

It can record references to the images and video visible on the public posts in your list. These are the public URLs that the browser loads from each post, so your report keeps a link to the original media. Media remains the copyright of whoever posted it. Keeping a reference for research is different from republishing, and the workflow does not bulk-harvest media libraries or open anything your session cannot see.

X's Terms of Service prohibit scraping without written permission, and since late 2024 they include a liquidated-damages clause for anyone viewing or accessing more than a million posts in a day. U.S. courts have separately declined to treat viewing public web data as computer intrusion in cases like hiQ v. LinkedIn and X Corp. v. Bright Data, but those rulings do not erase contract terms for account holders. This is not legal advice: keep collection small, public, and supervised, and you are responsible for how you use what you collect.

Only barely, and not reliably. A direct link to a single public post usually loads while logged out, but scrolling, search, full reply threads, and most profile browsing hit X's login wall. This workflow therefore runs in the signed-in browser context you authorize and reads only what that session can already see. The Agent does not create accounts or bypass the wall.

This workflow is designed to lower that risk rather than pretend it away: it works at a visible, supervised pace on a bounded list, never bypasses the login wall, CAPTCHA, verification, or rate limits, and stops for every checkpoint so you decide what happens. We cannot predict how X's rules or enforcement will change, which is one more reason to keep runs small and reviewable.

A run is bounded by the source list you provide. Think hundreds of source-linked rows in a supervised session, not millions of posts. ego (lite) is not an unbounded crawler, and X's terms set explicit damages for bulk access. If your project genuinely needs millions of records, this is honestly the wrong tool; this page's workflow is for research you can read, check, and stand behind.

A CSV or Markdown file where each row is one post: its visible text, author, timestamp, displayed engagement counts, and media references, plus source_url, checked_at, and access_status. Anything X hid or did not render stays marked unavailable with the reason. Because collection happened in a visible browser, any row can be spot-checked by opening its source URL again.