Tony Wang5 分で読めますTrustMRR スクレイピング方法 2026年版(API・Python)
TrustMRR の検証済み売上・リーダーボード・マーケットプレイスデータを2026年にスクレイピング — DIY Python、ノーコード、構造化APIの3つの方法。
TrustMRR は、インディー SaaS やブートストラップ型スタートアップのコミュニティが自分たちの売上数字を投稿する(そして売却する)場所です — MRR が検証された企業の公開リーダーボードに加え、実際に売りに出されているスタートアップのマーケットプレイスもあります。このデータをプログラムから取得する最も手早い方法は、クリーンな JSON を返す構造化 API 呼び出しです。Python で自分で構築することもできますが、本当の障害はアンチボットではなく、サイトの売上データが CSS セレクタで単純にパースできるページではなく、Next.js の React Server Component ストリーミング形式の中に存在している点です。
なぜ TrustMRR をスクレイピングするのか
- 競合ベンチマーキング — 自分のカテゴリのインディー SaaS プロダクトが実際にどれだけ稼いでいるか(自己申告ではなく検証済み)、そしてどれだけ速く成長しているかを確認できます。
- 買収・ディールソーシング — マーケットプレイスは、個々の出品を手作業で閲覧する前に、希望売却価格、MRR、そして鮮度を考慮したディールスコアを添えて売りに出されているスタートアップを表示します。
- ブートストラップ SaaS 経済のマーケットリサーチ — カテゴリ別の内訳とリーダーボードの変動は、どのプロダクトカテゴリが成長しているかを示すリアルタイムのシグナルです。
- 投資家やリサーチャー向けの代替データ — このレベルの粒度で検証済みの中小企業の売上データが手に入るのは、こうしたプラットフォーム以外では稀です。
TrustMRR をスクレイピングするのは合法か?
TrustMRR の robots.txt は幅広くクロールを許可しており(User-agent: * / Allow: /)、すべてのスタートアッププロフィールを発見するための専用 startup-sitemap.xml を公開しています — これは公開ディレクトリがクロールされることを想定している強いシグナルです。本稿執筆時点では、利用規約に専用のアンチスクレイピング条項は見当たりませんでしたが、規約は変更される可能性があり、本ガイドはログアウトした訪問者がすでに見ることのできる公開ティーザーフィールドのみを扱います。大規模にスクレイピングする前に TrustMRR の現行の規約を自分で確認してください。一般的な枠組みについてはウェブスクレイピングは2026年に合法か?を参照してください。法的助言ではありません。
選択肢1: Python で DIY する(そしてなぜ壊れるか)
スラッグの発見は本当に簡単です — サイトマップは実在し、公開されていて、欲しいものとちょうど一致します。
import requests
import xml.etree.ElementTree as ET
resp = requests.get("https://trustmrr.com/startup-sitemap.xml", headers={"User-Agent": "Mozilla/5.0"})
root = ET.fromstring(resp.content)
ns = {"sm": "http://www.sitemaps.org/schemas/sitemap/0.9"}
slugs = [url.find("sm:loc", ns).text.rsplit("/", 1)[-1] for url in root.findall("sm:url", ns)]
print(len(slugs), "startups found, e.g.", slugs[:3])
単一のプロフィールページを取得するのも、単純な requests.get() で動作します — TrustMRR は初期 HTML を JavaScript の実行の裏に隠していません。
page = requests.get("https://trustmrr.com/startup/gumroad", headers={"User-Agent": "Mozilla/5.0"})
ここから脆くなります。ページの <title> とメタディスクリプションには、見出しの売上金額がプレーンテキストとして含まれています("Gumroad - $7,143,938 last 30 days | TrustMRR")。これは単一の数値であれば正規表現で抜き出せます。しかし、本ガイドが本当に欲しい構造化されたフィールド — MRR、成長率、希望売却価格、カテゴリ、テックスタック — は、クリーンな <script type="application/json"> ブロックには入っていません。これらは Next.js App Router の React Server Component フライト形式である self.__next_f.push(...) 呼び出しの中でストリーミングされています。技術的にはパース可能です(値はエスケープされた文字列として含まれています)が、この形式はドキュメント化されておらず、正確な Next.js のビルドに紐づいており、再デプロイをまたいだフィールド名の安定性は一切保証されません。今日動作する正規表現が、TrustMRR の次のデプロイ後には何も返さなくなることもあります — しかもエラーは出ず、単にフィールドが空になるだけです。
選択肢2: ノーコード・既製ツール
ビジュアルスクレイパー(Octoparse のようなポイント&クリック型、またはスプレッドシートインポート用のブラウザ拡張機能)は、ページが落ち着いた時点で本物の HTML テーブルになっているため、一回限りのエクスポート用にリーダーボードのテーブルをそれなりにうまく取得できます。定期実行するパイプラインにしようとすると、すぐに厄介になります。スタートアップごとの詳細フィールドはすべて、DIY パースが対処しなければならないのと同じ RSC ペイロード構造の中から見つけ出す必要があり、ほとんどのノーコードツールには組み込みの RSC フライトパーサーがありません。
選択肢3: 構造化された TrustMRR API
Crawlora のTrustMRR エンドポイントは、同じデータを正規化された JSON として返します — サイトマップのクロールも RSC ペイロードのパースも不要で、認証ヘッダーは1つだけです。
売上リーダーボード(MRR、または last_30_days_revenue、all_time_revenue、growth、traffic、revenue_per_visitor でランク付け):
curl "https://api.crawlora.net/api/v1/trustmrr/leaderboard?metric=mrr" \
-H "x-api-key: YOUR_API_KEY"
import requests
resp = requests.get(
"https://api.crawlora.net/api/v1/trustmrr/leaderboard",
params={"metric": "mrr"},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = resp.json()["data"]
実際のレスポンス(1件に絞って抜粋):
{
"code": 200,
"msg": "OK",
"data": {
"metric": "mrr",
"count": 100,
"entries": [
{
"rank": 1,
"name": "Stan",
"slug": "stan",
"url": "https://trustmrr.com/startup/stan",
"description": "Stan enables people to make living and work for themselves.",
"current_mrr": 3569654.22,
"current_total_revenue": 76627685.07,
"current_last_30_days_revenue": 3569654.22,
"on_sale": false,
"is_merchant_of_record": false,
"x_handle": "vitaliidodonov"
}
]
}
}
すべてのスタートアップを列挙(上記のサイトマップクロールに相当する構造化版です — ページネーション対応で、XML パースは不要です):
curl "https://api.crawlora.net/api/v1/trustmrr/startups?page=1&page_size=100" \
-H "x-api-key: YOUR_API_KEY"
次に、任意のスラッグの完全な検証済みプロフィールを取得します — 売上と MRR の履歴、成長率、希望売却価格とマーケットプレイスのステータス、テックスタック、マーケティングチャネル、そして TrustMRR の AI 生成サマリーです。
curl "https://api.crawlora.net/api/v1/trustmrr/startup/gumroad" \
-H "x-api-key: YOUR_API_KEY"
そしてマーケットプレイスのスナップショット — 最近出品された25件のスタートアップに加え、TrustMRR の鮮度を考慮したディールスコアによる現在のベストディール25件です。
curl "https://api.crawlora.net/api/v1/trustmrr/marketplace" \
-H "x-api-key: YOUR_API_KEY"
収集できるもの
- リーダーボード: 順位、名前、スラッグ、説明、現在の MRR、直近30日の売上、累計売上、売りに出されているかどうか、merchant-of-record ステータス、X ハンドル。
- スタートアッププロフィール: カテゴリ、希望売却価格(+履歴)、ブランディング、テックスタック、マーケティングチャネル、Ahrefs のドメインレーティング、AI 生成のビジネスサマリー。
- カテゴリ: TrustMRR が追跡するすべてのスタートアップ業種のスラッグ、ラベル、説明、キーワード。
- マーケットプレイス: 現在売りに出されている出品のアクティブなサブスクリプション数、希望売却価格、カテゴリ、国、顧客数、ディールスコア。
出典
関連情報
エンドポイントの完全な一覧はTrustMRR プラットフォームページをご覧ください。関連するスタートアップ・ディールデータについては、PitchBook のスクレイピング方法が VC/PE レベルの企業・投資家プロフィールをカバーしており、Product Hunt のスクレイピング方法は、同じインディープロダクトが売上リーダーボードに載る前にどこでローンチしているかをカバーしています。検証済みの中小企業の売上データがリサーチパイプラインにどう組み込まれるかについては、より広い代替データのユースケースをご覧ください。
収集を始める
コードを書く前に、プレイグラウンドで /trustmrr/* エンドポイントを試すか、直接ドキュメントに進んでください。スタートアップデータの全体像については、PitchBook のスクレイピング方法とProduct Hunt のスクレイピング方法もあわせてご覧ください。
how-to-scrape ガイドシリーズの一部です — 私たちがカバーするすべてのプラットフォームを1つのインデックスにまとめています。
よくある質問
TrustMRR に公開 API はありますか?
サードパーティ開発者向けのセルフサービス型 API はありません。TrustMRR 自身のサイトは内部 API で動いており、外部利用向けに公開・文書化された API はありません。そのため、サイトマップ+ページスクレイピング(DIY)か、構造化されたサードパーティ API を使うのが現実的な方法です。
TrustMRR をスクレイピングするのは合法ですか?
TrustMRR の robots.txt は幅広くクロールを許可しており、専用のスタートアップサイトマップも公開しています。本稿執筆時点で、利用規約にスクレイピングを明示的に禁止する条項は見当たりませんでしたが、常に現行の規約を自分で確認し、ログアウトした訪問者がすでに見ることのできる公開ティーザーデータのみを扱ってください。法的助言ではありません。
なぜ単純な requests.get() の DIY スクレイパーは TrustMRR で壊れるのですか?
完全に壊れるわけではありません — 初期 HTML は JavaScript の実行なしで実際に読み込まれます — しかし、構造化されたフィールド(MRR、成長率、希望売却価格、テックスタック)は、クリーンな JSON ブロックではなく、Next.js App Router の React Server Component フライトペイロード(self.__next_f.push(...) 呼び出し)の中でストリーミングされています。この形式はドキュメント化されておらず、正確な Next.js のビルドに紐づいているため、動作していたパーサーが再デプロイ後に静かに空のフィールドを返し始めることがあります。
TrustMRR の売上数値はどのように検証されていますか?
自己申告の数値ではなく、接続された決済プロバイダー(Stripe など)を通じて検証されています。この検証は TrustMRR のリーダーボードとマーケットプレイスの両ページで謳われており、典型的な自己申告型のインディーハッカー売上リストよりもこのデータセットが信頼できる主な理由です。
API 経由で TrustMRR の買収・マーケットプレイス出品情報を取得できますか?
はい — 専用のマーケットプレイスエンドポイントが、最近出品された25件のスタートアップに加え、TrustMRR 独自の鮮度を考慮したディールスコアによる現在のベストディール25件を返します。それぞれに希望売却価格、カテゴリ、アクティブなサブスクリプション数、顧客数が含まれます。
TrustMRR のすべてのスタートアップを列挙する最も速い方法は何ですか?
スラッグ、URL、最終更新日を直接 JSON として返すページネーション対応の構造化エンドポイントは、サイトマップの XML を自分でパースするより統合が速く、基盤となる発見の仕組み自体は同じです — XML パースのステップがないだけです。