AI NewsOpen sourceAnnouncement
x-scraper-no-api reads X posts through a logged-in browser session instead of the paid API, and has 122 stars two days after launch
A new open-source tool called x-scraper-no-api reads X (Twitter) posts through a Chromium session the user has already logged into and exports them as JSON, CSV, JSONL or Markdown, and reached 122 stars in its first two days on GitHub.
Image: GitHub
Why it mattersAI teams that need public X post data can now try an idea without paying for X's API tier, because the licence bill was often the reason the experiment did not get built rather than the code.
Getting X (Twitter) post data through the official API costs $100 a month at the entry tier and $5,000 a month at the higher one, according to the project's own README, and X can also suspend a developer account for reasons it does not always publish. A new GitHub project called x-scraper-no-api reads the same data another way: it opens X in a Chromium browser the user has already logged into, captures the site's own GraphQL responses inside the page, and returns the result as JSON, JSONL, CSV or Markdown that a large language model can read directly.
The repository was published on 26 September 2026 under the GPL-3.0 licence and reached 122 stars in its first two days. Its own description reads: "The free, self-hosted X scraper. No API key. No credits. No middleman." The code is JavaScript, requires Node.js 18 or newer, and controls the browser through Playwright. The user signs in by hand once. There are no credentials for the tool to hold or leak.
Three surfaces are covered: an individual tweet with its replies, a user's timeline, and the results of an X search using the same advanced operators the site accepts by hand. Each run has a default limit of 50 items and a hard maximum of 200, and the project says X's own rate-limit signals trigger longer waits between requests. The README calls these pacing rules rather than protections against detection.
Why the tool reads GraphQL rather than HTML
The interesting choice is that x-scraper-no-api intercepts X's own GraphQL responses inside the page, rather than parsing the rendered HTML. That method is more stable: a layout change on the site does not break the extraction, and the data arrives in the same shape X's own web client sees. If X changes its GraphQL schema, the extraction breaks in the same way, and the project's plan for handling those changes is not documented.
The repository also ships a SKILL.md file at its root, which means an AI agent that follows Anthropic's agent skill format can call the scraper as a tool. The README names OpenClaw and Hermes as the intended agent targets, and any Claude Code or Cursor session that reads skill directories can use it the same way.
The licence risk belongs to the person running the tool
X's terms of service and its position on scraping are not settled, so the licence risk belongs to the operator. The project author says as much on the repository page, and asks the operator to read X's terms before running it. That is different from a paid API integration, where the terms are agreed at signup and enforced at the credential level.
For a small AI team building on live public X data, that decision is now the main question. The $100 a month entry price of X's paid API was often the reason a small test build did not get funded, and a scraper that runs on one laptop and hands its output to an agent removes the licence bill from the plan. The remaining check is a legal review of X's terms, and the operator's own read of the same terms. Finance no longer decides.
Source
Repository: JoinArtisanVent/x-scraper-no-api on GitHub. The $100 to $5,000 API pricing figure comes from the project's own README and is not independently verified here.
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.
