WEIR

X フォロワー数の推移を調べる方法:過去の数も無料

X(旧 Twitter)のフォロワー数の推移は、Wayback Machine の保存ページで 2022 年まで無料で分かります。JAXA の実測値と、今日から毎日記録する Python も紹介。


公開 · 更新 · 約 7 分で読めます · Read in English

カバー画像:JAXA のフォロワー 16 年分

X のフォロワー数の推移は、Wayback Machine に保存された過去のプロフィールで、2022 年半ばまで無料で調べられます。

それ以降は、自分で記録するしかありません。自社や競合、好きな公式アカウントの伸びを知りたい人向けに、両方の方法をまとめました。毎日の記録に使う Weir は、私たちが運営する API です。

ブラウザに貼り付け、ユーザー名を替えると、1 年に 1 つずつ保存コピーの一覧が出ます。

https://web.archive.org/cdx/search/cdx?url=twitter.com/JAXA_jp&filter=statuscode:200&collapse=timestamp:4
  1. 保存コピーを一覧CDX API で 1 年か 1 か月に 1 つ。
  2. 数を読む古いプロフィールに正確な数があります。
  3. スクリプトで履歴にPython が CSV に書き出します。
  4. 毎日記録プロフィール 1 回、3 クレジット。
  5. グラフにするCSV を Excel やスプレッドシートで開きます。

ステップ 1:プロフィールの保存コピーを一覧にする

Wayback Machine は、Internet Archive が Web ページを保存している図書館です。その CDX API は、あるアドレスの保存コピーを日時付きで一覧にします。

冒頭のリンクは、3 つを指定しています。

  • url=twitter.com/JAXA_jp:古いアドレスで探します。私たちのテストでは、x.com のコピーに数はありませんでした。
  • filter=statuscode:200:正しく読み込めたコピーだけにします。
  • collapse=timestamp:4:1 年に 1 つにします。月ごとなら timestamp:6 です。

1 行が 1 つの保存コピーで、2 列目が保存した日時です。1 日分を手で見るなら、web.archive.org/web/*/twitter.com/JAXA_jp のカレンダーから選びます。

X の過去のフォロワー数を保存ページで見る

2009 年から 2022 年半ばのコピーを開くと、その日のプロフィールにフォロワー数が出ています。後期の画面は「1.7M」のような短い表示ですが、ページのコードに正確な数があります。

10 月 26 日に、@JAXA_jp の年ごとのコピーを読みました。最後の棒は Weir で取った今日の数です。

@JAXA_jp のフォロワー数(Wayback と Weir)
2010 年 1 月2,258
2011 年 1 月43,701
2015 年 5 月189,940
2018 年 8 月293,550
2022 年 1 月413,384
2026 年 10 月、Weir500,004

今のプロフィールでは分からない動きが見えます。2010 年 1 月からの 1 年で、約 19 倍に増えていました。

ただ、記録は 2022 年で途切れます。

  • 2022 年 1 月 9 日までは、正確な数が取れました。
  • 2023 年以降のコピーからは、どれも数が取れませんでした。
  • @github と @NASA も、10 月 22 日のテストで 2022 年半ばに途切れていました。

古い年はよく分かり、最近の年はほとんど分からない、ということです。

ステップ 2:X フォロワー数の推移を Python で取り出す

年ごとのコピーを読み、CSV にする短いスクリプトです。Python 3.8 以降の標準ライブラリだけで動きます。

前半は、古い画面ごとに数を探す部分と、コピーの一覧です。

import json, re, sys, time, urllib.parse, urllib.request
PATTERNS = [r"follower_count[^>]*>\s*([\d,]+)",                  # 2009〜2011 年
            r"([\d,]+)<span class='user-stats-stat'>Followers",  # 2012 年
            r"<strong>([\d,]+)</strong>\s*Followers",            # 2013 年
            r'title="([\d,.\s]+)[^"]*"\s+data-nav="followers"']  # 2014 年〜2022 年半ば
def get(url):
    with urllib.request.urlopen(url, timeout=90) as response:
        return response.read().decode("utf-8", "replace")
def count_in(html):
    hit = next((m for p in PATTERNS if (m := re.search(p, html))), None)
    return int(re.sub(r"\D", "", hit.group(1))) if hit else None
def captures(handle):  # 1 年に 1 つの保存コピー
    query = urllib.parse.urlencode({"url": f"twitter.com/{handle}", "output": "json",
        "fl": "timestamp", "filter": "statuscode:200", "collapse": "timestamp:4"})
    return json.loads(get(f"https://web.archive.org/cdx/search/cdx?{query}"))[1:]

後半で、各コピーを読みます。続けて読むとアーカイブが接続を切ることがあるので、5 秒ずつ待ちます。

handle = sys.argv[1]
print("date,username,followers")
for (ts,) in captures(handle):
    day = f"{ts[:4]}-{ts[4:6]}-{ts[6:8]}"
    try:
        count = count_in(get(f"https://web.archive.org/web/{ts}id_/https://twitter.com/{handle}"))
    except OSError:
        print(day, "skipped: the archive is busy", file=sys.stderr)
        count = None
    if count:
        print(f"{day},{handle},{count}", flush=True)
    time.sleep(5)  # 無料のアーカイブに負荷をかけない

両方を wayback_followers.py に保存し、python wayback_followers.py JAXA_jp > jaxa_history.csv で実行します。私たちの出力の抜粋です。

date,username,followers
2010-01-26,JAXA_jp,2258
2016-03-07,JAXA_jp,209201
2020-02-12,JAXA_jp,324677
2022-01-09,JAXA_jp,413384

ステップ 3:今日からフォロワー数を毎日記録する

ここから先は、自分で記録します。Weir の GET /v1/x/users/{user} は公開プロフィールの followersCount を返し、3 クレジットです。呼び出しに 1、プロフィールに 2 です。

実行するたびに、アカウントごとに 1 行足すスクリプトです。先に WEIR_API_KEY を設定します。

import csv, datetime, json, os, sys, urllib.request
HEADERS = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}
def followers(username):  # 404:凍結か削除済み。402:クレジット切れ
    request = urllib.request.Request(
        f"https://api.weirapp.io/v1/x/users/{username}", headers=HEADERS)
    with urllib.request.urlopen(request, timeout=60) as response:
        return json.load(response)["data"]["followersCount"]
new_file = not os.path.exists("followers.csv")
with open("followers.csv", "a", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    if new_file:
        writer.writerow(["date", "username", "followers"])
    for username in sys.argv[1:]:
        writer.writerow([datetime.date.today(), username, followers(username)])

10 月 26 日に、Weir で @JAXA_jp を取得しました。3 クレジットで、応答の抜粋です。

{
  "username": "JAXA_jp",
  "followersCount": 500004,
  "followingCount": 63,
  "createdAt": "2010-01-13T00:45:24.000Z"
}

毎日 1 回動かします。Mac や Linux なら cron の 0 9 * * * で毎朝 9 時、Windows ならタスクスケジューラです。

31 アカウント 1 日のクレジット
931 アカウント 1 か月の最大
53無料の 5,000 で毎日追えるアカウント数

多くのアカウントを追うなら、GET /v1/x/users は数値の ID を 1 回で 100 件まで受け付けます。呼び出しに 1、プロフィールごとに 2 クレジットです。

2 つの CSV は同じ 3 列です。スプレッドシートに貼って日付で並べ、折れ線グラフにします。2022 年半ばから記録を始めた日までは空きます。

X のアナリティクスでフォロワー数の推移は見られる?

期待するほどは見られません。X のヘルプページの Wayback コピーで確かめた内容です。

  • アナリティクスのヘルプ:ポストと動画の数字が中心で、初期設定は 28 日です。フォロワーの履歴の説明はありません。
  • X Premium のページ:プランごとの機能の一覧に、アナリティクスは出てきません。
  • X データのダウンロード:「フォロワーの一覧」が入りますが、その時点の一覧で、数の推移ではありません。

X API にも履歴はありません。データ辞書にあるのは、ユーザーごとに 1 つの followers_count です。

うまくいかないときは

  • コピーが出てこない:誰も保存していないか、昔は別のユーザー名でした。ユーザー名の履歴を調べる方法(英語)が役立ちます。
  • コピーに数がない:2022 年半ば以降か、中身が空のページです。近い日付を試します。
  • ある年が飛ばされた:「skipped」と出たら、アーカイブが混んでいます。数分後にやり直します。
  • Weir が 404 を返す:アカウントが凍結されたか、もうありません。

Weir が向かないケース

  • 過去の数だけほしい:Wayback Machine は無料で、キーも要りません。
  • 月に 1 回見るだけ:プロフィールを見てメモすれば足ります。
  • 誰がフォローしたか知りたい:数では分かりません。フォロワーを CSV に出力する方法(英語)があります。
  • 1 回の単価が大事:TwitterAPI.io のほうがプロフィール 1 件あたり安いです。

追うのは企業や団体の公式アカウントにし、個人は対象にしないでください。X の規約は書面の許可がないスクレイピングを禁じているので、自分に何が当てはまるか確かめます。これは法的な助言ではありません。

よくある質問

X で過去のフォロワー数を見ることはできますか?

X の中ではできません。プロフィールに出るのは今日の数だけです。Wayback Machine の保存コピーなら、2022 年半ばまでの多くの年で正確な数が分かります。

自分のフォロワー数の推移を記録するには?

1 日 1 回記録します。Weir でプロフィールを取得して CSV に足すスクリプトなら、1 日 3 クレジットです。毎月 5,000 の無料クレジットで、約 50 アカウントまで追えます。

フォロワー数の推移を無料で見られるツールは?

過去の年なら、Wayback Machine と上のスクリプトで無料です。毎日の記録は、Weir の無料クレジットで約 50 アカウントまで足ります。

参考資料

Wayback の @JAXA_jp は 2026 年 10 月 26 日に、ほかは 10 月 22 日に確認しました。X のページは直接読めなかったので、Wayback のコピーを読んでいます。