Skip to content

Twitter API free in 2026? What you can still read for $0

Is the Twitter API free? Not for new developers. What X's free credits buy in reads, what breaks when old free-tier code hits a 402, and the $0 ways to read X.

Piyushh · October 14, 2026 · 6 min read

No. New developers can no longer get the Twitter API free tier. Since February 6, 2026, X's self-serve default has been pay-per-use: every read deducts from credits you buy, at $0.005 per post and $0.010 per user or follower, as listed on X's pricing page on Oct 14, 2026. For $0 you can still get up to $70 in starter credits (card required), very cheap reads of your own data, and free scaled access if X approves your app as a public utility.

This post covers reading X data from code: what the free credits buy, what breaks when a script written for the old free tier runs against pay-per-use, and the honest $0 options. For posting and DMs, XAutoDM has is the Twitter API free in 2026. Every X fact here was checked on docs.x.com on Oct 14, 2026.

What happened to the Twitter API free tier

X's changelog covers the change in three entries.

  • On August 22, 2025, X removed the like and follow endpoints from the Free tier "to combat abuse, platform manipulation, and fake engagement."
  • On October 20, 2025, a closed pilot of credit-based pricing started, with post reads at $0.005 and user reads at $0.01.
  • On February 6, 2026, pay-per-use launched for everyone: "Public Utility Apps continue to receive free scaled access. Recently active Legacy Free tier users receive a one-time $10 voucher."

The Legacy Free tier ended with a $10 voucher, and today's pricing page has no free plan. It says "No subscriptions, contracts, or minimum spend," and you start by buying credits. One leftover line can mislead you: X's developer guidelines still say the "free tier is non-commercial only." No free tier exists to sign up for.

The Public Utility route exists, but few projects qualify. X's docs call it "a credit program for public-good work on the X API." You request it from a live listing on X's app Exhibit, and "you cannot mark your own listing as a utility." Plan on paying.

What breaks when old free-tier code hits pay-per-use

Everyone hits the same failure, HTTP 402. A Japanese bot developer, @ShobonRanking, posted the body their bot started getting in April (post):

error: Request failed with code 402
title: "CreditsDepleted"
detail: "Your enrolled account does not have any credits to fulfill this request."

Many hobby bots died this way, and mostly nobody noticed at first. "I just noticed the bot wasn't tweeting, so I went to check the logs and apparently twitter removed the free tier," wrote @dailytboi in September (post). @Hanyuu_status, the account that announces DJ changes for an internet radio stream, explained that "all credits they gave free users when this switch happened have been used up" (post). @PapaScarpin spent two days debugging an AI social media manager before finding that "my code wasn't the problem at all my X Developer account simply has $0 API credits" (post).

If you maintain a script that reads X, check these behaviours on the pricing page before the balance runs out:

  1. A zero balance blocks requests. The balance can go "slightly negative," and after that requests stay blocked until you top up.
  2. Auto-recharge doesn't run at zero. It's "paused at zero or negative balance," so you have to add credits by hand first.
  3. Auto-recharge fires at most once every 5 minutes, so a bursty job can still see out-of-credit errors with it switched on.
  4. Free credits expire. Starter credits lapse three months after they're granted, and they're spent before purchased ones.
  5. Paying doesn't remove rate limits. Recent search allows 450 requests per 15 minutes per app, returns at most 100 posts per request, and only covers the last 7 days.

In code, treat a 402 as a hard stop that raises an alert. Retrying it in a loop only fills your logs.

What the Twitter API free credits buy in reads

X's free credit page lists two one-time offers: $20 when you save your first eligible card, and a match of your first auto-recharge up to $50. Prepaid cards don't qualify, and each physical card can earn the credit once across all accounts. That's up to $70 total.

At the listed read prices, that money goes this far:

Read jobUnit price$20 card creditFull $70
Posts from search or timelines$0.005 per post4,000 posts14,000 posts
User profiles$0.010 per user2,000 profiles7,000 profiles
Someone else's followers$0.010 per user2,000 followers7,000 followers
Your own posts, followers, bookmarks (Owned Reads)$0.001 per resource20,000 resources70,000 resources

For typical data jobs, that works out to:

  • A keyword monitor that sees about 100 new tweets a day reads 3,000 posts a month, which costs $15. The $20 credit lasts about five weeks.
  • Exporting the followers of a 2,000-follower account once uses the whole $20.
  • A personal dashboard over your own timeline and bookmarks costs close to nothing at the Owned Reads rate. @owengretzinger set up his agent to index everything he bookmarks into markdown files "now that owned reads are ~free" (post).

The starter credits are generous for a prototype, but anything that reads other people's data every day burns through them within weeks. Our Twitter API cost calculator works through larger jobs.

Free Twitter API options that cost $0

If you need X data without paying anyone, the list is short:

  • You can use X itself in a browser. Advanced search with since: and until: works for manual research, and our guide to searching tweets by date covers the operators and how to download your own archive.
  • Free lookup tools work for one-off checks. ChatterAPI's X tweet search and X user lookup run live queries in the browser for free, with no signup. They aren't built to feed a pipeline.
  • Public mirrors used to fill the gap. Nitter instances served X without an account for years, but in 2026 most of them went dark after X sent legal letters. Our post on Nitter alternatives for developers covers where that stands.

We won't recommend scraping. X's developer guidelines list "Non-API access" as prohibited: "scraping and browser automation = permanent ban." The scraping libraries break anyway. snscrape's Twitter scrapers stopped working in June 2023, when X put content behind a login, as our snscrape alternative page details.

Reading X data with 100 free credits

ChatterAPI is an independent API for X and Reddit data, not affiliated with X Corp. You sign up with Google, get 100 free credits with no card, and read public X data with one key and no X developer app. X reads cost 3 credits per page of about 20 results. That makes 100 credits about 33 pages: roughly 660 tweets or followers, or 33 profile lookups.

Below is a user lookup with x.user. The response is a real sample recorded with a test key, so it shows charged: 0, trimmed to the useful fields:

curl "https://api.chatterapi.com/v1/x/users/levelsio" \
  -H "Authorization: Bearer $CHATTERAPI_KEY"
{
  "data": {
    "id": "1577241403",
    "handle": "levelsio",
    "followers": 974707,
    "following": 3276,
    "blueVerified": true,
    "canDm": false,
    "createdAt": "2013-07-08T09:31:59.000Z"
  },
  "credits": { "charged": 0, "remaining": 719 },
  "requestId": "req_01M4X1HX40NTY80C1W38"
}

On a live key that call costs 3 credits. When the balance runs out, ChatterAPI also returns a 402 with a machine-readable code, so your script can stop cleanly. Per the errors reference, the body looks like this:

{
  "error": {
    "code": "insufficient_credits",
    "message": "This call costs up to 2 credits and you have 1.",
    "retryable": false,
    "topupUrl": "https://chatterapi.com/dashboard/billing"
  }
}

This Python loop reads a few pages of tweet search and stops on that 402 instead of retrying:

import os, requests

URL = "https://api.chatterapi.com/v1/x/tweets/search"
HEADERS = {"Authorization": f"Bearer {os.environ['CHATTERAPI_KEY']}"}
params = {"q": '"crm recommendation"', "sort": "latest"}

for _ in range(5):  # 5 pages = 15 credits
    r = requests.get(URL, headers=HEADERS, params=params, timeout=60)
    if r.status_code == 402:
        print("Out of credits:", r.json()["error"]["message"])
        break
    body = r.json()
    for t in body["data"]:
        print(t["createdAt"][:10], t["author"]["handle"], t["url"])
    print("credits left:", body["credits"]["remaining"])
    if not body["page"]["hasMore"]:
        break
    params["cursor"] = body["page"]["nextCursor"]

After the 100 credits are gone, plans start at $19 a month for 25,000 credits.

When paying X directly is the better call

For some jobs, X's own pay-per-use is the right answer even though it isn't free:

  • Small personal tools. If the job costs a few dollars a month, X's starter credits cover it, and there's no plan minimum afterwards.
  • Reading your own account's data. Owned Reads cost $0.001 per resource, which is hard to beat for dashboards and backups.
  • First-party needs. If you need posting, X's newest endpoints or a direct relationship with X, use your own key. Our X API key guide walks through the setup.

A hosted API makes more sense when you read other people's public data every day, when you also need Reddit, or when you'd rather not run an X developer app. The guide to scraping Twitter and Reddit together and our comparison with other third-party X APIs cover that case.

Try it

Look up any account in the free X user lookup, then make the same call from code. Sign up with Google to get 100 free credits without a card, which covers about 33 pages of tweets. Plans start at $19 a month for 25,000 credits.

FAQ

Is the Twitter API free in 2026?
Not for new developers. Since February 6, 2026, X's self-serve default is pay-per-use: you buy credits and each read deducts from them, at $0.005 per post and $0.010 per user as listed on Oct 14, 2026. New accounts can earn up to $70 in starter credits, but both offers need a saved card.
Does X still have a free tier?
There is no free tier to sign up for. When pay-per-use launched, recently active Legacy Free tier users got a one-time $10 voucher. X's Public Utility program gives free scaled access to apps X approves, and you can't apply for it until your app is live and listed.
Why does my Twitter bot return 402 Payment Required?
A 402 from the X API means your developer account has no credits left. Developers have posted the error body as CreditsDepleted, with the detail that the enrolled account does not have any credits to fulfill the request. Add credits in the Developer Console or turn on auto-recharge.
How many tweets can I read with X's free credits?
At $0.005 per post, the $20 card credit reads 4,000 posts, and the full $70 (card credit plus a $50 auto-recharge match) reads 14,000. Reads of your own account's data cost $0.001 each, so $20 covers 20,000 of those. The free credits expire three months after they're granted.
Can I read tweets for free without the X API?
For manual lookups, yes: X's own search in a browser and free web tools such as ChatterAPI's X tweet search and X user lookup, which need no signup. Programmatic scraping of X is against X's developer rules, which list scraping and browser automation as grounds for a permanent ban.

More from the blog

Make your first call on 100 free credits.

Sign up with Google, no card. One key for Reddit and X, over REST or MCP.