JA
ガイド

Googleマップのスクレイピング:検索結果の店舗情報を抽出する

名称、カテゴリ、住所、ウェブサイト、評価、口コミ数、営業時間。Googleマップの検索結果には、地域市場に関する豊富な情報が詰まっています。正しく収集する方法を紹介します。

この記事のポイント
  • 公式のGoogle Maps Platform APIでは、Googleマップに表示される順位は再現できません。収集する必要があります。
  • 各店舗は、順位、名称、カテゴリ、住所、ウェブサイト、評価、口コミ数、CIDとともに返されます。
  • 用途:都市ごとのローカルSEOの追跡、競合調査、市場調査。

Googleマップをスクレイピングするか、公式APIを使うか

まず解いておきたい誤解があります。公式のGoogle Maps Platform APIは、アプリ内で地図を表示したり、ルートを計算したり、住所をジオコーディングしたりするためのものです。その場所検索はビジネスを返しますが、特定の場所からGoogleマップで検索したときに検索ユーザーが見る順番では返しません。

Googleマップのスクレイピングとは、特定の場所からの検索(「レストラン」「水道修理」「ジム」)で返される店舗の一覧を、Googleが表示する順番で収集することです。ローカルSEOや市場調査に使われるのは、このデータです。

各店舗で取得できるデータ

フィールド内容
rank_type、rank_serp検索結果での店舗の順位
title店舗・ビジネス名
cid店舗のGoogle ID。長期間変わりません
typeカテゴリ。例:レストラン
address住所
websiteウェブサイト
rating、reviews5段階の平均評価と口コミ数
status_label、status_detail営業状況と、営業時間などの詳細
comment店舗情報に表示される抜粋
images店舗の画像

CIDは貴重です。名称や住所が変わっても、スナップショット間で同じ店舗を追跡できます。

APIが返すのは評価、口コミ数、表示される抜粋で、個々の口コミの全文は返しません。

位置ですべてが変わる

Googleマップの検索結果は、どこから検索するかで変わります。「水道修理」を市の中心部から検索するのと郊外から検索するのとでは、同じ店舗が同じ順番で返ることはありません。geolocationパラメータを使えば、任意の都市から、または任意でズームを付けた正確なGPS座標(43.7102,7.2620,16z)から検索できます。詳しくは地域別SERPで解説しています。

呼び出しの例

curl
curl -X POST 'https://api.semscraper.com/v1/serp' \
  -H 'Authorization: Bearer API_KEY' \
  -H 'Content-Type: application/json' \
  -d '[{"search_engine": "google_maps", "keyword": "ラーメン", "depth": 1, "location": "jp", "language": "ja", "geolocation": "Shibuya, Tokyo, Japan"}]'

Google検索と同じリクエストで、search_engineをgoogle_mapsに設定します。料金も同じで、深度1なら1,000検索あたり€0.30です。

3つの具体的な活用例

ローカルSEOを追跡する

自社店舗のキーワードごとの順位を、都市別に毎週記録します。順位が下がっている店舗は、競合が口コミを増やしているか、カテゴリの選び方が適切でないことがよくあります。

地域の競合を調査する

検索結果に表示される周辺のビジネスの評価、口コミ数、カテゴリを比較します。上位3店舗との口コミ数の差が、目指すべき目標になります。

市場を調査する

カテゴリと都市のリストを掛け合わせれば、表示されているビジネスを住所とウェブサイト付きで網羅的に把握できます。競合の密度、手薄なエリア、出店しているチェーンなどがわかります。

Googleマップか、ローカルパックか

通常のGoogle検索結果に数件の店舗が表示されるブロック、ローカルパックは、Googleマップの検索とは別物です。ローカルパックはGoogle検索APIで、評価、口コミ数、価格帯とともに取得できます。GoogleマップAPIは、マップ検索そのものの店舗一覧を返します。両者は補い合う関係で、ローカルパックはGoogle検索での露出を、マップは地図上での順位を計測します。

ご自身のキーワードで試してみましょう

1,000リクエストまで無料、クレジットカード登録は不要です。