本文へスキップ

イーロン・マスクの 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 のログイン情報も求めないので、自分のアカウントにリスクはありません。

1 TLをポーリング POST /user-tweets user_id 44196397 10~60秒ごと 2 新しいIDを保持 保存済みチェック ポイントより大きいID 固定投稿は除外 3 ルールに一致 $TSLA, $DOGE, dogecoin, starship キャッシュタグと単語 4 アラートを送信 TelegramやSlack、 自分のサーバー 本文 + 投稿リンク 待ってから再びポーリング。1回のポーリングで1リクエスト
ポーリングごとに1リクエスト、保存したチェックポイント、そしてルール。トラッカーはこれだけです。
  1. キーを取得する。 サインアップして、ダッシュボードから API キーをコピーします。100回分の無料リクエストはすでに付いています。ポーリング100回分、またはタイムラインをさかのぼって彼のポスト2,000件を読める量です。

  2. 彼のユーザー ID、44196397 を使う。 ハンドルはいつでも変更できますが、数値のユーザー ID は変わりません。そのためトラッカーは user_id を送ります。GET /username-to-id(新しいタブで開きます) はあらゆるハンドルを ID に変換し、無料の X(Twitter)ID ファインダーならブラウザで同じことができます。

  3. 最新のポストを取得する。 彼の 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"
    }
    
  4. 新しいポストだけを残す。 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)
    
  5. 起動して動かし続ける。 キーを設定し、常時稼働しているマシンでスクリプトを実行します。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 への対応は、最初のセクションで紹介した通知ガイドで解説しています。

Python
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件です。リプライはこれらの数字にさらに上乗せされるため、リプライを含む集計はずっと多くなります。

イーロン・マスクの時間帯別投稿数(2026年10月) メインフィードの投稿、引用、リポスト。返信は除く。米東部時間。 1,504 31日間の投稿数 最少 105 午前0時 111 88 44 午前3時 25 9 27 午前6時 17 20 54 午前9時 88 110 99 午後0時 139 60 48 午後3時 68 55 61 午後6時 43 41 76 午後9時 59 57 出典: Polymarket XTracker(@elonmuskの時間別集計)。濃い青: 100件以上。
彼は一日中投稿しており、東部時間の午前遅くから午後の早い時間と、真夜中を過ぎた時間帯にもっとも集中します。

投稿はバースト状に集中します。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,640Starter(10,000)
60秒1分43,200Pro(100,000)
30秒30秒86,400Pro(100,000)
ポスト後は10秒、静かなときは60秒バーストの最初のポストは1分、以降は10秒約148,000Growth(250,000)
15秒15秒172,800Growth(250,000)
10秒10秒259,200Enterprise(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 リファレンスと照合しています。リクエストはそのリファレンスに従っていますが、この記事のためにキーを使って実行してはいません。

Sorsa APIチーム 読み取り専用のX(Twitter)APIとスクレイピングツール、Sorsa APIを開発・運営しています。2022年から本番稼働し(旧TweetScout API)、累計60億リクエスト以上を処理しています。 Sorsa APIについて

変更点
  • 初公開。