Tony Wang5 分で読めますChrome Web Store のスクレイピング方法(2026年版 API & Python)
2026年に Chrome Web Store の拡張機能データ——検索、評価、レビュー、権限、プライバシー開示——をスクレイピングする方法。DIY、ノーコード、構造化 API の3通りを解説します。
2026年に Chrome Web Store をスクレイピングする最も手早い方法は、ストアのクライアントレンダリングされたページを自分でパースするのではなく、正規化された JSON を返す構造化 API を呼び出すことです。返ってくるのは、検索結果、リスト詳細、ユーザーレビュー、宣言された権限、プライバシー開示です。このデータには公開の開発者向け API がなく、Google の一般利用規約は自動アクセスを制限しています。このガイドでは3つのアプローチすべてを取り上げ、それぞれが何を返し、DIY がどこで破綻し、そして法律上の基本を解説します。
なぜ Chrome Web Store をスクレイピングするのか?
Chrome Web Store のリストと権限データは、次のような用途を支えます。
- 拡張機能マーケットのインテリジェンス — カテゴリのリーダー、急成長中の拡張機能、インストール数の推移を時系列で追跡できます。
- 競合・ASO リサーチ — カテゴリ内のリスト、キーワード、評価、レビュー増加速度を比較できます。
- セキュリティインベントリ — 広範なホストアクセス(
<all_urls>)を要求している拡張機能を監視し、MV2 から MV3 への移行を追跡し、バージョン間の権限変更にフラグを立てられます。 - 信頼性・プライバシーリサーチ — 拡張機能を推奨したりホワイトリストに入れたりする前に、拡張機能自身が宣言したデータ収集の開示を確認できます。
- パブリッシャー・ポートフォリオリサーチ — ある開発者アカウントが公開しているすべての拡張機能を把握できます。
Chrome Web Store をスクレイピングするのは合法か?
選択肢1: Python で DIY する(そしてなぜ破綻するか)
ストアのアイテムページはクライアントサイドでレンダリングされるため、DIY のスクレイパーはページに埋め込まれたデータやストアの内部エンドポイントに到達する必要があります。
import requests
resp = requests.get(
"https://chromewebstore.google.com/detail/cjpalhdlnbpafiamejdnhcphjbkeiagm",
headers={"User-Agent": "Mozilla/5.0 (compatible; research-bot/1.0)"},
)
# Rating, install count, and permissions live in an embedded JSON blob,
# not selectable markup — and /reviews and /privacy are separate,
# robots.txt-disallowed sub-pages you'd have to fetch individually
デモは動きますが、その後破綻します。
robots.txtが肝心な部分を明示的に除外している。 サイトマップはベースのアイテムページをカバーしていますが、/searchと各アイテムの/reviews・/privacyサブページは禁止されています——まさにマーケットインテリジェンスやセキュリティリサーチのユースケースが最も必要とするエンドポイントです。- 安定したマークアップがない。 評価、インストール数、権限は埋め込まれた JSON ブロブの中にあり、ストアのリデザインのたびに形が変わります。
- フルカタログの規模は現実的な大きさ。 ストア自体のサイトマップは30以上のシャードにまたがり、およそ25万以上の拡張機能をカバーしています。フルスイープは何もパースする前からレスポンスだけで数十ギガバイトになるため、単純なページごとのループはフル調査に対してスケールしません。
- 権限とプライバシーのデータは別々のリクエストが必要。 詳細、レビュー、権限、プライバシー開示は拡張機能1件につき4つの異なるフェッチであり、それぞれ形が異なります。
選択肢2: ノーコードツール
マーケットプレイスのスクレイパーアクターは個々の拡張機能の検索に存在し、単発の取得には向いていますが、フルカタログやセキュリティ監視のユースケースでは、ツールに関わらず4つのエンドポイントにまたがる同じアイテムごとのファンアウトが必要になります。
選択肢3: 構造化された Chrome Web Store API
繰り返し実行するワークフローには、Chrome Web Store スクレイピング API が正規化された JSON を返し、ページパースは不要です。拡張機能を検索するには次のようにします。
curl "https://api.crawlora.net/api/v1/chromewebstore/search?term=vpn" \
-H "x-api-key: $CRAWLORA_API_KEY"
検索結果の詳細、権限、プライバシー開示を Python で取得します。
import requests
h = {"x-api-key": "YOUR_API_KEY"}
base = "https://api.crawlora.net/api/v1/chromewebstore"
hits = requests.get(f"{base}/search", headers=h, params={"term": "ad blocker"}).json()["data"]["results"]
ext_id = hits[0]["id"]
item = requests.get(f"{base}/item", headers=h, params={"id": ext_id}).json()["data"]
permissions = requests.get(f"{base}/permissions", headers=h, params={"id": ext_id}).json()["data"]
privacy = requests.get(f"{base}/privacy", headers=h, params={"id": ext_id}).json()["data"]
reviews = requests.get(f"{base}/reviews", headers=h, params={"id": ext_id, "num": 20}).json()["data"]
検索レスポンスは正規化された JSON です(実際のフィールドはドキュメントで確認できます)。
{
"code": 200,
"msg": "OK",
"data": {
"query": "vpn",
"count": 1,
"results": [
{ "id": "majdfhpaihoncoakbjgbdhglocklcgno", "name": "Free VPN for Chrome - VPN Proxy VeePN", "rating": 4.5, "rating_count": 50285, "publisher": "veepn.com", "url": "https://chromewebstore.google.com/detail/majdfhpaihoncoakbjgbdhglocklcgno" }
]
}
}
権限は、広範なホスト権限を含め、拡張機能が宣言しているアクセス内容を返します。
{
"data": {
"id": "cjpalhdlnbpafiamejdnhcphjbkeiagm",
"manifest_version": 2,
"permissions": ["alarms", "contextMenus", "storage", "tabs", "webNavigation", "webRequest", "webRequestBlocking", "<all_urls>"]
}
}
そしてプライバシーエンドポイントは、開発者自身の開示——宣言しているデータカテゴリと、その利用に関する表明——を返します。
{
"data": {
"id": "kbfnbcaeplbcioakkpcpgfkobkghlhen",
"collects_data": true,
"data_collected": ["Personally identifiable information", "Personal communications", "Location", "User activity", "Website content"],
"declarations": ["Not being sold to third parties, outside of the approved use cases"]
}
}
1回のプルにつき拡張機能1件あたり1行を保存し、スケジュールを組んで再実行することで、評価・インストール数・権限・バージョンの変化を時系列で追跡しましょう。
収集できるもの
公開されている拡張機能データです。検索結果(id、名前、評価、評価数、パブリッシャー)、リスト詳細(説明、カテゴリ、開発者、サイズ、バージョン、更新日、インストール数、スクリーンショット、サポート/プライバシーリンク)、ユーザーレビュー(投稿者、評価、本文、バージョン、日付)、任意のものを含む宣言された権限とホスト権限、プライバシー開示(収集されるデータカテゴリ、開発者の表明)、さらにカテゴリ、キュレーションされたコレクション、トップチャート、パブリッシャープロフィール、関連アイテムの提案です。あくまで公開されているリストとレビューのデータのみです。
制約とよくある課題
robots.txtが search と reviews/privacy サブページを禁止している。 それらのパスを直接クロールするのではなく、構造化 API のために予算を確保しましょう。- 拡張機能1件につき4つの個別呼び出しが必要。 詳細、レビュー、権限、プライバシーはそれぞれ独自のフェッチが必要です。カテゴリ全体やフル調査をカバーする場合はファンアウトを計画しましょう。
- フルカタログの規模。 公開サイトマップは30以上のシャードとおよそ25万件の拡張機能にまたがります。フルスイープは1回のスクリプト実行ではなく、耐久性のある再開可能なクロールとして扱いましょう。
- 権限のヒューリスティックはセキュリティスコアではない。
<all_urls>や広範な権限セットはシグナルであって悪意の証拠ではありません。実際の方法論なしに派生ヒューリスティックを「マルウェア」と呼ばないでください。 - 公開データのみ。 これはリストのメタデータを返すものであり、拡張機能の実際のコードパッケージ(
.crxファイル)ではありません。それをダウンロードして解析するのは別の、はるかに重い取り組みであり、それ自体に固有のレビューが必要です。
どこで使われるか
- 拡張機能マーケットのインテリジェンス — カテゴリのリーダー、急成長中の拡張機能、放置された高インストール数の拡張機能。
- セキュリティインベントリ — MV2 から MV3 への移行の追跡、権限とホストアクセスの変化、プライバシー開示の変更。
- 競合・ASO リサーチ — カテゴリ内のキーワードと評価の比較。
出典
収集を始める
まずは無料でお試しください: 任意の公開 URL を無料ウェブスクレイパーに通すか、アンチボットチェッカーでサイトがボットをブロックするかどうかを確認できます。サインアップ不要です。
検索、アイテム、権限のエンドポイントをプレイグラウンドで試し、API ドキュメントでスキーマを確認し、料金をご覧ください。拡張機能はプロダクトの配信面の一つにすぎません。Google Play のスクレイピング方法とApp Store レビューのスクレイピング方法では、同じ「検索→詳細→レビュー」という形でモバイルアプリ側を取り上げています。あわせてウェブスクレイピング API の選び方とウェブスクレイピングは合法かもご覧ください。
よくある質問
拡張機能のメタデータを取得できる公式の Chrome Web Store API はありますか?
検索やリストデータ向けの公開の開発者向け API はありません。Google の一般利用規約は自動アクセスを制限しており、ストア自体の robots.txt は、ベースカタログ用のサイトマップを公開している一方で、/search と各アイテムの /reviews・/privacy サブページを直接クロールすることを禁止しています。
Chrome Web Store のスクレイピングは合法ですか?
公開されているリストの事実(名前、評価、インストール数、宣言された権限)には著作権が及びませんが、Google の利用規約は自動アクセスを制限しており、robots.txt は search と reviews/privacy サブページのクロールを特に禁止しています。レビュアーの名前と本文は GDPR/CCPA の下で個人データです。公開されている事実のフィールドを使い、レート制限を尊重してください。法的助言ではありません。
インストール前に拡張機能の権限を確認できますか?
はい。/chromewebstore/permissions は、広範な <all_urls> アクセスを含む拡張機能の宣言された権限とホスト権限、さらに manifest バージョン(MV2 か MV3 か)を返します。
拡張機能のプライバシー開示を確認できますか?
はい。/chromewebstore/privacy は、開発者自身が宣言したデータ収集カテゴリと利用に関する表明文——ストアのリストページに表示されるものと同じ開示内容——を返します。
Chrome Web Store にはいくつの拡張機能がありますか?
ストアの公開サイトマップは30以上のシャードにまたがり、およそ25万件の拡張機能をカバーしています。フル調査は1回のスクリプト実行ではなく、耐久性のある再開可能なクロールとして扱ってください。
拡張機能のレビューを取得できますか?
はい。/chromewebstore/reviews は、指定した拡張機能 id に対する個々のレビュー行(投稿者、評価、本文、バージョン、日付)をソート・ページネーション可能な形で返します。
ある開発者が公開しているものをすべて確認できますか?
はい。/chromewebstore/developer はパブリッシャーのプロフィールと、そのアカウントが公開している他のリストアイテムを返します。ポートフォリオ調査やパブリッシャーのリスク調査に役立ちます。