イーロン・マスクの X 投稿をリアルタイムで追跡する
イーロン・マスクのツイートをリアルタイムで追跡するには、10〜60秒おきに彼の X タイムライン(ユーザー ID 44196397)へ新着ポストを問い合わせ、最後に見た ID より大きいものだけを残し、指定した単語やティッカーでアラートを出すループを回します。
結論: イーロン・マスクは2026年10月にメインフィードで1,504件のポストを投稿しました。リプライを除いて1日あたり約49件で、60秒ごとのポーリングなら遅れは最大でも1分です。コードから追跡するなら Sorsa API を使ってください。POST /user-tweets は最新20件のポストを1リクエストで返し、1,000件あたり$0.07から。100回分の無料リクエストですぐ試せます。
- エンドポイント
POST /user-tweets- 1ページの件数
- 1リクエストあたり20ポスト
- 料金
- 1,000ポストあたり$0.07から
#イーロン・マスクのポストを投稿と同時に追う3つの方法
イーロン・マスクのポストを投稿と同時に追う方法は3つあります。X 自身のベル通知、ノーコードのアラートサービス、そしてタイムラインをポーリングする小さなスクリプトです。ティッカーや単語を待ち受けて、各ポストを自分のコードに渡せるのはスクリプトだけです。
- プロフィールのベル通知。 @elonmusk をフォローしてベルをタップし、「すべてのポスト」を選ぶと、X がすべてのポストをスマートフォンにプッシュ通知します。10月のペースでは1日に数十件の通知が届き、Tesla や Dogecoin に関するものだけに絞る方法はありません。通知が届くのも、X アカウントにサインインしているスマートフォンだけです。あらゆるアカウントに使える手順は、誰かがツイートしたら通知を受け取るのガイドにあります。
- ノーコードのアラートサービス。 自動化サービスは、タイマーでアカウントを確認し、見つけたものを転送します。一般的なサービスは、有料プランで数分おき、無料プランでは1時間に1回の確認で、多くは必要な数件ではなくすべてのポストを転送します。
- 自作のトラッカー。 スクリプトが数秒おきに API へ最新ポストを問い合わせ、新しいものだけを残し、自分で書いたルールを適用します。キャッシュタグ、単語、リプライを含めるかどうか、いいねの最低数などです。チャットへの投稿、データベースへの書き込み、ジョブの起動もできます。
このガイドの残りでは、3つ目の方法を順を追って作り、実際の投稿リズムがポーリング頻度に何を意味するかを説明します。
#Sorsa API でイーロン・マスクのツイートを追跡する
コードからイーロン・マスクのポストを追跡するなら、Twitter(X)API 兼スクレイピングツールの Sorsa API を使ってください。POST /user-tweets(新しいタブで開きます) を1回送るだけで、最新20件のポストが全文、各種カウント、プロフィール付きで返り、全プランで毎秒20リクエストを利用できます。必要なのは ApiKey ヘッダーの API キー1つだけで、X の開発者アカウントも OAuth も不要です。X のログイン情報も求めないので、自分のアカウントにリスクはありません。
-
キーを取得する。 サインアップして、ダッシュボードから API キーをコピーします。100回分の無料リクエストはすでに付いています。ポーリング100回分、またはタイムラインをさかのぼって彼のポスト2,000件を読める量です。
-
彼のユーザー ID、44196397 を使う。 ハンドルはいつでも変更できますが、数値のユーザー ID は変わりません。そのためトラッカーは
user_idを送ります。GET /username-to-id(新しいタブで開きます) はあらゆるハンドルを ID に変換し、無料の X(Twitter)ID ファインダーならブラウザで同じことができます。 -
最新のポストを取得する。 彼の ID を指定した POST リクエストを1回送ると、タイムラインの最新ページが新しい順に返ります。
tweets配列と、その前のページを取得するためのnext_cursorです。各ポストにはid、full_text、created_at、各種カウント、そしてpinned_tweet_idsを含む投稿者の完全なプロフィールが付きます。どのアカウントのタイムラインも同じ形式です。以下の簡略化したレスポンスはデモアカウントのものです。Terminal curl -X POST "https://api.sorsa.io/v3/user-tweets" \ -H "ApiKey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"user_id": "44196397"}'Response200 OK { "tweets": [ { "id": "2117211830570418176", "full_text": "Static fire complete. Next launch window opens Friday.", "created_at": "2026-11-02T13:40:12Z", "lang": "en", "is_reply": false, "is_quote_status": false, "likes_count": 1840, "retweet_count": 212, "reply_count": 97, "quote_count": 18, "view_count": 96400, "user": { "id": "1734502298114760704", "username": "orbital_freight_updates", "display_name": "Orbital Freight (demo)", "followers_count": 412300, "tweets_count": 18230, "pinned_tweet_ids": ["2098874410262118400"] } } ], "next_cursor": "DAABCgABG3kRk9Wf_-oKAAIbeRGT0_7_6ggAAwAAAAIAAA" } -
新しいポストだけを残す。 X のポスト ID は時間とともに大きくなるので、処理済みの最大の ID をチェックポイントとして使えます。それより大きいものが新着です。以下のループはこのチェックポイントをファイルに保存するため、再起動しても重複や取りこぼしが起きません。新着の終わりを判定するときは彼のピン留めポストを無視し、長い中断のあとは最大5ページまでさかのぼって読み、ポストから30分間は10秒おき、それ以外は60秒おきにポーリングします。Python 版は
elon_tracker.pyとして保存してください。import os import time import requests API = "https://api.sorsa.io/v3" HEADERS = {"ApiKey": os.environ.get("SORSA_API_KEY", "YOUR_API_KEY")} USER_ID = "44196397" # @elonmusk; the ID never changes FAST, SLOW = 10, 60 # seconds between polls: busy / quiet BUSY_FOR = 30 * 60 # stay fast for 30 minutes after a post STATE = "elon_last_id.txt" def new_posts(last_id): """Posts above the checkpoint, oldest first.""" found, body = [], {"user_id": USER_ID} for _ in range(5): # at most 5 pages after a long pause r = requests.post(f"{API}/user-tweets", headers=HEADERS, json=body, timeout=30) r.raise_for_status() page = r.json() tweets = page.get("tweets") or [] pinned = {p for t in tweets for p in t["user"].get("pinned_tweet_ids") or []} fresh = [t for t in tweets if int(t["id"]) > last_id] older = [t for t in tweets if int(t["id"]) <= last_id and t["id"] not in pinned] found += fresh cursor = page.get("next_cursor") if not last_id or older or not cursor: break body["next_cursor"] = cursor return sorted(found, key=lambda t: int(t["id"])) def handle(post): """Print each new post; the next section adds a filter.""" link = f"https://x.com/elonmusk/status/{post['id']}" print(post["created_at"], post["full_text"][:120], link) try: last_id = int(open(STATE).read()) except (OSError, ValueError): last_id = 0 # the first run only sets the checkpoint last_post = 0.0 while True: try: posts = new_posts(last_id) if posts and last_id: for post in posts: handle(post) last_post = time.time() if posts: last_id = int(posts[-1]["id"]) with open(STATE, "w") as f: f.write(str(last_id)) except requests.RequestException as err: print("poll failed, trying again:", err) busy = time.time() - last_post < BUSY_FOR time.sleep(FAST if busy else SLOW) -
起動して動かし続ける。 キーを設定し、常時稼働しているマシンでスクリプトを実行します。Node.js 版を使う場合は、トップレベルの
awaitを使えるよう、elon.mjsとして保存してください。Terminal export SORSA_API_KEY="YOUR_API_KEY" python3 elon_tracker.py
429 エラーはキーが毎秒20リクエストを超えたこと、403 はリクエスト数を使い切ったことを意味します。ループはどちらもログに出力して、次のラウンドで再試行します。失敗したリクエストに課金されることはありません。
#ティッカーやトピックに触れたときだけアラートを出す
市場に関するアラートだけを受け取るには、$TSLA のようなキャッシュタグは完全一致で、dogecoin のような通常の単語は単語単位で照合し、2つのリストを分けておきます。キャッシュタグとは、$ 記号の後ろに書くティッカーシンボルのことで、X が検索可能なリンクに変換する形式です。
分けておく理由は、多くのティッカーが普通の単語でもあるからです。DOGE はコインのティッカーであり、ミームであり、2025年に創設された米国政府機関の名前でもあるため、単語だけにルールを当てると、コインとは無関係なポストにも反応してしまいます。SOL や AI のような短いティッカーも同じです。$DOGE か dogecoin という単語で照合すれば、アラートは話題から外れません。下のテスターのチェックボックスで、通常のティッカーも対象にすると何が変わるかを確認できます。
アラート発動: 2件一致
$TSLAstarship
Launch window opens Friday for the next Starship test. $TSLA earnings call moved to Wednesday. Doge memes all day.
スキップ: 「Doge」は$記号なしで書かれたティッカーです。チェックボックスをオンにすると対象になります。
TICKERS = {"TSLA", "DOGE", "BTC"}
WORDS = {"dogecoin", "starship", "tesla"}
PLAIN_TICKERS = False
ティッカーと語句を入力してからテスト用テキストを編集すると、一致箇所がハイライトされ、スクリプト用のルールが更新されます。
ループ内の handle() 関数を、以下のものに置き換えてください。この関数は、ポスト自身の本文と引用しているポストの本文の両方を確認します。引用された $TSLA ポストに対する一言のリプライも、$TSLA についての内容だからです。一致したものは Telegram のチャットに送信されます。Telegram ボットの作成方法と Slack への対応は、最初のセクションで紹介した通知ガイドで解説しています。
import re
TICKERS = {"TSLA", "DOGE", "BTC"} # matched as $TSLA only
WORDS = {"dogecoin", "starship", "tesla"} # whole words, any case
PLAIN_TICKERS = False # True also matches DOGE without the $ sign
TG = f"https://api.telegram.org/bot{os.environ['TG_BOT_TOKEN']}"
def hits(text):
"""The rule's matches in a post's text, as a sorted list."""
text = re.sub(r"https?://\S+", " ", text) # skip links
tags = re.findall(r"\$([A-Za-z]{1,6})\b", text)
found = {"$" + t.upper() for t in tags if t.upper() in TICKERS}
terms = WORDS | ({t.lower() for t in TICKERS}
if PLAIN_TICKERS else set())
for term in terms:
pattern = rf"(?<![\w$]){re.escape(term)}(?!\w)"
if re.search(pattern, text, re.IGNORECASE):
found.add(term)
return sorted(found)
def handle(post):
"""Alert when the post, or the post it quotes, matches."""
quoted = (post.get("quoted_status") or {}).get("full_text", "")
found = hits(post["full_text"] + "\n" + quoted)
if not found:
return
link = f"https://x.com/elonmusk/status/{post['id']}"
text = f"{' '.join(found)}\n{post['full_text'][:500]}\n{link}"
requests.post(f"{TG}/sendMessage", timeout=30,
json={"chat_id": os.environ["TG_CHAT_ID"],
"text": text})
フィルターは手元で動くので、ポーリングの費用はどちらでも変わりません。多数のアカウントをまたいで単語を探す場合は、POST /search-tweets(新しいタブで開きます) が X 独自の演算子を受け付けます。たとえば "order": "latest" を指定して from:elonmusk ($TSLA OR $DOGE OR dogecoin) のように使います。残りの演算子は Twitter の検索演算子のガイドにまとめています。1つのアカウントだけなら、タイムラインのほうが直接的なフィードです。
#イーロン・マスクは1日に何回投稿するか
イーロン・マスクは2026年10月に、メインフィードで1,504件のポストを投稿しました。1日あたり約49件で、オリジナルポスト、引用ポスト、リポストを数え、リプライは含みません。この数字は Polymarket の XTracker(新しいタブで開きます) の1時間ごとの集計によるものです。Polymarket の市場が決済に使うカウンターで、メインフィードに表示されないリプライは除外されます。
10月は彼にとって投稿の多い月でした。同じカウンターは2026年9月に866件(1日あたり約29件)、8月に881件を記録しており、ペースは1か月でほぼ倍増しました。もっとも多かった日は10月8日の126件です。リプライはこれらの数字にさらに上乗せされるため、リプライを含む集計はずっと多くなります。
投稿はバースト状に集中します。10月の744時間のうち401時間は、カウント対象のポストが1件もありませんでした。一方、1時間に5件以上投稿した131時間が、月全体の70%を占めました。もっとも多い1時間は22件です。時間帯別では、月間でもっとも多かったのは東部時間の午後1時の139件で、次に真夜中過ぎの時間帯が続き、午前5時は9件でした。
トラッカーにとって、バーストは好都合です。1件投稿されると続けて投稿されやすいため、投稿のたびに間隔を縮め、静かな時間帯に間隔を広げるループなら、夜通し高速のポーリング代を払わずに、バーストをすばやく捕まえられます。
#タイムラインのポーリング頻度と費用
1分以内にアラートが欲しいなら60秒おき、秒単位が重要なら10秒おきにポーリングします。10月のペースでは、もっとも多い1時間でも22件のポストが60回のポーリングに分散するため、1回のポーリングが返す20件をはるかに下回ります。また、間隔は新しいポストを待つ最長時間でもあります。ポーリング直後に投稿されたポストは、次のポーリングで見つかるからです。
Sorsa API は、新しいポストが見つかったかどうかにかかわらず、ポーリング1回につき1リクエストと数えるため、月間コストは間隔に比例します。30日の月では次のようになります。
| ポーリング間隔 | 最長の待ち時間 | 月間リクエスト数 | 対応するプラン |
|---|---|---|---|
| 5分 | 5分 | 8,640 | Starter(10,000) |
| 60秒 | 1分 | 43,200 | Pro(100,000) |
| 30秒 | 30秒 | 86,400 | Pro(100,000) |
| ポスト後は10秒、静かなときは60秒 | バーストの最初のポストは1分、以降は10秒 | 約148,000 | Growth(250,000) |
| 15秒 | 15秒 | 172,800 | Growth(250,000) |
| 10秒 | 10秒 | 259,200 | Enterprise(500,000) |
5分
- 最長の待ち時間
- 5分
- 月間リクエスト数
- 8,640
- 対応するプラン
- Starter(10,000)
60秒
- 最長の待ち時間
- 1分
- 月間リクエスト数
- 43,200
- 対応するプラン
- Pro(100,000)
30秒
- 最長の待ち時間
- 30秒
- 月間リクエスト数
- 86,400
- 対応するプラン
- Pro(100,000)
ポスト後は10秒、静かなときは60秒
- 最長の待ち時間
- バーストの最初のポストは1分、以降は10秒
- 月間リクエスト数
- 約148,000
- 対応するプラン
- Growth(250,000)
15秒
- 最長の待ち時間
- 15秒
- 月間リクエスト数
- 172,800
- 対応するプラン
- Growth(250,000)
10秒
- 最長の待ち時間
- 10秒
- 月間リクエスト数
- 259,200
- 対応するプラン
- Enterprise(500,000)
適応型の行は上のループで、10月の実際のリズムで計算したものです。彼が投稿した343時間は10秒おき、投稿しなかった401時間は60秒おきにポーリングすると、合計で約148,000リクエストになります。同じ31日間を10秒固定でポーリングした場合は約268,000リクエストです。全プランでキー1つにつき毎秒20リクエストなので、同じキーで彼以外の数百アカウントもポーリングできます。
タイムラインをさかのぼって読む場合、Sorsa API ではポスト1,000件あたり$0.07から、1リクエストで20ポストです。公式 X API(新しいタブで開きます) は読み取り1,000ポストあたり$5.00かかります。さらに開発者アカウント、OAuth、前払いクレジットが必要で、ユーザータイムライン(新しいタブで開きます)には直近3,200件のポストしか含まれません。10月のペースなら、メインフィードの約2か月分です。
知っておきたいこと
Polymarket のトラッカーは、約5分間残っていた削除済みポストだけをカウントします。Sorsa API が返すのはリクエスト時点で公開されているポストなので、彼が削除したポストはそれ以降タイムラインから消えます。トラッカーが捕まえたポストは、本文と ID を付けて、届いた瞬間に保存してください。
#リプライ、リポスト、ピン留めポスト
POST /user-tweets はデフォルトで彼のポストを返し、3つの設定でどれを返すかが変わります。彼のポストの多くは短いリプライなので、この選択がトラッカーのノイズの量を左右します。
- リプライ。 ボディに
"with_replies": trueを加えると、ポストとリプライが1つのタイムラインで返ります。リプライだけなら"type": "replies"を送ります。ティッカーのアラートは、ほとんどの場合リプライなしのほうがうまく動きます。 - リポスト。 彼のリポストには
"type": "retweets"を送ります。それぞれ元のポストがretweeted_statusに入っています。Polymarket のカウントにはリポストが含まれるため、それに合わせたいトラッカーは両方のタイムラインをポーリングします。 - 引用ポスト。 引用には、引用元のポストが
quoted_statusに入っています。上のフィルターが両方の本文を読むのはこのためです。 - ピン留めポスト。 彼のピン留めポストは、古い ID のまま最初のページの先頭に載ることがあります。先頭の項目を取るのではなく ID を比較すれば除外でき、ループのピン留め判定によって、さかのぼり読みが途中で終わることも防げます。
各ポストには、読み取った時点の likes_count、view_count などのカウントも付きます。投稿の数秒後に捕まえたポストには、まだいいねがほとんどありません。そのため、「いいねが10,000を超えたポストでアラート」のようなルールは、あとでポストを再取得する2回目のパスで処理してください。
#同じトラッカーで任意の公開アカウントを追う
1つの値、ユーザー ID を変えるだけで、このトラッカーはあらゆる公開 X アカウントを追跡できます。創業者、規制当局、企業のサポートアカウント、スポーツ報道の編集部まで、同じループ、フィルター、アラートで動きます。
数個を超えるアカウントでは、アカウントごとに1回ポーリングすると負担が積み上がります。代わりに、アカウントを公開 X リストにまとめてください。1リクエストで最大5,000アカウントの最新ポストを読めます。Twitter のリアルタイム監視のガイドでは、そのループを5秒間隔で回し、キーワードフィードも並行して動かします。
同じエンドポイントで、彼の過去のポストに関する疑問にも答えられます。from:elonmusk -filter:replies since:2026-10-01 until:2026-11-01 を指定して POST /search-tweets をページングすれば、期間内のポストを集計したり、出力したりできます。GET /info(新しいタブで開きます) は、プロフィールに表示される総数 tweets_count を含むプロフィールを返します。アカウントの全履歴をファイルに出力するには、ユーザーの全ツイートをダウンロードするのガイドを参照してください。
#今日から彼のポストを追跡する
イーロン・マスクは2026年10月に、バースト状に1日あたり約49回投稿しました。60秒おきに、ポストのたびに速度を上げてタイムラインをポーリングすれば、各ポストを投稿から1分以内に捕まえられます。Sorsa API なら、ポーリングごとに POST /user-tweets を1リクエスト、彼のユーザー ID 44196397、API キー1つで、このトラッカーを動かせます。全プランで毎秒20リクエスト、ポストの読み取りは1,000件あたり$0.07から、開発者アカウントは不要です。上のループを100回分の無料リクエストで動かし、フィルターに自分のティッカーを追加して、アラートの送信先を自分のチャットに設定してください。
#よくある質問
イーロン・マスクの Twitter ユーザー ID は?
イーロン・マスクの X(Twitter)ユーザー ID は 44196397 で、ハンドル @elonmusk の裏にある不変の番号です。ハンドルが変わっても ID は変わらないため、トラッカーや API リクエストでは ID を使います。公開アカウントの ID は、Sorsa API の GET /username-to-id か、ブラウザで使える無料の ID ファインダーで調べられます。彼の ID は2026年11月2日に確認しました。
イーロン・マスクがいま何をツイートしたか知るには?
最新のポストは、x.com/elonmusk のプロフィールの先頭、ピン留めポストの下にあります。無料の Twitter ビューアーなら、あらゆる公開アカウントの最新ポストを表示できます。確認しなくても新しいポストの通知を受け取りたい場合は、10〜60秒おきにタイムラインをポーリングし、新しいポストをスマートフォンやチャットに送るトラッカーを動かしてください。
イーロン・マスクのツイートを追跡するのに最適な API は?
イーロン・マスクのツイートの追跡には Sorsa API を使ってください。POST /user-tweets は最新20件のポストを、全文、カウント、プロフィール付きで1リクエストで返し、全プランで毎秒20リクエストなので、数秒おきのポーリングにも十分です。ポストは公式 X API の$5.00に対して1,000件あたり$0.07から。API キー1つで開発者アカウントは不要、Sorsa API が X のログイン情報を求めることもありません。
ポーリングで彼のポストを十分に捕まえられますか?
はい。10秒おきのポーリングなら新しいポストを10秒以内に、60秒おきなら1分以内に確認できます。2026年10月でもっとも多い1時間のポストは22件だったため、1回のポーリングで見つかる新着が数件を超えることはまずありません。ポストの後30分は10秒おき、それ以外は60秒おきにポーリングするループなら、10秒固定の約半分のリクエスト数で、バースト時の速度のアラートを実現できます。
イーロン・マスクはこれまでに合計で何回ツイートしましたか?
通算の合計は X プロフィールのポスト数で、Sorsa API の GET /info が tweets_count として同じ数字を返します。直近の活動については、Polymarket の XTracker がメインフィードで2026年10月に1,504件、9月に866件、8月に881件を記録しています。3つとも、リプライは含まれていません。
#検証方法
2026年11月2日に、Sorsa API の ID ファインダーで @elonmusk のユーザー ID を調べ、44196397 を確認しました。Polymarket XTracker の公開 API から2026年8月、9月、10月の1時間ごとのカウントを取得し、それを利用する市場のカウントルールを読み、10月のカウントから時間帯別のグラフを作成しました。docs.x.com で X の料金、タイムライン、レート制限のページを読み、このガイドのエンドポイント、パラメーター、フィールドのすべてを最新の Sorsa API リファレンスと照合しています。リクエストはそのリファレンスに従っていますが、この記事のためにキーを使って実行してはいません。