fxtwitterの検索が404で止まった——Xの検索の仕様変更と、止まっている間に何で代わりに読んだか
この記事は バイブコーディング的仕事ブログ(VWork Blog)へ移りました。 最新版はこちらです → https://exbridge.jp/vibeblog/2026-10-10-fxtwitter-search-404.html
名古屋でAIシステム開発の会社をやっています。当社では、Xの投稿をログインせずに読むのに fxtwitter のAPIを使っています。その検索が、10月9日の夜から止まりました。何が起きていたのか、何を調べたのか、止まっている間をどうしのいでいるのかを、時間の順に書いておきます。同じように fxtwitter を使っていて困っている方の参考になればと思います。
1. 何が止まったか
fxtwitter は、Xの投稿のリンクを Discord などに貼ったときに、画像や動画をきちんと表示するためのサービスです。投稿の中身をJSONで返すAPIもあり、ログインせずに投稿を読めるので、当社では次の3つのシステムで使っています。
- X返信候補:国会議員や話題の投稿のうち、投稿から30分以内のものを拾って、返信の下書きを作る(1時間ほどおき)
- 国会議員のX監視:国会議員583人の投稿を15分おきに読み、国会トラッカーの話題にふれた投稿を知らせる
- エンタメ動画の候補集め:話題の動画を探す
どれも、fxtwitter の検索(/2/search)を使っていました。10月9日の22時17分の回から、この検索がどの語で調べても {"code":404,"results":[]} を返すようになり、3つとも0件になりました。21時02分の回までは、ふだんどおり数百件の投稿が取れていました。
2. 最初に疑ったのは、自分たちの使いすぎ
国会議員の監視は15分おきに動いていて、1回に何百回もAPIを呼びます。最初は「呼びすぎて止められたのではないか」と考えました。
ただ、これは確かめずに言えることではありません。そこで、当社とは別の回線(レンタルサーバーに一時的に置いたPHP)から同じ検索を呼んでみました。結果は同じ404でした。当社の回線だけが止められているのではなく、どこから呼んでも止まっている、ということです。
あわせて、検索以外のAPIも確かめました。
- 投稿1件を読む(
/2/status/<id>):読める - プロフィールを読む:読める
- その人の投稿一覧を読む(
/2/profile/<名前>/statuses):読める - 検索(
/2/search):404
止まっているのは検索だけでした。
3. 本家の不具合報告
fxtwitter を作っている FxEmbed の GitHub に、同じ症状の報告(issue #2303「/2/search がどの語でも空の404を返す」)がありました。経緯は次のとおりです。
- 7月下旬:検索が404になると報告される。つながったり止まったりを繰り返す
- 8月28日:開発者が「ときどき壊れる。原因はまだ分からない」と書く
- 9月28日:開発者が原因を見つけて直す。Xが、検索のリクエストに付ける識別子(X-Client-Transaction-Id)の作り方を変えたのが原因で、それに合わせて直した、とのことでした
- 10月8日の朝(日本時間):「また404になる。本人の投稿一覧でもときどき起きる」という書き込み。ここから先、開発者の返事はまだありません
つまり、Xが仕様を変えるたびに fxtwitter 側が追いかける、ということを繰り返しています。今回も、Xがまた何かを変えたと考えるのが自然です。
4. Xの検索そのものもおかしくなっていた
「Xが検索の仕様を変えたなら、もっと騒がれているはずでは」と思い、Xでの声を Yahoo!リアルタイム検索で読みました。騒がれていました。ただし、APIの話としてではありませんでした。
- 10月6日の朝から、Xの検索の「最新」タブに20〜40件しか出ず、それより前の投稿まで遡れなくなった、という声がたくさん出ています。スマホのアプリでもブラウザでも同じでした
- アプリの不具合を伝えるニュースサイトも、10月6日に「Xの検索結果の件数が減った・20〜40件しか表示されない問題が発生」と記事にしています
- 10月7日の朝には「直った」という声もありました。でも10月9日の夜や10日の深夜にも、「検索に全然引っかからない」という投稿が続いています
fxtwitter の検索は、Xの画面の検索と同じ仕組みを外から呼んでいます。Xが検索の裏側を変えた時期と、fxtwitter で404が出はじめた時期は、ほぼ重なっています。同じ原因かどうかは、Xも fxtwitter の開発者も言っていないので確かめられていません。今のところは「同じ時期にXが検索の裏側を変えていて、その影響と考えるのが自然」というところまでです。
普通の人には「検索が20件しか出ない」という形で見えていたので、「APIが止まった」という話題にはなっていなかった、ということだと思います。最初に「fxtwitter」「API」といった言葉で探したときは、この騒ぎは引っかかりませんでした。探す言葉を、使っている人の言葉に変える必要がありました。
5. 代わりのサービスを試した
似たサービスがほかにもあるので、10月10日の深夜に当社の回線から実際に呼んでみました。
| 試したもの | 結果 |
|---|---|
| fixupx | fxtwitter と同じ仕組み(FxEmbed)なので、検索も同じく404。API用の名前は引けなかった |
| dxtwitter | API用の名前が引けず、つながらない |
| vxtwitter | 別の仕組みだが、Cloudflare の確認画面(403)で止められる。もともと検索のAPIは無い |
| Xの埋め込み用(syndication) | 投稿1件は読める。検索はできない |
| Nitter | もう使えない |
検索の代わりになる無料のサービスは、見つかりませんでした。X公式のAPIは検索に使えますが有料で、安い契約だと直近7日分しか読めません。検索に対応している有料の外部APIもいくつかありますが、料金と安定性は確かめていません。Xにログインして読むライブラリもありますが、アカウントを止められるおそれがあるので使っていません。
6. 止まっている間の読み方
検索が使えなくても、「その人の投稿一覧」と「投稿1件」は読めます。そこで、検索の使い方ごとに代わりの読み方を決めました。
決まった人の投稿を読む(from: で検索していたもの)
国会議員の投稿は、もともと「from:議員名」で検索していました。これを、議員ごとの投稿一覧を4〜6本同時に読む形に変えました。返信とリポストは外します。試しに議員60人分を読むと、11秒で直近12時間の投稿が12件取れました。583人全部だと1回に8分ほどかかります。
15分おきに8分かけて全員を読むと、fxtwitter にかける負担が大きくなります。検索が止まっている間は、全員を読むのを25分に1回にして、その間の回は読まずに終わるようにしました。
語で探す(「国会」「補助金」など)
語の検索は、Yahoo!リアルタイム検索で代わりに読みます。Yahoo!リアルタイム検索はログインせずに読めて、試しに「国会」で調べると、直近3時間の投稿が19件取れました。
ただ、最初の版はこれで0件のままでした。理由は2つありました。
- Yahoo!リアルタイム検索が投稿を拾うのは投稿された直後なので、そこに出る「いいね」の数はほぼ0です。この数で「いいね5以上」と絞ったため、全部落ちていました。今は、Yahoo の数字では絞らずに、fxtwitter の投稿1件のAPIで今の数字を読んでから絞っています。新着順は直近10分ほどの小さなアカウントの投稿ばかりなので、Yahoo の「話題順」も合わせて読みます。
- 語の検索の代わりは、1語読むのに19秒ほどかかります。78語を先に読んでいたので、持ち時間の14分を44語で使い切っていました。いちばん件数の多い議員と報道の投稿を読む段階まで、一度も進めていませんでした。今は、検索が止まっている間だけ、議員と報道の投稿一覧を先に読み、語の検索は残りの時間で読みます。
直したあとの朝5時の回では、議員30件・報道16件・語4件の計50件が11分41秒で集まり、返信候補が3件出ました。障害の前の同じ時間帯(27件と82件)と同じくらいです。
動画を探す
エンタメ動画の候補集めは、検索が0件のときに、Yahoo!リアルタイム検索から動画付きの投稿を探します。ただし新しい順なので、見つかるのは投稿されたばかりの、まだ見られていない動画です。人気の動画を選ぶ用途には弱く、検索が戻るまでのつなぎと割り切っています。
戻ったら自動で戻る
毎回、まず fxtwitter の検索を試します。結果が返ってくれば、いつもどおり検索で読みます。404のときだけ代わりの読み方に切り替わるので、検索が直ったら何もしなくても元に戻ります。
7. 今回の学び
- 「止められた」と言う前に、別の回線から試す。 自分の回線だけで見ていると、自分のせいか全体の問題かが分かりません。今回は別のサーバーから1回呼ぶだけで、全体の問題だと分かりました。
- 止まったものと止まっていないものを分ける。 検索だけが止まっていて、投稿一覧と投稿1件は読めました。読めるもので組み直せば、完全には止まりません。
- 探す言葉は、困っている人の言葉にする。 開発者の言葉(API、404)で探すと見つからず、利用者の言葉(検索が遡れない、20件しか出ない)で探すと、たくさん見つかりました。
- 代わりを入れたら、最後の出力が出るまで確かめる。 代わりの読み方で投稿が読めることは確かめていましたが、返信候補が実際に出るかは確かめないまま「入れました」と言っていました。読めることと、持ち時間の中で最後まで通ることは別でした。
- 外部の無料APIは、いつか止まる前提で作る。 fxtwitter は、Xの仕様変更を追いかけて何度も直してくれています。それでも、止まったときの代わりの道を先に持っておく必要がありました。
よくある質問
fxtwitter の検索が404になるのは、自分が使いすぎたからですか?
10月9日の夜からの404は、使いすぎが原因ではないと考えています。当社とは別の回線から呼んでも同じ404が返り、同じ症状が fxtwitter の本家にも報告されているからです。確かめるには、別の回線やサーバーから同じURLを1回呼んでみるのが早いです。
fxtwitter の検索の代わりになるサービスはありますか?
無料で検索の代わりになるものは、当社が試した範囲では見つかりませんでした。fixupx は fxtwitter と同じ仕組みなので同じく止まっていて、vxtwitter には検索のAPIがありません。決まった人の投稿なら fxtwitter の投稿一覧のAPIで、語で探すなら Yahoo!リアルタイム検索で、代わりに読めます。
Xの検索で20〜40件しか出ないのと、関係はありますか?
時期はほぼ重なっていますが、同じ原因かどうかはXも fxtwitter の開発者も言っていないので、確かめられていません。Xの検索の不具合は10月6日の朝から、fxtwitter の404は当社では10月9日の夜から出ています。
検索が戻ったら、何か直す必要がありますか?
当社の仕組みでは、毎回まず検索を試して、結果が返ればそのまま使うので、何もしなくても元に戻ります。ただし、Xの画面の検索で件数が減っているので、検索が戻っても一度に取れる件数は以前より少なくなるかもしれません。
国会議員の質疑と答弁を話題ごとに追える国会トラッカーも、今回のX監視とつないで使っています。