本記事には筆者が開発に関わっているサービス(GetXAPI)の紹介を含みます。Nitter各インスタンスとx.comの挙動は、2026年10月24日(UTC)に筆者が実際にアクセスして確認した結果です。
「XのアカウントをRSSリーダーで購読したい」「n8nやGASでXの投稿を拾いたい」。以前はNitterのRSSで済みましたが、いま主要なインスタンスはほぼ使えません。この記事では、2026年10月時点で実際に動くXのRSS取得方法を整理し、APIからRSSを自作するPythonスクリプトを紹介します。
2026年10月24日更新。Nitter 4インスタンスとx.comのRSSを同日に検証し、RSSHubのX用ルートの認証方式はRSSHubのソースコードで確認しています。
XのRSSはどうやって取得できますか?
X自体はRSSを提供していないので、APIで投稿を取得してRSSファイルに変換するのが確実です。 下のスクリプトは約45行のPythonで、アカウントの最新投稿約20件をRSS 2.0にします。GetXAPIのユーザー投稿取得エンドポイントを使うと、1回の更新が0.001ドルです。コードを書かない場合はRSS.appのようなRSS生成サービス、自前サーバーがあればRSSHubという選択肢もあります。Nitterの公開インスタンスは、今回試した範囲ではどれも使えませんでした。
XにRSS機能はありますか?
ありません。プロフィールURLの末尾に/rssを付けても、返ってくるのは通常のXのWebページ(HTML)です。2026年10月24日にhttps://x.com/n8n_io/rssへアクセスして確認しました。
NitterのRSSが取得できないのはなぜですか?
インスタンス側が停止・制限しているためです。同日に4つのインスタンスで同じアカウントのRSSを取得したところ、nitter.netは410(Gone)、xcancel.comは451で「法的手続きのためサービス停止」と表示、nitter.jaydenha.ukはブラウザ確認画面でRSSリーダーからは通らず、nitter.poast.orgは20秒以内に応答がありませんでした。
RSSHubなら無料で使えますか?
自前でホストすれば無料ですが、X用ルートには認証情報が必要です。RSSHubのソースによると、使えるのはログイン済みXアカウントのauth_token Cookieか、従量課金のX APIキーです(ユーザー名とパスワードによる方式は2025年10月から動かないと明記)。公開インスタンスのrsshub.appも、今回のリクエストでは302リダイレクトが返り、フィードは取得できませんでした。
方法の比較
| 方法 | 費用 | 手間 | 安定性 |
|---|---|---|---|
| Nitterの公開インスタンス | 無料 | URLを入れるだけ | 低い(予告なく停止) |
| RSS生成サービス(RSS.appなど) | サービスの料金次第 | URLを入れるだけ | サービス次第 |
| RSSHubを自前でホスト | サーバー代 + Cookieまたは有料APIキー | Dockerと設定 | 渡す認証情報次第 |
| APIからRSSを自作 | 1回の更新0.001ドル | 約45行のコード | APIの安定性と同じ |
APIからRSSを自作する手順
- APIキーを取得し、環境変数
GETXAPI_KEYに入れます。 -
GET /twitter/user/tweets?userName=<ハンドル>で最新投稿を取得します(1回約20件)。 - 各投稿をRSSのitemにします(本文をtitleとdescription、x.comのURLをlinkとguid、
createdAtをpubDate)。 - XMLを保存し、静的ホスティングなどで公開します。
- cronやn8nのSchedule Triggerで定期実行します(例:15分ごと)。
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")
検証結果: 2026年10月24日にpython x_to_rss.py n8n_ioを実行し、20件のitemを持つRSSが生成されました。XMLとして正しくパースでき、全itemにpubDateとx.comのリンクが入っていました。APIの応答は3〜5秒でした。標準ライブラリだけなので追加インストールは不要です。
費用の目安: 公式X APIの単価はX APIの料金表にまとめています。この方法で1アカウントを15分ごとに更新すると1日96回、約0.10ドル/日、月3ドル程度です。1時間ごとなら月0.72ドル程度です。
n8nで使う場合
RSSにする必要がなければ、n8nで直接JSONを読む方が簡単です。
- Schedule Trigger:実行間隔を設定
-
HTTP Request:GETで
https://api.getxapi.com/twitter/user/tweets、クエリuserName、ヘッダーAuthorization: Bearer <キー> -
Split Out:
tweetsフィールドで1投稿1アイテムに分割 -
Remove Duplicates:「Remove Items Processed in Previous Executions」を
idで比較し、同じ投稿を二度処理しない
上のスクリプトでRSSファイルを公開済みなら、RSS ReadノードにそのURLを指定するだけでも読めます(ノード名と設定はn8n公式ドキュメントで確認)。
自作が向かないケース
- 数百アカウントを追いたい:1アカウント1回の呼び出しなので、500アカウントを15分ごとに更新すると1日48,000回になります。間隔を延ばすか、検索クエリでまとめてください。
- 2〜3アカウントだけをノーコードで読みたい:生成サービスを使う方が手間はかかりません。
- 鍵アカウント:どの方法でも取得できません。
- リプライも欲しい:ユーザー投稿取得は本人の投稿のみです。リプライは別のエンドポイントになります。
よくある質問
X(Twitter)のRSSフィードを無料で取得する方法はありますか?
安定したものはありません。X公式のRSSはなく、無料だったNitterの公開インスタンスは今回の検証時点で停止または制限されていました。生き残っているインスタンスがあっても、予告なく止まることがあります。
自分のホームタイムライン(フォロー中の投稿)をRSSにできますか?
直接はできません。フォロー中のアカウント一覧を一度取得し、各アカウントの最新投稿を定期的に取得してまとめる方法が現実的です。アカウント数だけ呼び出しが増えるので、数十アカウント程度向きです。
RSSの更新間隔はどれくらいがよいですか?
多くの用途では15〜60分ごとで十分です。1回0.001ドルなので、15分ごとで1アカウント月3ドル程度、1時間ごとなら月0.72ドル程度です。
参考
- GetXAPI docs「User Tweets」: https://docs.getxapi.com/docs/users/user-tweets
- RSSHub ソースコード(X用ルートの認証方式): https://github.com/DIYgod/RSSHub/blob/master/lib/routes/twitter/namespace.ts
- n8n docs「RSS Read」: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.rssfeedread/
- n8n docs「Remove Duplicates」: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/
- 英語版の詳細ガイド: https://www.getxapi.com/blogs/twitter-rss-feed