X フォロワー数の推移を調べる方法:過去の数も無料
X(旧 Twitter)のフォロワー数の推移は、Wayback Machine の保存ページで 2022 年まで無料で分かります。JAXA の実測値と、今日から毎日記録する Python も紹介。
Tarun Khatri
公開 · 更新 · 約 7 分で読めます · Read in English
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
- 保存コピーを一覧CDX API で 1 年か 1 か月に 1 つ。
- 数を読む古いプロフィールに正確な数があります。
- スクリプトで履歴にPython が CSV に書き出します。
- 毎日記録プロフィール 1 回、3 クレジット。
- グラフにする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 で取った今日の数です。
今のプロフィールでは分からない動きが見えます。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 ならタスクスケジューラです。
多くのアカウントを追うなら、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 のコピーを読んでいます。
- Wayback CDX server README(英語):https://github.com/internetarchive/wayback/blob/master/wayback-cdx-server/README.md
- @JAXA_jp の Wayback コピー(2010〜2026 年)の例:https://web.archive.org/web/20220109061737/https://twitter.com/JAXA_jp
- X Business, activity dashboards(英語、Wayback の 2026 年 6 月 13 日版):https://business.x.com/en/help/campaign-measurement-and-analytics/tweet-activity-dashboard
- X Help Center, About X Premium(英語、Wayback の 10 月 10 日版):https://help.x.com/en/using-x/x-premium
- X Help Center, your X data(英語、Wayback の 10 月 13 日版):https://help.x.com/en/managing-your-account/accessing-your-x-data
- X Terms of Service(英語、10 月 9 日発効):https://x.com/en/tos
- X API data dictionary(英語):https://docs.x.com/x-api/fundamentals/data-dictionary
- TwitterAPI.io pricing(英語、10 月 26 日に確認):https://twitterapi.io/pricing
- Weir getXUser、billing(英語):https://docs.weirapp.io/reference/x/getXUser 、https://docs.weirapp.io/billing
- Weir での @JAXA_jp の取得(10 月 26 日、3 クレジット)