Updated for 2026

agent-twitter-client Alternatives
for AI Agents in 2026

agent-twitter-client is deprecated on npm and no longer maintained. If your agent’s tweets stopped going out, here is exactly what happened, and the three realistic ways to keep posting to X, with honest costs and risks for each.

7-day free trial · No credit card required · Cancel anytime

What Happened to agent-twitter-client

It was the ElizaOS ecosystem’s no-API-key Twitter client: log in with a username and password, call sendTweet, done. Four things ended that.

Deprecated on npm

The last release, v0.0.18, was published on December 29, 2024. The package now carries the npm deprecation notice "Package no longer supported." No fixes are coming, no matter how many GitHub issues pile up.

ElizaOS itself moved to the official X API

The current @elizaos/plugin-twitter authenticates with X API v2 keys (TWITTER_API_KEY, secrets, and access tokens), not username and password login. The no-API-key approach is no longer the framework's own path.

X keeps breaking credential login

The package worked by logging in with your real credentials and calling X's internal endpoints. Every time X changes those endpoints or tightens the login flow, sendTweet dies. That is why bots stopped overnight with login errors and challenge screens.

Your account carries the risk

Automated credential login and scraping breach X's terms of service. Locked and restricted accounts were a common report even while the package was maintained. On an account you care about, that risk is the real cost of "free."

The 3 Real Options in 2026

Ranked by reliability and account safety for an agent that posts to X.

#1 Top Pick
#1

OpenTweet

A flat-rate posting API and hosted MCP server for X. Your agent authenticates with an ot_ API key, OpenTweet holds the official X OAuth tokens and refreshes them for you, and scheduling, threads, and analytics come built in. No X developer account, no password in your env vars.

Key Features

  • REST API: POST https://opentweet.io/api/v1/posts with a Bearer ot_ key
  • Hosted MCP server at mcp.opentweet.io/mcp with ~36 tools (create_tweet, create_thread, batch_schedule, analytics)
  • Scheduling, threads, evergreen queue, and X Articles built in, no cron to run
  • Official X OAuth managed for you, no X developer account needed

Pricing

Pro $11.99/mo, Advanced $29/mo, Agency $49/mo, 7-day free trial

Best For

Agents and automations that post to an account you actually care about and want predictable cost with zero token babysitting.

Pros

  • Flat monthly price no matter how much your agent posts
  • Account-safe: official OAuth, never your X password
  • Works with ElizaOS, LangGraph, Claude, or anything that can send an HTTP request
  • Scheduling and analytics included instead of DIY

Cons

  • X/Twitter only, no other platforms
  • Posting and own-account analytics only: it does not scrape arbitrary timelines or search all of X
  • Paid after the 7-day trial
#2

Official X API (pay-per-use)

The first-party option. Since February 6, 2026 new X developers are on pay-per-use pricing by default, and the current @elizaos/plugin-twitter targets this API with OAuth 1.0a keys. This is the framework-sanctioned migration path, and the only real option if your agent needs to read public X data at scale.

Key Features

  • Full X API v2 surface: posting, timelines, search, mentions
  • Works with @elizaos/plugin-twitter out of the box
  • First-party rate limits, docs, and support
  • XMCP, X's official hosted MCP server, sits on top of it and can post too

Pricing

Roughly $0.015 per post, $0.20 per post containing a link, about $0.005 per read

Best For

Agents that need to read timelines, search, or mentions at scale, and teams that accept metered billing plus developer-account overhead.

Pros

  • Fully compliant with X terms
  • The only real way to read public X data at scale
  • Supported by X itself, will not vanish overnight

Cons

  • Requires an X developer account and app setup
  • Metered cost is hard to predict, and posts containing a link cost $0.20 each
  • You manage OAuth 1.0a signing and token storage yourself
  • No scheduling: you build your own queue and cron
#3

Community forks (@0xindie/agent-twitter-client and others)

Forks like @0xindie/agent-twitter-client keep the original Scraper interface alive: username and password login, no API key. They work until X changes something, and they carry the exact account risk that got the original package abandoned.

Key Features

  • Near drop-in replacement for the original Scraper API
  • No API key and no monthly fee
  • Keeps read and scrape abilities (timelines, search, profiles)
  • Some forks add proxy support and cookie persistence

Pricing

Free (open-source npm packages)

Best For

Hobby projects and burner accounts where getting locked out is an acceptable outcome.

Pros

  • Free
  • Smallest possible code change coming from agent-twitter-client
  • Can still read public data without an API key

Cons

  • Credential-login scraping breaches X's terms: accounts get locked or banned
  • Breaks without warning whenever X changes internal endpoints or the login flow
  • Maintenance varies fork to fork, and several are already stale
  • You hand your X password to third-party code

The Migration Is About Ten Lines

If your agent only calls sendTweet, swapping to OpenTweet is a single fetch. Your X password comes out of the env vars, and an ot_ key goes in.

before.js
// agent-twitter-client (deprecated)
import { Scraper } from "agent-twitter-client";

const scraper = new Scraper();
await scraper.login(
  process.env.TWITTER_USERNAME,
  process.env.TWITTER_PASSWORD,
  process.env.TWITTER_EMAIL
);
await scraper.sendTweet("Hello from my agent!");

// Real credentials in env vars.
// Breaks when X changes internal endpoints.
after.js
// OpenTweet (official OAuth, flat rate)
await fetch("https://opentweet.io/api/v1/posts", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.OPENTWEET_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    text: "Hello from my agent!",
    publish_now: true,
  }),
});

// No password anywhere. No developer account.

Swap publish_now for a scheduled_date in ISO 8601 format and the same call schedules instead of posting, no cron on your side. MCP-based agents skip the HTTP entirely: point them at https://mcp.opentweet.io/mcp and they get create_tweet, create_thread, schedule_tweet, and about 33 more tools. Full reference in the API docs and MCP docs.

Side-by-Side Comparison

How the three paths stack up for a posting agent.

FeatureOpenTweetOfficial X APICommunity forks
Cost$11.99/mo flat$0.015/post, $0.20/link postFree
Authot_ API keyDev account + OAuth 1.0a keysYour username + password
Account safetyOfficial OAuthOfficial OAuthToS breach, lock risk
X developer accountNot neededRequiredNot needed
SchedulingBuilt inBuild your ownBuild your own
ThreadsOne API callReply chains by handReply chains by hand
Reads public X dataNoYes ($0.005/read)Yes, until it breaks
ReliabilityStable REST APIStable, first partyBreaks when X changes
MCP serverHosted, ~36 toolsXMCP (bills your API credits)Community wrappers

X API prices as of July 2026, see the pay-per-use breakdown and the cost calculator. OpenTweet pricing on the pricing page.

Why OpenTweet Is Our Top Pick for Agents

Built for agents

A REST API plus a hosted MCP server with ~36 tools. ElizaOS, LangGraph, Claude, a bash script with curl: if it can send an HTTP request or speak MCP, it can post.

Account-safe by design

Your X account connects once through the official OAuth flow. No password in env vars, no scraping internal endpoints, nothing that trips X’s automation defenses.

Flat rate, not metered

Pro is $11.99/mo however much your agent posts. On X’s pay-per-use, a daily posting agent that shares links can burn past that in a month.

No developer account

No X app review, no OAuth 1.0a signing, no token refresh code. You generate an ot_ key on the developer page and paste it into your agent.

Scheduling built in

schedule_tweet, batch_schedule, and an evergreen queue that recycles winners. agent-twitter-client never scheduled anything; you ran the cron. Now nobody does.

Threads, articles, analytics

Post a full thread in one call, publish long-form X Articles, and pull top posts and best-time analytics back into your agent’s context.

Frequently Asked Questions

Common questions about replacing agent-twitter-client

No. The package is deprecated on npm with the notice "Package no longer supported." The last version, 0.0.18, was published on December 29, 2024, and the original repository is no longer actively developed. ElizaOS, the ecosystem it came from, now ships @elizaos/plugin-twitter, which uses the official X API v2 with developer keys instead of credential login.
Two compounding reasons. First, the package is unmaintained, so nothing gets fixed. Second, it works by logging in with your username and password and calling X's internal, undocumented endpoints. X changes those endpoints and tightens its login flow regularly, which surfaces as failed logins, challenge screens, 403s, or sendTweet silently doing nothing. Without a maintainer shipping patches, each change is permanent breakage.
They are close to drop-in replacements, but they inherit every structural problem of the original: credential-login scraping violates X's terms of service, accounts get locked or suspended, and each fork only works until X's next internal change. For a throwaway account, that trade may be fine. For an account with real followers, it is a bad bet.
Yes, without an X developer key at all. OpenTweet connects your X account once through the official OAuth flow, then gives your agent an ot_ API key for its REST API and hosted MCP server. Your agent posts through OpenTweet, and OpenTweet handles the X tokens and refresh. Unlike scraper-based clients, this does not put your password in env vars or breach X's terms.
Pay-per-use became the default for new developers on February 6, 2026. Posting costs roughly $0.015 per post, posts containing a link cost $0.20 each, and reads are about $0.005. An agent that posts a few times a day with occasional links can pass $11.99/mo quickly, and you also need an approved developer account, OAuth 1.0a signing, and your own scheduler.
You have two clean paths. Framework path: switch to @elizaos/plugin-twitter with official X API keys and pay-per-use billing. Flat-rate path: point the agent at OpenTweet's REST API or hosted MCP endpoint (mcp.opentweet.io/mcp) with an ot_ key. The OpenTweet ElizaOS integration guide covers the second path step by step.
No, and it is worth being direct about that. OpenTweet covers posting, threads, scheduling, X Articles, and analytics for your own connected accounts. It does not scrape arbitrary timelines or search all of X. If your agent's core job is reading public X data at scale, the official X API on pay-per-use is the right tool, possibly alongside OpenTweet for the posting side.

Give Your Agent a Posting API That Stays Up

One OAuth connection, one ot_ key, and your agent posts, schedules, and threads on X without touching your password or a developer account.

7-day free trial
No credit card required
Cancel anytime