Skip to main content

How to Get a Twitter (X) RSS Feed Now That Nitter Is Down

Updated 9 min readMarkdown
How to Get a Twitter (X) RSS Feed Now That Nitter Is Down

X has no built-in RSS feed, and the free Nitter instances that used to provide one are down or blocking feed readers. To follow an X account in an RSS reader or n8n today, you either pay for a hosted feed generator or build the feed yourself from an API. This guide covers both, with a tested script.

Last updated October 24, 2026. Nitter instances and x.com tested that day; n8n node names checked against n8n's documentation the same day.

How do you get a Twitter RSS feed?

Build the feed from an API that returns an account's posts as JSON, then serve it as an RSS file your reader can subscribe to. The script below does this in about 45 lines of Python and costs $0.001 per refresh with GetXAPI's user tweets endpoint. If you would rather not run code, a hosted RSS generator does the same for a monthly fee. Public Nitter instances are no longer dependable: the ones we tested were down or blocked readers.

Diagram of a do-it-yourself Twitter RSS feed: an X account's latest posts are fetched by API every fifteen minutes, written to an RSS file, and read by an RSS reader or an n8n workflow, replacing the crossed-out Nitter route.

With Nitter down, the feed comes from an API call on a schedule, written out as an RSS file.

Does X have a built-in RSS feed?

No. Adding /rss to an x.com profile address returns X's normal web page. When we requested https://x.com/n8n_io/rss on October 24, 2026, the response was HTML, not a feed.

Does Nitter RSS still work?

Rarely. We requested the RSS feed of the same account from four instances on October 24, 2026: nitter.net returned 410 Gone, xcancel.com returned 451 with a notice that the service is suspended because of legal proceedings, nitter.jaydenha.uk returned a browser check page that an RSS reader cannot pass, and nitter.poast.org did not respond within 20 seconds.

Can n8n read an X account without Nitter?

Yes, through the HTTP Request node. n8n's built-in X node can post, search, like and look up a user, but its documentation lists no operation for reading an account's timeline, so the timeline has to come from an API.

Which Twitter RSS option should you use?

Option Cost Setup Reliability Best for
Public Nitter instance Free Paste a URL Low: instances go down without warning Casual reading, accepting gaps
Hosted RSS generator Monthly subscription Paste a profile URL Depends on the provider Non-developers with a few feeds
Self-hosted RSSHub Server plus X cookies or paid X API keys Docker and config Depends on the credentials you supply People already running RSSHub
Build your own feed from an API $0.001 per refresh About 45 lines of code As reliable as the API Developers, n8n users, many feeds
n8n reading JSON directly $0.001 per refresh 4 nodes, no RSS needed As reliable as the API Automations that never needed RSS

RSSHub is worth a note because Reddit threads often recommend it. Its X route now supports two working credential types: the auth_token cookies of logged-in X accounts, or pay-per-use X API keys. The username and password method is struck out in its source with the note that it stopped working in October 2025. So self-hosting RSSHub for X is not free either.

How to build your own Twitter RSS feed

  1. Get an API key and store it in an environment variable called GETXAPI_KEY.
  2. Fetch the account's newest posts with GET /twitter/user/tweets?userName=<handle>. Each call returns about 20 posts.
  3. Write each post as an RSS item: text as title and description, x.com link as link and guid, createdAt as pubDate.
  4. Save the XML and serve it from any static host or a small server.
  5. Re-run the script on a schedule, for example every 15 minutes with cron.
import os
import sys
import json
import urllib.request
import urllib.parse
from email.utils import format_datetime, parsedate_to_datetime
from xml.sax.saxutils import escape

API_KEY = os.environ["GETXAPI_KEY"]

def latest_posts(username):
    url = "https://api.getxapi.com/twitter/user/tweets?" + urllib.parse.urlencode({"userName": username})
    req = urllib.request.Request(url, headers={"Authorization": f"Bearer {API_KEY}"})
    with urllib.request.urlopen(req, timeout=30) as resp:
        return json.load(resp)["tweets"]

def to_rss(username, posts):
    items = []
    for p in posts:
        text = " ".join(p["text"].split())
        pub = format_datetime(parsedate_to_datetime(p["createdAt"]))
        items.append(
            "<item>"
            f"<title>{escape(text[:100])}</title>"
            f"<link>{escape(p['url'])}</link>"
            f"<guid isPermaLink=\"true\">{escape(p['url'])}</guid>"
            f"<pubDate>{pub}</pubDate>"
            f"<description>{escape(text)}</description>"
            "</item>"
        )
    return (
        '<?xml version="1.0" encoding="UTF-8"?>'
        '<rss version="2.0"><channel>'
        f"<title>@{escape(username)} on X</title>"
        f"<link>https://x.com/{escape(username)}</link>"
        f"<description>Latest posts from @{escape(username)}</description>"
        + "".join(items)
        + "</channel></rss>"
    )

if __name__ == "__main__":
    user = sys.argv[1]
    with open(f"{user}.xml", "w", encoding="utf-8") as f:
        f.write(to_rss(user, latest_posts(user)))
    print(f"wrote {user}.xml")

Run it with python x_to_rss.py n8n_io. It uses only the Python standard library, so there is nothing to install.

What we tested: on October 24, 2026 we ran this script for @n8n_io. It wrote a feed with 20 items, newest first, and the file parsed as valid XML with a correct pubDate and x.com link on every item. The API call took 3 to 5 seconds across our runs.

What it costs: one call per refresh per account. Every 15 minutes is 96 calls a day, about $0.10 a day or $3 a month for one account; hourly is about $0.72 a month. Store the IDs you have already published if you want to skip unchanged refreshes.

How to get an X account's posts into n8n without RSS

If the feed only exists to feed an n8n workflow, skip RSS and read the JSON directly. Four nodes:

  1. Schedule Trigger, set to the interval you want, for example every 15 minutes.
  2. HTTP Request, method GET, URL https://api.getxapi.com/twitter/user/tweets, query parameter userName, and a header Authorization: Bearer <your key>. n8n can also import a curl command and fill these fields for you.
  3. Split Out, on the tweets field, so each post becomes its own item.
  4. Remove Duplicates, with the operation Remove Items Processed in Previous Executions, comparing on id, so each post reaches the rest of your workflow once.
Four-node n8n workflow that reads an X account without RSS: Schedule Trigger, HTTP Request to the API, Split Out on the posts list, and Remove Duplicates so each post is processed once, then on to a sheet, Slack, email or an AI summary.

Four n8n nodes read an account's posts as JSON, no RSS needed.

From there, send the posts wherever the workflow needs them: a Google Sheet, Slack, an email digest or an AI summary. If you already have the RSS file from the script above, the RSS Read node reads it from its URL instead.

When a DIY feed is not the right choice

  • You follow hundreds of accounts. Each account is one call per refresh, so 500 accounts every 15 minutes is 48,000 calls a day. Refresh less often, or batch accounts with a search query instead.
  • You want a no-code reader for two or three accounts. A hosted generator is less work, and the subscription is the price of not running anything.
  • The account is protected. Posts from private accounts are not visible to any feed tool.
  • You need replies, not just posts. The user tweets endpoint returns the account's own posts; replies come from a separate endpoint.

Sources

Checked 2026-10-24.

Twitter RSS feed: FAQ

Nitter and XCancel are dead. What are the alternatives for an X RSS feed?

Three options still work. A hosted RSS generator turns a profile into a feed for a subscription fee. A self-hosted RSSHub needs either logged-in X cookies or paid X API keys. Or you build the feed yourself from an API that returns an account's posts as JSON, which is what the script in this guide does for $0.001 per refresh.

Is there a free Twitter RSS feed?

Not a reliable one. X does not publish RSS feeds, and the public Nitter instances that offered them free were down or blocking feed readers when we tested on October 24, 2026. The free routes that remain, such as a surviving Nitter instance, tend to go down without warning.

Can I get my X home feed as RSS?

Not directly. The practical approach, also suggested on Reddit's n8n community, is to pull the list of accounts you follow once, then fetch each account's latest posts on a schedule and merge them. That costs one call per account per refresh, so it suits a few dozen accounts better than several hundred.

How often should a Twitter RSS feed refresh?

Every 15 to 60 minutes is enough for most uses. At $0.001 per call, refreshing one account every 15 minutes is 96 calls a day, about $0.10 a day or roughly $3 a month. Hourly refreshes cost about $0.72 a month per account.

Can n8n read tweets without Nitter?

Yes. Use n8n's HTTP Request node to call an API that returns an account's posts as JSON, then split the list into items and drop posts you have already seen with the Remove Duplicates node. n8n's built-in X node has no operation for reading an account's timeline.


Originally published on getxapi.com, where it is kept current.

About the author

  • GetXAPI is the cheapest Twitter and X API. $0.001 per call returns ~20 tweets ($0.05 per 1,000). Fetch tweets, profiles, followers. No dev account needed.

No comments yet. Be the first to comment.

More from this blog