Apify Google Maps Scraperの代替を探す:1,000件あたりの料金を比較
Apify Google Maps Scraperの料金は1,000スポットあたり$1.50〜$4.00です。実測では1,000スポットあたり$0.028、1,000件のレビューあたり$0.014でした。n8nでの設定手順も紹介します。

Apify Google Maps Scraperの料金は、Freeティアで1,000スポットあたり$4.00、月額$999のBusinessティアで$1.50です。2026年10月26日、EveryInfraへの1回のリクエストで、テキサス州オースティンの歯科医院50件を$0.001389で取得しました。1,000スポットあたり$0.0278です。これはBusinessの約54分の1、Enterprise限定の最安ティアであるDIAMOND($0.756)の約27分の1です。
レビューでも同じくらいの差があります。ApifyのGoogle Maps Reviews Scraperは1,000件のレビューあたり$0.15〜$0.60です。私たちは1回の呼び出しで100件のレビューを取得し、1,000件あたり$0.0139を支払いました。ただし、1回の呼び出しで返る行数がごく少ない場合、この差は縮まります。
たとえば、URLを指定して1件のスポットを取得する場合や、新着レビュー9件を毎日取得する場合です。こうした処理の料金はBusinessの約1/1.8〜1/1.9にとどまり、DIAMONDよりはわずかに高くなります。本記事では、22回の実際の呼び出し、10月26日のページネーション修正後に行った9回の追加呼び出し、Apifyの料金の生データを掲載します。あわせて、ページネーションと重複のテスト結果、双方のn8n設定も紹介します。
本記事でいう「Apify Google Maps Scraperの代替」とは、リクエストごとに課金されるデータAPIを指します。ApifyプラットフォームでGoogle Maps Actor(Apifyにおけるクラウドスクレイパーの呼称)を実行するのではなく、同じ種類の公開地図データを直接取得します。具体的には、キーワードと都市によるスポット検索、URLによる1件のスポット取得、1件のスポットのレビューをページ単位で取得する機能です。比較するのは次の4点だけです。
ここで比較するのは、1,000件あたりの価格と、それぞれが課金で数える単位です。無料枠、失敗時の課金、n8n・API・MCPでのセットアップ手順も含めています。当社はApifyに新規登録しておらず、そのActorも実行していません。そのため、データ品質や成功率は評価せず、公開されている料金エンドポイント、Storeページ、ドキュメントだけを使っています。レスポンスフィールドについては当社のものだけを説明します。
Apify Google Maps Scraperの料金:全イベントを1つの表に
まず、Apify側の課金方法を確認します。数値はすべてApifyの公開エンドポイントapi.apify.com/v2/acts/<actor>から取得したもので、アカウントなしで参照できます。そのpricingInfosフィールドには、各Actorの課金対象イベントとティアごとの価格が記載されています。シンガポール時間(SGT)2026-10-26の17:05に、以下の4つのActorを参照しました。Google Maps Scraper、Google Maps Reviews Scraper、Google Maps Extractor、Google Maps Email Extractorです。
現在のGoogle Maps Scraperの料金表は2026-06-30から適用されています。同じエンドポイントによると、累計ユーザー数は667,270、過去30日間のユーザー数は44,777で、最終更新は10月26日です。Reviews Scraperの料金表は2026-03-13から適用されており、このActorの累計ユーザー数は65,028です。各イベントには6段階の価格ティアがあります。
FREE、BRONZE、SILVER、GOLDは、Apifyのセルフサービス向けの4つのプラン(Free、Starter、Scale、Business)に対応しています。Actors in Storeのドキュメントには、各サブスクリプションプランに割引ティアが含まれると記載されています。pricing and costsのドキュメントには、PLATINUMとDIAMONDはEnterprise顧客専用と記載されています。
| イベント(1,000件あたり) | Free | Starter | Scale | Business | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
| スポット取得(基本) | $4.00 | $3.00 | $2.00 | $1.50 | $1.26 | $0.756 |
| アドオン:カテゴリフィルターの適用 | $1.00 | $1.00 | $0.75 | $0.525 | $0.315 | $0.189 |
| アドオン:スポット詳細(URLまたはPlace IDを入力した場合は常に課金) | $2.00 | $2.00 | $1.50 | $1.05 | $0.63 | $0.378 |
| アドオン:Webサイトから取得する企業連絡先 | $2.00 | $2.00 | $1.50 | $1.05 | $0.63 | $0.378 |
| アドオン:レビュー1件ごと | $0.50 | $0.50 | $0.37 | $0.26 | $0.1575 | $0.0945 |
| アドオン:画像1枚ごと | $0.50 | $0.50 | $0.37 | $0.26 | $0.1575 | $0.0945 |
| アドオン:ビジネスリード(1件ごと) | $100 | $5.00 | $5.00 | $4.00 | $3.00 | $3.00 |
| アドオン:ソーシャルプロフィールのエンリッチメント(1件ごと) | $100 | $8.00 | $7.00 | $6.00 | $4.00 | $3.00 |
| アドオン:AI競合分析(1スポットごと) | $25 | $20 | $18 | $16 | $15 | $13 |
| Reviews Scraper:レビュー1件ごと | $0.60 | $0.45 | $0.40 | $0.30 | $0.20 | $0.15 |
この表には見落としやすい点が3つあります。第1に、URLやPlace IDを直接指定すると、Apifyはplace detailsアドオンも課金します。そのStoreページには、この入力では「追加で課金される(will be charged extra)」と書かれています。そのため、URLで1件の場所を取得すると、Businessでは$1.50に$1.05が加わり、1,000件あたり$2.55になります。第2に、ビジネスリード、メールチェック、ソーシャルプロフィールは、Freeではそれぞれ$0.10かかります。
これは有料ティアの価格の12〜25倍で、Storeページ自体にもFreeではソーシャルエンリッチメントが「大幅に高い」と書かれています。3つ目に、実行ごとにapify-actor-startイベントも課金されます。pay-per-eventのドキュメントによると、デフォルトは$0.00005で、メモリが1GB増えるごとにもう1回分課金されます。1回の実行ではわずかな金額ですが、1つのジョブを都市ごとの小さな実行に分けて毎日数十回実行すると積み重なります。

アドオンを有効にすると、1,000スポットあたりの価格は数倍に上がります。次のグラフでは、よく使われる5つのイベント(基本のスポット取得、詳細、フィルター、連絡先、1スポットあたり10件のレビュー)を有効にしています。Freeは$4.00から$14.00に、Businessは$1.50から$6.72に、DIAMONDは$0.756から$2.65に上がります。アウトバウンド用のリストを作成しているRedditユーザーも、同じ範囲の請求額を投稿しています。
このユーザーによると、Google Maps Actorは基本フィールドのみで1,000件あたり$4、メールとソーシャルプロフィールを含めると1,000件あたり$6かかったとのことです(投稿)。なお、この投稿者はデスクトップツールを販売しており、Apifyと自社製品を比較しています。私たちは投稿者の結論を採用していません。参照しているのは投稿されたApifyの2つの価格だけで、公開エンドポイントのFreeティアと一致しています。
EveryInfraの料金はシンプルですが、そのぶん柔軟性は劣ります。GET /api/v1/social/catalogのカタログでは、Google Mapsの3つのアクションgoogle_maps_reviews/search、google_maps_reviews/profile、google_maps_reviews/reviewsがいずれも1リクエストあたり$0.001389です。これは料金ページのStandardティアで、1,000リクエストあたり$1.39です。1件でも50件でも、1リクエストの料金は変わりません。
searchは1回の呼び出しで最大50件のスポット(カタログのmax_limit)を、reviewsは最大100件のレビューを返します。アドオンはありません。電話番号、Webサイト、評価、レビュー数、営業時間は最初からレスポンスに含まれています。一方、Webサイト上のメールアドレス、ソーシャルプロフィール、混雑する時間帯など、レスポンスに含まれないフィールドもあります。これらは提供しておらず、追加購入もできません。
同じ1,000件で比べる:Apifyの3つのティアとEveryInfraの実測値
これが本記事のメインの比較です。Apifyの列は公開価格を使用しています。EveryInfraの列は同日に実際に行った呼び出しの結果で、支払額を返された行数で割り、1,000を掛けた値です。行数はlimitではなく、返された配列の長さから数えました。
比率の判定基準はテスト前に決めました。比率が2以上なら「安い」、1以上2未満なら「同程度」、1未満なら「Apifyのほうが安い」とします。表には、月額$999の料金を支払ったうえでのセルフサービス最安価格であるBusinessと、全6段階のうち最安ですがEnterprise契約が必要なDIAMONDを示しています。
| データ | Apifyでの取得方法 | Apify Free | Apify Business | Apify DIAMOND | EveryInfraのテスト(アクション、1回あたりの行数) | 1,000件あたりの実測値 | Businessとの比較 | DIAMONDとの比較 |
|---|---|---|---|---|---|---|---|---|
| スポット検索 | Google Maps Scraper(基本) | $4.00 | $1.50 | $0.756 | google_maps_reviews/search、50 | $0.0278 | 約54倍安い | 約27倍安い |
| レビュー | Reviews Scraper | $0.60 | $0.30 | $0.15 | google_maps_reviews/reviews、100 | $0.0139 | 約22倍安い | 約11倍安い |
| スポット情報付きのレビュー | Google Maps Scraperのレビューアドオン | $0.50 | $0.26 | $0.0945 | 同上、100 | $0.0139 | 約19倍安い | 約6.8倍安い |
| 新着レビューのみ | Reviews Scraper | $0.60 | $0.30 | $0.15 | google_maps_reviews/reviews、since以降の9件 | $0.1543 | 同程度(1.9倍) | Apifyのほうが約3%安い |
| URLで1件のスポットを取得 | 基本料金+詳細アドオン | $6.00 | $2.55 | $1.134 | google_maps_reviews/profile、1 | $1.389 | 同程度(1.8倍) | Apifyのほうが約18%安い |
最初の3行の差は課金単位から生じています。ApifyのGoogle Maps Actorはイベントごとに課金します。料金ページによると、ほとんどのActorはイベント課金(pay per event)を採用しており、1件の結果を返すといったイベントごとに料金が発生します。つまり、1,000件の場所は1,000イベントになります。
当社はリクエストごとに課金するため、場所が50件返っても料金は1回分で、1件あたり$0.0000278です。最後の2行が異なるのは、これらのジョブでは性質上、1回の呼び出しで返る件数がごく少ないためです。場所の照会では1件が返り、新着口コミを日次で取得したテストでは9件が返りました。この場合、リクエスト単位の料金は実質的に件数単位の料金と同じになり、比較は単価だけで決まります。
この2行は、比較の公平さのためだけでなく、実際の選択にも関わります。たとえば、既知の5,000か所を毎日更新するのが主なジョブだとします。当社の料金では1日$6.95です。Apifyのイベント料金はBusinessで$12.75、DIAMONDで$5.67です。大量検索に比べると、差はずっと小さくなります。
Apify Google Maps Scraperは無料で使える?$5でできること
「apify google maps scraper free」は、このテーマで最もよく表示される検索候補の1つです。正確な答えは次のとおりです。Apifyにはクレジットカード不要のFreeプランがあり、Storeのどのアクターにも使える$5分の前払い利用枠が毎月付与されます。料金ページによると、Freeアカウントは$5を使い切ると次の請求サイクルまでブロックされます。
また、どのプランでも未使用の前払い利用枠は繰り越されないと記載されています。Google Maps ExtractorのStoreページには具体的な数値も示されており、Freeプランでは$5で1,000件のスポットを取得できますが、アドオンを使う場合は取得件数が少なくなります。これは、公開エンドポイントで確認できるExtractorのFreeプラン価格(1,000件あたり$5.00)と一致しており、外部情報との照合にも役立ちます。

同じ方法で、よくあるジョブについて$5を取得件数に換算しました。Google Maps Scraperで基本フィールドのみなら1,250件のスポットを取得できます。詳細情報付きでは833件、詳細情報とフィルター付きでは714件です。さらに各スポットでレビューを10件ずつ取得すると、取得できるスポットは555件のみです。Reviews Scraperでは8,333件のレビューを取得できます。前述のRedditユーザーは、$5分の無料クレジットが「午前中だけで」なくなったと書いており、これらの数値と合致します。
EveryInfra側について、2点を明確にしておきます。まず、当社は毎月のクレジットを付与していません。料金ページにあるとおり、GitHubでeveryinfra/everyinfra-agent-pluginsにスターを付け、新規登録後にコンソールで$1分のクレジットを申請できます。有効期間は24時間で、約720回のデータAPI呼び出しに使えます。通常の新規登録ではクレジットは付与されません。最低チャージ額は$10(約7,199回分)で、チャージ残高に有効期限はありません。
第2に、チャートのEveryInfraの棒は上限値であり、保証値ではありません。$5で3,599リクエストを購入できます。179,950件の場所や359,900件の口コミが得られるのは、すべての呼び出しが場所50件または口コミ100件をフルに返した場合だけです。実際には、次のセクションで示すとおり、1つの検索クエリで得られるのは最大120件で、place_idで重複を除くとさらに数件減ります。より多くの場所を得るには異なるクエリや都市を増やす必要があり、類義語では重複が多く出ます。また、口コミの呼び出しが100件を返すのは、口コミが100件以上ある場所に限られます。
| 無料利用と最低利用額 | Apify | EveryInfra |
|---|---|---|
| 無料での利用 | Freeプラン:毎月$5分まで利用可。使い切ると翌月まで利用不可 | GitHubスター:$1(24時間有効)、通常の新規登録では付与なし |
| 有料利用の最低額 | Starter:月額$19($19分の利用枠を含む)、超過分は次回の請求に加算 | 最低$10を1回チャージ、月額料金なし |
| 未使用分 | 請求サイクル終了時に失効 | 使い切るまで残る |
| 上限到達後 | Freeプランでは利用停止、有料プランでは超過分を支払い | 残高がなくなるとリクエストは失敗、マイナス残高なし |
| 同時実行数とレート制限 | Freeプラン:最大5件の同時実行 | デフォルトでアカウントあたり毎分60回(全キーで共有)。累計チャージ額が$50、$150、$750に達すると、それぞれ毎分180回、600回、1,800回 |
月額請求:プラン料金が利用額を上回ることが多い
単価が安くても、それは請求額の一部にすぎません。Apifyでは、プラン料金は前払いの利用枠です。そのため、実際の月額コストはプラン料金とその月の利用額のうち大きいほうになります。よくある規模として、月に10,000件のスポットと100,000件のレビュー(スポットあたり約10件)を例にします。各プランの価格で計算すると、利用額はStarterで$75、Scaleで$60、Businessで$45です。
しかし、Scaleは月額$199、Businessは月額$999で、プラン料金の未使用分は失効します。そのため、実際のコストは$75、$199、$999になります。利用額が最も低いプランの請求額が最も高くなるわけです。Freeプランは$5の上限に達するとそれ以上利用できないため、ここでは除外しています。
同じ処理をEveryInfraで行うと$1.67です。10,000件のスポットを1回50件で取得するには、searchの呼び出しが200回必要です。100,000件のレビューを1回100件で取得するには、reviewsの呼び出しが1,000回必要です。合計1,200リクエストで、1リクエストあたり$0.001389です。これは最良のケースで、2つの条件が必要です。
1つ目の条件は、200回の検索が、互いに異なる200通りのキーワードと都市の組み合わせであり、各組み合わせから50件の新しいスポットが返されることです。後述のテストでは類義語による重複率が高いため、実際にはより多くの呼び出しが必要です。2つ目の条件は、1回の呼び出しで100件のレビューを取得できるように、各スポットに100件以上のレビューがあることです。テストで最も重複率が高かったケースでは、2つ目の類義語で得られた新しいスポットは5件だけでした。それでも、新しいスポット1,000件のコストは$0.278で、Apify Businessの$1.50の約5分の1です。
| 月10,000件のスポット+100,000件のレビュー | 利用額(イベント料金) | プラン料金 | 実際のコスト |
|---|---|---|---|
| Apify Starter | $75.00 | $19 | $75.00($19+超過分$56) |
| Apify Scale | $60.00 | $199 | $199.00 |
| Apify Business | $45.00 | $999 | $999.00 |
| Apify DIAMOND(Enterprise) | $22.56 | 契約による(公開ページには記載なし) | 未確認 |
| EveryInfra(実測レート) | $1.67 | none | $1.67 |
自分で試算:2つの式と1つの例
次の2つの式にご自身の数値を当てはめて試算できます。Apifyの場合、月間のイベント料金は「スポット数 ×(基本価格 + 有効にした各アドオンの価格)+ レビュー件数 × レビュー単価 + 実行回数 × 開始料金」です。実際のコストは、この合計とプラン料金のうち大きいほうになります。EveryInfraの場合、コストは「(検索の呼び出し回数 + プロフィールの呼び出し回数 + レビューの呼び出し回数)× $0.001389」です。検索の呼び出し回数は、必要な新規スポット数を、1回の呼び出しで得られる新規スポット数で割った値が目安です。
レビューの呼び出し回数は、スポットあたりのレビュー件数を100で割って切り上げ、スポット数を掛けた値が目安です。どちらの式でも、難しいのは「1回の呼び出しで取得できる件数」です。Apifyではアドオンによって変わり、EveryInfraでは重複を除いた後に残る新規スポット数によって変わります。
地域のマーケティング代理店の例を見てみます。30都市と3カテゴリを対象とし、組み合わせごとに100件のスポットが必要で、毎月スポットごとに最新20件のレビューを取得します。合計で9,000件のスポットと180,000件のレビューです。Apify Businessでは、スポットが9,000 × $1.50 = $13.50、レビューが180,000 × $0.30 = $54.00です。合計$67.50はプラン料金$999を下回るため、実際のコストは$999です。Starterでは、イベント料金が9,000 × $3.00 + 180,000 × $0.45 = $108で、プラン料金$19を上回るため、実際のコストは$108です。
EveryInfraでは、各組み合わせで100件を得るにはsearchを2回呼び出す必要があります(修正後の再確認では、最初の2ページに一意な場所が92〜100件ありました)。90組では合計180回です。各場所について口コミ20件を得るにはreviewsを1回呼び出す必要があり、合計9,000回になります。総計は9,180回×$0.001389=$12.75です。評価が4未満の場所だけ口コミを取得すれば、口コミの呼び出しは大幅に減ります。
この例では、EveryInfraのコストはApify Starterの約8分の1です。これは、各組み合わせから実際に100件の一意なスポットが返されることを前提としています。そうでない場合、1回追加で呼び出して3ページ目を取得すると、さらに20件追加されます。対象カテゴリが限定的な場合や町が小さい場合は、同じ呼び出し回数でも返されるスポット数が少なくなります。
| 30都市×3カテゴリ、各組み合わせ100スポット、1スポットあたり20件のレビュー | スポット | レビュー | イベント料金 | 実際の月額コスト |
|---|---|---|---|---|
| Apify Business | 9,000 × $1.50 = $13.50 | 180,000 × $0.30 = $54.00 | $67.50 | $999(プラン料金) |
| Apify Starter | 9,000 × $3.00 = $27.00 | 180,000 × $0.45 = $81.00 | $108.00 | $108 |
| EveryInfra | 180回の呼び出し | 9,000回の呼び出し | 9,180 × $0.001389 | $12.75 |
テスト1:スポット検索とページネーション(オースティンの歯科医院)
英語版では、テキサス州オースティンをメインのサンプルとし、シンガポールとメキシコシティで検証しています。歯科医院はレビュー数が多く競争も激しいため、ローカルのリードリスト作成に適したカテゴリです。オースティンへの最初のリクエストは、シンガポール時間17:15:52(オースティン時間午前4:15)に実行しました。
google_maps_reviews/searchを使い、キーワード「dentist」、ロケーション「Austin, TX」、国「us」、limit 50で実行しました。12.5秒で50件のスポットが返され、コストは$0.001389でした。リクエストは以下のとおりです。$EVERYINFRA_API_KEYはご自身のキーに置き換えてください。
curl -s https://api.everyinfra.com/api/v1/social \
-H "Authorization: Bearer $EVERYINFRA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"google_maps_reviews","action":"search",
"params":{"keyword":"dentist","location":"Austin, TX","country":"us","limit":50}}'
# Response: results (50 places), next_page_token, pagination.has_more = true, billing.charged_usd = 0.0013892ページ目で、まず知っておくべき制限が明らかになりました。シンガポールで、1ページ目のnext_page_tokenを、他のパラメータは同じまま送信しました。SGT 17:09:40にエラーコードasync_requiredのHTTP 422が返され、課金はありませんでした。理由はメッセージに示されています。
同期呼び出しで取得できるのは先頭から60件目までですが、2ページ目は51〜100件目を要求します。リクエストボディに"mode":"async"を追加してjob_idを受け取り、GET /api/v1/jobs/{job_id}をポーリングしてください。カタログのsearchのpaginationにも、sync_max_rows: 60とmax_rows: 120が記載されています。

2ページ目を非同期モードで再送信すると、すぐにjob_id付きの202が返されました。この呼び出しのコストは$0.001389です。オースティンでは、ジョブはSGT 17:16:26に送信され、44秒後に50件のスポットを取得して完了しました。pagination.stop_reasonはdepth_limitで、has_moreはfalseになりました。
つまり、10月26日19:53 SGTのページング修正前は、1ページ50件のクエリでは、2ページ目の100件で停止していました。カタログの上限である120件には届いていません。シンガポールとメキシコシティでも同じ結果で、2ページ目の100件でdepth_limitにより停止しました。3都市とも、2ページ間でplace_idの重複はありませんでした。
修正後、同じ3つのクエリを再実行しました。オースティンでは、1ページ目を20:03:49(SGT)に送信し、15.0秒で50件が返りました。2ページ目は20:04:04に非同期モードで送信し、約44秒後に50件で完了しました。このときhas_moreはまだtrueでした。3ページ目は20:04:48に送信し、約42秒後に20件で完了しました。stop_reasonはdepth_limitで、レスポンスにnext_page_tokenはありませんでした。3リクエストで120件、費用は$0.004167です。シンガポール(20:01〜20:03)とメキシコシティ(20:03〜20:06)でも、50件、50件、20件でした。
1つ注意が必要です。各ページは最初から改めて取得され、順序が変わることがあるため、ページ間で重複が生じることがあります。「1クエリあたり120件」は、place_idで重複を除いたあとの数で見積もってください。
| 修正後の再確認 | 3ページの行数 | 重複を除いた場所数 | 1ページ目と2ページ目の重複 | ユニークなスポット1,000件あたり(USD) |
|---|---|---|---|---|
| テキサス州オースティン、dentist | 120 | 119 | 1 | $0.0350 |
| シンガポール、dentist | 120 | 120 | 0 | $0.0347 |
| メキシコシティ、dentista | 120 | 112 | 8 | $0.0372 |
| 検索(SGT) | ページ | モード | 件数 | 停止理由 | 課金額 |
|---|---|---|---|---|---|
| dentist、テキサス州オースティン(17:15:52) | 1 | sync | 50 | 次ページあり | $0.001389 |
| 同上、2ページ目(17:16:26) | 2 | 非同期、44秒 | 50 | depth_limit(修正前) | $0.001389 |
| dentist、シンガポール(17:09:23) | 1 | sync | 50 | 次ページあり | $0.001389 |
| 同上、2ページ目(17:09:40) | 2 | sync | 422 async_required | — | $0 |
| 同上、2ページ目(17:09:49) | 2 | 非同期、42秒 | 50 | depth_limit(修正前) | $0.001389 |
| dentista、メキシコシティ(17:17:38/17:18:13) | 1–2 | 同期+非同期 | 50 + 50 | depth_limit(修正前) | $0.002778 |
| dentist、テキサス州オースティン(20:03:49〜、修正後) | 1–3 | 同期+非同期 | 50 + 50 + 20、ユニーク119件 | 3ページ目:depth_limit | $0.004167 |
| dentist、シンガポール(20:01:41〜、修正後) | 1–3 | 同期+非同期 | 50 + 50 + 20件、重複を除いて120件 | 3ページ目:depth_limit | $0.004167 |
| dentista、メキシコシティ(修正後の20:03:49以降) | 1–3 | 同期+非同期 | 50 + 50 + 20件、重複を除いて112件 | 3ページ目:depth_limit | $0.004167 |
速度についても触れておきます。今回のテストでは、同期のsearch呼び出しに9〜16秒かかりました。17:09:23 SGTのシンガポールを対象とした呼び出しは9.1秒、17:11:03 SGTの中国語キーワードを使った呼び出しは16.0秒でした。非同期の2ページ目のジョブは、送信から完了まで42〜44秒でした。修正後の再確認では、2ページ目と3ページ目の非同期ジョブ6件に約42〜69秒かかりました。ポーリング間隔は8秒だったため、これらの時間には最大8秒の誤差がある可能性があります。
n8nでは、HTTP Requestのタイムアウトを60秒以上に設定し、非同期ジョブは約10秒ごとにポーリングしてください。Apifyの実行時間は、対象エリア、アドオン、メモリによって変わります。今回はApifyを実行していないため、数値は記載していません。
この深さの制限は当社だけのものではありません。Google自身のText Search (New)のドキュメントには、pageSizeは1ページあたり最大20件と書かれています。また、全ページを合わせても最大60件しか返らず、「この制限は変更される可能性がある」とも記載されています。このページの最終更新日は2026-10-23です。
ApifyのGoogle Maps Scraperのページによると、検索語だけを指定して場所を指定しない場合、1回の実行で返る場所は最大120件です。これは、地図画面を1つ開いて最後までスクロールするためです。それ以上取得するにはエリアを指定します。するとActorがそのエリアを多数の地図画面に分割します。
修正後、当社の上限も1クエリあたり120件で、place_idで重複を除くと数件少なくなります。つまり3つのツールはいずれも、1回の検索で数十〜100件程度という同じ制約を抱えています。違いは、誰が範囲を分割するかです。ApifyはActorの内部で分割し、1回の実行で都市全体、さらには国全体をカバーできます。当社のAPIやGoogleのAPIでは、地区、郵便番号、より絞り込んだ検索語でユーザー自身が分割します。
データには2つのクリーンアップ手順が必要です。シンガポールでは、英語と中国語の両方の検索で、最初の結果が「Chan Jong Dr」でした。住所が名前と同じで、評価も電話番号もないため、クリニックではなく道路のようです。メキシコシティでは、100件のうち1件が評価のない個人の歯科医でした。
そのため、検索後の最初の手順は、ratingまたはreview_countが空の結果を除外することです。フィールド別に見ると、オースティンでは100件すべてにphone、website、rating、review_countがありました。シンガポールでは100件中99件にあり、メキシコシティではwebsiteがあるのは100件中83件だけでした。3都市とも、このカテゴリではpriceとdescriptionが空で、permanently_closedがtrueの結果はありませんでした。
テスト2:place_idによる重複除去と、類義語で実際に増える件数
地域の見込み客リストを作る人は、より多くの場所を見つけるために複数の類義語で検索することがよくあります。私たちは3都市でそれぞれ1セットずつ実行しました。まずdentist(またはdentista)で2ページ分検索し、100件を取得しました(17:09〜17:18 SGT。ページング修正前で、2ページ目が最終ページだった時点)。次にdental clinic(またはclínica dental)で検索し、50件を取得しました。シンガポールでは、dental clinicに当たる中国語でも検索しました。その後、すべての結果をplace_idで比較しました。
オースティンでは、dental clinicで得た50件のうち44件がすでにdentistの結果に含まれており、新規は6件だけでした。シンガポールでは重複が41件、新規が9件で、中国語の検索語では重複45件、新規5件でした。メキシコシティでは重複42件、新規8件でした。シンガポールの3つの検索語を合わせると、4リクエストで200件が返り、重複を除くと一意な場所は112件でした。
| 都市 | 1つ目のクエリ(2ページ) | 2つ目のクエリ(50件) | 重複 | 新規 | 新規1,000件あたりのコスト |
|---|---|---|---|---|---|
| オースティン(テキサス州) | dentist、100件 | dental clinic | 44 | 6 | $0.232 |
| シンガポール | dentist、100件 | dental clinic | 41 | 9 | $0.154 |
| シンガポール | dentist、100件 | 歯科医院を表す中国語 | 45 | 5 | $0.278 |
| メキシコシティ | dentista、100件 | clínica dental | 42 | 8 | $0.174 |
これらの数値から2つのことがわかります。1つ目に、類義語で増える件数はわずかです。今回の4つのサンプルでは、2つ目の検索語で増えた新しい場所は5〜9件だけで、重複率は82%〜90%でした。サンプルは3都市の1カテゴリのみなので、すべてのカテゴリで同じ傾向になるとは言えません。
ただ、類義語を重ねてもリストはあまり増えないことを示すには十分です。ApifyのStoreページも同じアドバイスをしています。restaurant、bar、cafeのように、意味が異なり重なりが少ない検索語をいくつか使うよう勧めています。また、restaurant、restaurants、chinese restaurantのようなほぼ重複した長いリストは「結果を増やすことなく、実行時間を延ばすだけ」だと書いています。
第2に、重複によって新しい場所1件あたりの実質コストが変わります。当社の場合、2つ目の検索語のリクエストにも$0.001389かかります。オースティンでは新規が6件だったので、新しい場所1,000件あたり$0.232です。最悪のケースであるシンガポールの中国語の検索語では新規が5件で、1,000件あたり$0.278です。それでもApify Businessの$1.50より5〜10倍安いものの、当社のフルページ料金$0.0278の約10倍になります。予算は、返ってきた件数ではなく一意な場所の数で見積もってください。
Apifyについては、Storeページによると、同じ実行に検索語を追加しても結果は増えないようです。今回は実行していないため、1回の実行内で重複した場所が二重に課金されるかどうかはわかりません。確実なケースが1つあります。実行をまたぐと、同じ場所が再びカウントされます。同じ検索を毎週実行すると、実行のたびに同じ場所に対して再び「place scraped」の料金を支払うことになります。

重複除去そのものにはplace_idで十分です。GoogleのPlace IDのドキュメントによると、Place IDはGoogle Maps Platform利用規約(第3.2.3条(b))のキャッシュ制限の対象外です。そのため保存できます。また、1つの場所が複数のIDを持つことがあり、IDは時間とともに変わる可能性があるとも書かれています。古いIDはNOT_FOUNDを返すことがあるため、Googleは12か月より古いIDを更新するよう勧めています。
当社のPlace IDによる重複除去の記事では、自社のビジネスキーを持ち、それを外部のIDに対応付ける方法を説明しています。今回の4つのテストでは、各place_idは検索語が違っても同じ名前と住所で返ってきました。2つのIDを持つ場所は見つかりませんでしたが、112件ではその可能性を否定するには少なすぎます。
テスト3:レビュー1,868件のクリニックにおけるレビュー取得のページネーション
レビューはGoogle Mapsデータの中で最もコストがかかり、取得漏れも最も起きやすい部分です。r/apifyでは、あるチームがGoogle Mapsレビューのスクレイピングに1,000件あたり$35かかる理由を質問していました(投稿)。このスレッドで行き着いたのは、別のベンダーへの乗り換えではなく、1つの方法でした。コストを、ブラウザの計算資源、プロキシのトラフィック、場所あたりのリクエスト数、場所あたりのレビュー数に分解するという方法です。
次に、各場所のレビュー数と照らし合わせて、取得漏れがないかを確認します。レビュー数の多い場所で通知なく取得を打ち切る処理は、安く済んでいるのではなく、単に不完全な結果を返しているだけです。この方法を1つの場所で試しました。
サンプルは、シンガポールの検索で口コミが最も多いクリニックの1つです。17:15:10(SGT)時点で、google_maps_reviews/profileは口コミ1,868件、評価4.9、写真344枚を示していました。口コミは新しい順に、1ページ100件で取得しました。1ページ目と2ページ目は同期モードで、17:11:28と17:12:02(SGT)に返りました。3ページ目からは同期の深さを超えます。カタログでは、reviewsの同期の深さは200件です。
そこで、3ページ目と4ページ目は17:12:23と17:13:47 SGTに非同期モードで送信し、それぞれ77秒と69秒で完了しました。4ページ目はdepth_limitで停止しました。4ページで400件のレビューを取得し、idで重複除去しても400件のままだったため、ページ間の重複はありませんでした。4回の呼び出しのコストは$0.005556で、レビュー1,000件あたり$0.0139です。
この400件は1,868件のうちの21%にすぎません。期間は2025年2月22日から2026年10月24日までの約20か月です。これはEveryInfra側の固定の上限で、カタログではreviewsのpagination.max_rowsが400です。ブランド調査や分類器の学習のために、ある場所のレビュー履歴がすべて必要な場合もあるでしょう。このクリニックについて当社が提供できるのは、直近20か月分だけです。
ApifyのGoogle Maps Scraperのページによると、各場所のアイテムには最大5,000件のレビューが入り、それ以降は新しいアイテムに続きます。同社のReviews Scraperでは、設定した件数だけ取得できます。これはApifyのほうが適していることがはっきりしている例の1つで、後ほど改めて挙げます。
400件のレビューの中身は重要です。中身によって、レビューを何に使えるかが決まるからです。357件にはテキストがあり、43件は星評価のみでした。396件にオーナーの返信があり、ほぼ99%に達します。星5が388件、星4が8件、星1が4件で、星2と星3は0件でした。評価がここまで集中している場合は、感情分析を行う前にサンプルの偏りを検討してください。
オースティンのサンプルはまったく異なります。Swish Dental - Domainはレビュー1,657件、評価4.6です。17:17:16 SGTにsort=relevanceで100件のレビューを取得しました。星1が24件、星5が62件、オーナーの返信が65件で、日付は2022年12月から2026年9月まででした。
関連度順では、否定的なレビューや古い長文のレビューが先に表示されます。新しい順では直近数か月分しか表示されません。2つの並び順からは、異なる2つのサンプルが得られます。
日次や週次のモニタリングでは、通常は新しい口コミだけを取得します。17:19:27(SGT)に、同じシンガポールのクリニックについてsinceを2026-10-01に設定して取得しました。返ってきたのは9件で、最も古いものは10月6日、stop_reasonはend_of_list、費用は$0.001389でした。件数で換算すると1,000件あたり$0.1543で、BusinessのReviews Scraperの$0.30より1.9倍安くなります。
当社の基準では「近い」にとどまり、$0.15のDIAMONDより3%高くなります。1,000か所を監視し、それぞれに毎週数件の新しいレビューが付く場合、料金を左右するのはリクエスト数です。1,000回の呼び出しで週$1.39となり、返ってくる行数にはほとんど左右されません。
| レビューのサンプル(SGT) | 場所 | ソート | 件数 | 確認した内容 | 課金額 |
|---|---|---|---|---|---|
| 17:11〜17:14、4ページ | シンガポールのクリニック、レビュー1,868件 | newest | 400(4ページ目でdepth_limit) | カバー率21%、20か月分、オーナーの返信396件 | $0.005556 |
| 17:19:27 | same | 新しい順、10月1日以降 | 9(end_of_listに到達) | 新着レビューを1回の呼び出しで取得 | $0.001389 |
| 17:17:16 | オースティンのクリニック、レビュー1,657件 | relevance | 100 | 星1が24件、星5が62件 | $0.001389 |
| 17:19:02 | メキシコシティのクリニック、レビュー863件 | 新しい順、lang=es | 100 | オーナーの返信84件、6月〜10月 | $0.001389 |
テスト4:URLで1か所を取得、差が最も小さいケース
google_maps_reviews/profileは、1つの地図URLに対して1件の場所を返します。17:15:10(SGT)に上記のクリニックを照会したところ、11.9秒で返りました。searchよりフィールドが多く、地区、plus_code、7日分の営業時間、写真の数、一時休業フラグが含まれます。このジョブは1回の呼び出しで1件を返すため、1,000件の場所で$1.389になります。
Apifyで同じことを行うには、URL入力のGoogle Maps Scraperを使い、基本料金に詳細情報のアドオンが加わります。Businessプランでは1,000件あたり$2.55なので、当社のほうが1.8倍安くなりますが、当社の基準では「近い」にとどまります。DIAMONDでは$1.134となり、Apifyのほうが18%安くなります。Freeでは$6.00で、当社のほうが4.3倍安くなります。
ここでの結論は明快です。すでにPlace IDやURLのリストがあり、評価、レビュー数、営業時間だけを更新する場合、当社の価格面の優位は小さく、Apifyのプランによって変わります。差が大きいのは、1回の呼び出しで多くの行を返すジョブです。具体的には、都市内の場所をゼロから検索する場合と、レビューを一括取得する場合です。
また、GoogleのPlace IDのドキュメントによると、IDフィールドだけの更新はPlace Details IDs Only SKUに該当し、無料です。IDがまだ有効かを確認するだけなら、その工程にはGoogleのAPIを使えば、どこにも料金を払わずに済みます。
Google Places API自体の料金
多くの人は、まずGoogle自身のAPIを確認しようと「is google maps api free」や「cost for google maps api」で検索します。Googleの料金表(最終更新日2026-10-23)ではSKUごとに課金され、各SKUに毎月の無料枠があります。Text Search Proは名前、住所、位置、種類を返します。料金は1,000リクエストあたり$32で、毎月最初の5,000リクエストは無料です。評価、電話番号、ウェブサイト、営業時間にはText Search Enterpriseが必要で、1,000リクエストあたり$35、最初の1,000リクエストは無料です。レビューにはEnterprise + Atmosphereが必要で、1,000リクエストあたり$40です。
Text Searchのドキュメントでは、1ページあたり最大20か所まで取得できます。そのため最も安い場合、1,000か所あたりProで$1.60、Enterpriseで$1.75になります。レビューはさらに制限が厳しく、Placeリソースのリファレンスによると、1か所あたり最大5件のレビューが関連度順で返されます。
| 評価・電話番号付きの1,000か所 | 単価 | 無料枠 | レビュー | 備考 |
|---|---|---|---|---|
| Google Text Search Enterprise | 1,000リクエストあたり$35、1リクエストで最大20か所→1,000か所あたり約$1.75 | 毎月最初の1,000リクエスト | 1か所あたり最大5件(1,000リクエストあたり$40のAtmosphere SKU) | 1クエリあたり最大60か所 |
| Apify Google Maps Scraper、Business | 1,000か所あたり$1.50 | Freeプラン:月$5 | レビューアドオンで$0.26 | 地域を指定しない場合、1クエリあたり最大120か所 |
EveryInfra google_maps_reviews/search | 1回の呼び出しあたり$0.001389、50か所 → 1,000か所あたり$0.0278 | GitHubスター:$1(24時間有効) | reviews、1回の呼び出しで100件、1か所あたり最大400件 | 1クエリあたり最大120件(3ページ目でdepth_limit)、place_idで重複を除外 |
GoogleのAPIには、ほかでは得られない点が2つあります。Google自身のデータであることと、利用規約とポリシーでデータの表示方法やキャッシュ方法が明確に定められていることです。また、無料枠は小規模なプロジェクトには十分です。その代わり、レビューは1か所あたり5件、検索結果は1クエリあたり60か所までに限られ、ポリシーが定める帰属表示のルールにも従う必要があります。
ここではデータの権利については比較しません。ただし、公開データを収集するすべてのツールに共通する注意点が1つあります。レビューに含まれる個人データは、業務を行う地域のプライバシー法に従って扱う必要があります。Apify Storeのページにも同じことが書かれています。
失敗と空の結果:誰が支払うのか
私たちのルールは料金ページに記載しています。不正なパラメータや認証の失敗は課金されず、失敗した結果や空の結果も課金されません。4つのケースをテストしました。17:15:27 SGTには、わざとlocationをlocatonと入力しました。HTTP 422が返り、エラーコードunknown_param、did_you_mean: ["location"]、許可されているパラメータの全リストが含まれ、支払いは$0でした。
17:09:40 SGTに行った2ページ目のasync_requiredの呼び出しも422で、$0でした。17:19:45 SGTには、存在しないplace_idをprofileに送信しました。63秒後に空のオブジェクトが返り、billing.reasonはempty_result_refunded、課金額は$0、返金ステータスはsucceededでした。
課金されたのは1つのケースだけです。17:15:32 SGTに、ランダムな文字列に「dental」を加えたキーワードでシンガポールを検索しました。実在する歯科クリニックが20件返ってきました。不明な文字列は無視され、「dental」で検索が実行されたようです。結果は空ではなかったため、$0.001389が課金されました。意味のないキーワードは空の結果として扱われません。
| ケース(SGT) | アクション | HTTP | 結果 | 課金額 |
|---|---|---|---|---|
locatonのタイプミス(17:15:27) | search | 422 unknown_param | did_you_mean: ["location"] | $0 |
| 2ページ目が同期モードの深さ上限を超過(17:09:40) | search | 422 async_required | mode: asyncで再送信 | $0 |
| 偽のplace_id(17:19:45) | profile | 200 | 空、empty_result_refunded | $0 |
| ランダムな文字列+「dental」(17:15:32) | search | 200 | 実在する歯科医院20件 | $0.001389 |
Apifyでは、失敗時の課金方法を各アクターの作成者が決めます。pay-per-eventのドキュメントは、開発者に「無効な入力にも課金する」よう勧めています。これは、404を返すURLのように一見有効でも失敗する入力を指します。問題を見つけるまでにアクターがリソースを消費するためです。ユーザー側で使える設定は2つあります。
実行ごとの最大課金額を設定でき、アクターはその上限で停止し、上限を超える課金は発生しません。同期実行とデータセットアイテム取得のエンドポイントでもmaxTotalChargeUsdを指定できます。私たちはGoogle Maps Scraperを実行していないため、「結果なし」や「リンク切れ」のケースがどう課金されるかはわかりません。まず小規模なテストを実行し、実行詳細ページで課金内容を確認してください。
Apify Google Maps Scraperのn8nセットアップを比較
このトピックでは「apify google maps scraper n8n」や「google maps scraper n8n template」もよく検索候補に挙がります。上のアニメーションは、何もないキャンバスからシートに最初の行が入るまでのステップ数を、それぞれのドキュメントに基づいて数えたものです。ApifyではApify n8n連携ドキュメントに従います。セルフホストのn8nでは、Settings → Community Nodesで@apify/n8n-nodes-apifyをインストールします。
n8n Cloudでは、ノードパネルでApifyを検索します。Apify APIトークンまたはOAuth2で認証情報を追加します。Run Actorノードを追加し、Actorの入力JSONを入力して、Wait for finishをオンにします。次に、前のステップのdefaultDatasetIdを指定してGet Dataset Itemsを追加します。
コミュニティノードは2026年10月22日にv0.9.0をリリースしました。アクターの入力をスキーマに基づいてフィールドごとに入力できる入力モードが追加され、手書きのJSONが少なくて済みます。10月12日のv0.8.1では、n8nのレビューで指摘された問題が修正されました。
EveryInfraではノードをインストールする必要はありません。組み込みのHTTP RequestノードでPOSTを1回送信します。Authorization: Bearer <key>はn8nのHeader Auth認証情報に保存します。ページ送りには、n8nのページネーションの例のとおり、ノード自体のページネーションオプションを使います。モードをUpdate a Parameter in Each Request、タイプをBody、名前をparams.page_tokenに設定します。
値は{{ $response.body.next_page_token }}に設定し、{{ !$response.body.pagination.has_more }}がtrueになったら停止します。以下はこのノードの設定例です。私たちの環境ではn8nを実行していないため、この例はドキュメントに基づいています。同じリクエストをcurlで送ったものが、テスト1で検証したリクエストです。
{
"parameters": {
"method": "POST",
"url": "https://api.everyinfra.com/api/v1/social",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={\"platform\":\"google_maps_reviews\",\"action\":\"search\",\"params\":{\"keyword\":\"{{ $json.keyword }}\",\"location\":\"{{ $json.city }}\",\"limit\":30}}",
"options": {
"pagination": {
"pagination": {
"parameters": { "parameters": [ { "type": "body", "name": "params.page_token", "value": "={{ $response.body.next_page_token }}" } ] },
"paginationCompleteWhen": "other",
"completeExpression": "={{ !$response.body.pagination.has_more }}",
"maxRequests": 2
}
}
}
},
"type": "n8n-nodes-base.httpRequest",
"name": "EveryInfra Google Maps search"
}この例では、limitを30、ページ数を最大2に設定しています。これで両ページとも60件の同期の深さに収まり、非同期ジョブは不要になります。その代わり、1つの検索語で得られるのは60件で、修正後に到達できる120件には届きません。60件を超えて120件すべて(1ページ最大50件で3ページ)を取得するには、リクエストボディに"mode":"async"を追加してください。
その場合は、Waitノードと、GET /api/v1/jobs/{job_id}を呼び出すHTTP Requestノードを追加します。これで2ステップ増えます。これは、n8nでEveryInfraを利用する際にApifyより手間がかかる箇所の1つであり、ここで明記しておきます。
最後の2ステップはどちらも同じです。Split Outノードでresults配列を場所ごとに1アイテムへ分割します。次にRemove Duplicatesノードをplace_idに対して使います。このステップは省略しないでください。各ページは再取得されるため、ページ間で重複が生じることがあります。このノードの「Remove Items Processed in Previous Executions」モードは、実行をまたいでIDを記憶します(デフォルトで10,000件)。
毎週、新しい場所だけをシートに追加するにはこの設定が必要です。毎日実行するには、先頭にSchedule Triggerを追加します。n8n日次レポートガイドでは、スケジュールからシートまでの全ステップを実行しているので、これを応用できます。
| 設定ステップ | Apify(n8nコミュニティノード) | EveryInfra(HTTP Request) |
|---|---|---|
| インストール | セルフホスト:@apify/n8n-nodes-apify、n8n Cloud:ノードパネルから | 不要(ノードは組み込み済み) |
| 認証情報 | Apify APIトークン、またはn8n CloudではOAuth2 | Header Auth:Authorization: Bearer <key> |
| 利用開始 | Actorの入力JSONでRun Actorを実行し、完了を待つ | platform、action、paramsを指定してPOSTを1回送信 |
| 結果の取得 | defaultDatasetIdを指定してGet Dataset Itemsを実行 | 結果はレスポンスのresultsに含まれる |
| ページネーション | ページネーションはアクターが処理。maxCrawledPlacesPerSearchを設定 | page_tokenを使ったページネーション、60件を超える場合は非同期 |
| 重複除去 | placeIdをキーにRemove Duplicatesを実行 | place_idをキーにRemove Duplicatesを実行 |
| コスト確認 | コンソールの使用量グラフと実行の詳細 | 各レスポンスのbilling.charged_usd |
Apify Google Maps Scraper APIとMCP
n8nではなくコードを書く場合、ApifyではプラットフォームAPIを通じてアクターを実行します。同期実行とデータセットアイテム取得のエンドポイントは、1回の呼び出しで実行の開始、完了待ち、結果の返却まで行います。このエンドポイントでは、課金に関する2つの上限を指定できます。結果ごとに課金されるアクターで課金対象となる結果アイテムの最大数を示すmaxItemsと、maxTotalChargeUsdです。長時間の実行では、完了を待たずに実行を開始し、Webhookで終了の通知を受け取ります。EveryInfraでは、同期モードで結果が返る上記のcurlリクエストを使います。
時間のかかるジョブでは"mode":"async"を追加し、job_idをポーリングします。Apifyから移行する場合、変更点は3つです。リクエストボディは、アクターの入力JSONからplatform + action + paramsに変わります。結果はデータセットのエンドポイントではなく、レスポンスのresultsから取得します。ページ送りにはアクターの設定ではなくpage_tokenを使います。
AIツールはどちらも呼び出せます。ApifyのMCPサーバーはmcp.apify.comにあり、OAuthでのサインインが推奨されています。AIはStoreの検索、アクターの選択、実行の開始、結果の読み取りができます。オープンソースのリポジトリでは、10月19日のv0.19.0でアクターの作成とバージョン更新のツールが追加され、10月21日にはv0.19.3がリリースされています。
EveryInfraのリモートMCPサーバーはhttps://api.everyinfra.com/mcpです。MCP仕様(2025-11-25)のStreamable HTTPトランスポートを使い、APIキーで認証します。AIはまずeveryinfra_list_capabilitiesを呼び出して、google_maps_reviewsの3つのアクションを見つけます。次にeveryinfra_call_apiを呼び出し、時間のかかるジョブではeveryinfra_get_jobを呼び出します。
料金はRESTと同じです。n8nでは、MCP Client Toolを使ってAI Agentノードにこのサーバーを接続することもできます。設定は次のとおりです。
{
"mcpServers": {
"everyinfra": {
"url": "https://api.everyinfra.com/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}EveryInfraのレスポンスの内容をフィールドごとに解説
この表は、3つのアクションについてカタログに表示されるresponse_fieldsをまとめたものです。各フィールドの意味は、カタログのplatform_field_meaningsとパラメータの注記に基づいています。最後の列は今回のテストで確認した内容です。ここではEveryInfra側のみを説明し、Apifyのフィールドとは並べて比較していません。
| アクション | フィールド | 意味 | 今回のテスト |
|---|---|---|---|
search | place_id、name、url | GoogleのプレイスID、名前、query_place_id付きの地図URL | このテストの検索結果520件すべてにplace_idがあり、profileとreviewsにはurlを渡せる |
search | category、categories | メインカテゴリとすべてのカテゴリ | 520件すべてに値あり |
search | address、city、state、postal_code、country_code、lat、lng | 住所と座標 | オースティンのpostal_codeは100/100 |
search | phone、website | 電話番号とウェブサイト | オースティンは100/100、メキシコシティのウェブサイトは83/100 |
search | rating、rating_scale、review_count | 5点満点の評価とレビュー数 | 道路の行と歯科医1名の行では空 |
search | price、description、permanently_closed、image_url、platform | 価格帯、概要、閉業済みかどうか、カバー画像、プラットフォーム名 | 歯科のサンプルではpriceとdescriptionが空 |
profile | 上記すべてに加えてneighborhood、plus_code、opening_hours、image_count、temporarily_closed | 地区、Plus Code、営業時間、写真の枚数、一時休業 | 7日分の営業時間、写真344枚 |
reviews | id、text、rating、rating_scale、posted_at、url | レビューID、本文、星の数、投稿日時、レビューURL | 一意のidが400件、うち本文なしが43件 |
reviews | reviewer_name、reviewer_review_count、is_local_guide | レビュアー、レビュアーの総レビュー数、ローカルガイドかどうか | 個人データのため、利用前にプライバシー関連の法令に従ってください |
reviews | like_count、owner_response、owner_response_at、detailed_rating、image_urls、place_id、place_name、platform | いいね数、オーナーの返信とその日時、項目別の評価、写真、対象の場所 | オースティンのサンプル:100件中65件にオーナーの返信あり |
すでにApifyをお使いの方へ:乗り換え前に確認したい4つのこと
1つ目は、既存のデータを残しておくことです。Place IDはGoogleが場所に割り当てるIDで、特定のスクレイピングツールに属するものではありません。ApifyのデータセットにあるPlace IDと、当社のsearch結果に含まれるplace_idは、同じGoogleのIDを指しています。そのため、これをキーにしてデータの統合や重複排除ができます。名前や住所で照合するのは避けてください。同じ場所でも、時期や言語によって表記が変わります。
第2に、乗り換える前に支出上限を設定してください。Apifyでは、実行ごとにmaxTotalChargeUsdを使えます。当社のリクエストには呼び出しごとの支出上限がなく、費用はリクエスト数に比例します。そのため、スクリプトやn8nでmaxRequestsとループ回数を制限してください。また、コンソールでこのジョブ専用のAPIキーを作成しておけば、いつでも無効にできます。
3つ目は、レビューの日付をタイムスタンプとして扱うことです。当社のposted_atは、タイムゾーン付きのISO形式の時刻です。前述のRedditのスレッドでは、あるリスクが指摘されています。データに「2週間前」のような相対的な日付しかなく、取得時刻も記録されていない場合、後から正確な時系列データを復元することはできません。4つ目は、1〜2都市について1週間、両方のサービスを並行して実行することです。
場所の件数、レビュー件数、1,000件あたりの価格を比較してください。そのうえで、全面的に切り替えるかどうかを判断します。本記事の数値は、10月26日、3都市、1カテゴリのみを対象としたものです。
Apifyのほうが適しているケース
料金面では、ほとんどの場合当社のほうが安価です。ただし、以下のケースではApifyのGoogle Mapsツールのほうが適しており、その点も率直にお伝えします。
1つ目は、ある場所のレビュー履歴をすべて取得したい場合です。当社は1か所あたり400件のレビューが上限です。ApifyのGoogle Maps Scraperは1アイテムあたり最大5,000件のレビューを保持し、それを超えても取得を続けます。またReviews Scraperは、設定した件数だけ取得できます。2つ目は、場所だけでなく営業リードが必要な場合です。具体的には、ウェブサイト上のメールアドレスや電話番号、ドイツ・オーストリア・スイスのウェブサイトにあるImpressumの連絡先、スタッフの氏名と役職、メールアドレスの検証、SNSのプロフィールなどです。
当社にはこうしたアドオンはありません。第3に、1回の実行で都市全体や国全体をカバーする必要がある場合です。Apifyは、指定した範囲、またはRFC 7946形式のGeoJSONポリゴンを、多数の地図画面に分割します。そのOrchestratorは、複数の地点を実行単位に分割し、結果を統合して重複を除きます。当社の検索は1クエリあたり120件で止まるため、広い範囲はユーザー自身で分割する必要があります。
4つ目は、画像、混雑する時間帯、メニュー、ホテルの料金、あるいはApifyのAI競合レポートが必要な場合です。5つ目は、すでにApify Enterpriseの顧客で、主な用途が既知の場所をURLで更新することである場合です。この場合、DIAMONDは1,000件あたり$1.134で、当社の$1.389より安価です。6つ目は、収集する場所が月に数百件程度で、チャージしたくない場合です。ApifyのFreeプランでは毎月$5分のクレジットが付与されますが、当社の$1のトライアルクレジットは24時間しか有効ではありません。
EveryInfraのほうが適しているケースも明確です。都市とカテゴリを指定した場所の一括検索、レビューの一括取得、多数の場所の週次モニタリングなどです。使わないプラン料金を払いたくない場合に特に適しています。また、1つのAPIキーで他のプラットフォームにも対応する必要があるジョブにも向いています。たとえば、YelpとTripadvisorのレビューを比較する場合も、請求を一本化できます。歯科医院向けレビューブリーフの作成ガイドでも、この種のデータを使っています。
| 用途 | より適した選択肢 | 理由(本記事のデータより) |
|---|---|---|
| 都市内の場所をカテゴリ別に検索 | EveryInfra | 1,000件あたり$0.0278、Businessプランでは$1.50 |
| レビューを一括取得 | EveryInfra | 1,000件あたり$0.0139、Businessプランでは$0.30 |
| 1施設のレビュー履歴を全件取得 | Apify | 当社は1施設あたり400件まで |
| メールアドレス、連絡先、SNSプロフィール | Apify | 当社にはこうしたアドオンはありません |
| Enterprise契約で既知の施設をURLで更新 | Apify | DIAMONDは$1.134、当社は$1.389 |
| 月に数百施設程度を収集し、チャージしたくない | Apify | $5分が毎月無料、当社の$1分は24時間限定 |
直近60日間の変更点
- 2026-10-22:Apifyのn8nコミュニティノードがv0.9.0をリリースし、アクターの入力をスキーマに沿ってフィールドごとに設定できるようになりました。9月22日のv0.8.0ではWeb Fetchアクションが追加されています。ユーザーへの影響:n8nでGoogle Maps Scraperの入力JSONを手書きする必要がなくなり、設定が簡単になります。
- 2026-10-19〜10-21:Apify MCPサーバーがv0.19.0〜v0.19.3をリリースし、アクターの作成やバージョン管理を行うツールが加わりました。ユーザーへの影響:どちらもAIツールからリモートMCPサーバーとして使えるようになったため、選ぶ基準は再び料金と対応範囲になります。
- 2026-10-23:GoogleがText Search (New)、Place ID、料金の各ページを更新しました。1クエリあたり60件の上限と、Place IDを12か月ごとに更新するよう勧める記載は残っています。ユーザーへの影響:どのツールを使っても検索の深さには限りがあり、IDの更新も引き続き必要です。
- 2026-10-26:ApifyのGoogle Maps Scraper、Reviews Scraper、Extractorが同じ日にそろって更新されました(公開されている
modifiedAtフィールドによる)。料金は変わっておらず、それぞれ6月30日、3月13日、4月29日時点の料金表のままです。ユーザーへの影響:当社の料金表は確認した当日時点のものなので、比較する前にエンドポイントを改めて確認してください。 - 2026-10-26:n8nが2.45.4をリリースし、移行レポートからv3の破壊的変更のページへリンクされるようになりました。ユーザーへの影響:セルフホスト版n8nのユーザーは、近いうちにメジャーアップグレードを計画してください。コミュニティノードは互換性を確認してください。組み込みのHTTP Requestノードであればリスクは低めです。
- 2026-10-06:Apifyのオープンソースのスクレイピングライブラリ「Crawlee」がv4.0.0-rc.1をリリースしました。ユーザーへの影響:地図データのスクレイパーを自作しているチームもフレームワークの大きな変更に対応する必要があるため、自作する場合の見積もりには保守の手間を含めてください。
FAQ
Apify Google Maps Scraperは無料ですか?
一部は無料です。ApifyのFreeプランはクレジットカード不要で、毎月$5分のプリペイド利用枠が付きます。使い切ると次のサイクルまでアカウントが停止され、未使用分は繰り越されません(Apifyの料金)。Google Maps ScraperのFreeプラン料金では、$5で基本情報のみの施設を約1,250件、Reviews Scraperならレビューを8,333件取得できます。EveryInfraには毎月のクレジットはありませんが、GitHubでスターを付けると、24時間有効な$1分のクレジットが付与されます。質問の出典:検索候補「apify google maps scraper free」。
Apify Google Maps Scraperの料金はいくらですか?
1,000施設あたり、Freeプランで$4.00、Starterで$3.00、Scaleで$2.00、Businessで$1.50、EnterpriseのDIAMONDティアで$0.756です。詳細情報、フィルター、連絡先、レビュー、画像は追加イベントとして別料金になります(公開料金エンドポイント、2026-10-26確認)。当社の実測値は1,000施設あたり$0.0278でした。質問の出典:検索候補「apify google maps scraper pricing」。
Apify Google Maps Scraperはn8nで使えますか?
はい。Apifyにはn8nのコミュニティノード@apify/n8n-nodes-apifyがあり、Run ActorとGet Dataset Itemsのオペレーションを使います(Apifyのドキュメント)。EveryInfraはコミュニティノードを使わず、n8n標準のHTTP Requestノードを使います。質問の出典:検索候補「apify google maps scraper n8n」。
Apify Google Maps ScraperにはAPIがありますか?
はい。ApifyプラットフォームのAPI経由か、Node.jsまたはPython向けのapify-clientで実行できます。同期実行エンドポイントではmaxTotalChargeUsdで利用額の上限を指定できます(Apify APIドキュメント)。EveryInfraはPOSTリクエスト1回で、結果と課金額が同じレスポンスで返ります。質問の出典:検索候補「apify google maps scraper api」。
ApifyのGoogle Maps Scraperの代替手段にはどんなものがありますか?
r/automationとr/n8nの両方に「Alternatives for google maps scraper Apify」というスレッドがあります(投稿)。投稿者は、業種と都市を指定して地元の店舗や事業者を集めたいと考えていました。ある返信では、Apifyのプランは0、40、200、1,000と段階的に上がるため、利用量の少ないユーザーには使いにくいと指摘されています。代替手段の1つはリクエストごとに課金されるデータAPIで、上の2つ目の表で1,000件あたりの実測価格を比較しています。メールアドレス、リード情報のエンリッチメント、レビュー履歴の全件取得が必要な場合は、引き続きApifyのほうが適しています。質問の出典:Redditのスレッド。
Google Maps APIは無料ですか?
一部は無料です。Google Maps PlatformはSKUごとに課金され、各SKUには毎月の無料枠があります。たとえば、Text Search Proは毎月最初の5,000リクエスト、Text Search Enterpriseは毎月最初の1,000リクエストが無料です。それを超えると、1,000リクエストあたりそれぞれ$32と$35かかります(Googleの料金表、2026-10-23更新)。1クエリで返る施設は最大60件、1施設あたりのレビューは最大5件です。質問の出典:検索候補「is google maps api free」。
3ステップで試す
まず、新規登録してAPIキーを取得し、トライアルクレジットを受け取るか、コンソールの残高ページでチャージします(クイックスタート)。次に、アクションのページを開き、試用ボタンで一度実行します。場所検索を試す、単一の場所を試す、レビューページを試すのいずれかを選んでください。最後に、レスポンスのcharged_usdとresultsの件数を確認します。
ご自身のジョブで「支払額 ÷ 行数 × 1,000」を計算し、現在の請求額と比べてみてください。すべてのアクションはGoogle MapsデータAPIのページとデータマーケットで確認できます。より幅広い料金比較は、Apify代替サービスまとめをご覧ください。
検証方法と制約
Apify側は公開情報のみを使用しました。具体的には、公開されているapi.apify.com/v2/actsエンドポイントから4つのアクターの料金を2026-10-26 17:05(SGT)に取得し、生のレスポンスとして保存したものです。このほか、料金ページ、ドキュメント、Storeページ、Redditの投稿も参照しました。Apifyへの登録やアクターの実行は行っていません。
そのため、本記事のApifyの料金はすべて公開単価であり、実際に支払った金額ではありません。起動料金、追加イベント、プラン料金によって、実際の請求額はこれより高くなる場合があります。Google側は、料金表とドキュメントのみを使用しました。
EveryInfra側では、2026-10-26の17:09〜17:19(SGT)に最初の22リクエストを実行し、うち19件が課金され、合計は$0.026391でした。19:53(SGT)にページングを修正した後、20:01〜20:06(SGT)に3都市について1ページ50件で3ページ目まで取得しました。9リクエストすべてが課金され、$0.012501でした。サンプルは3都市の歯科医院で、各アクションの呼び出しは数回です。この結果からわかるのは、その日のその対象における料金、ページの深さ、重複率です。長期的な成功率や速度はわからず、すべてのカテゴリに当てはまるわけでもありません。
1,000件あたりの料金は、支払額を返された行数で割って算出しました。スクリプトと生のレスポンスは保管しています。確認できなかった点が3つあります。1つ目は、Apify Enterprise契約で単価とは別に最低利用額が設定されているかどうかです。2つ目は、Google Maps Scraperが1回の実行で重複した施設を二重に課金するかどうかです。3つ目は、修正後のページ間の重複が一般にどの程度あるかです。今回は3都市でそれぞれ1クエリしかテストしておらず(ユニークな施設は120件、119件、112件)、他のキーワードや都市では重複が多くなる可能性があります。
参考文献
- Apify、Google Maps Scraperの公開料金エンドポイント(compass/crawler-google-places)、2026-10-26確認。https://api.apify.com/v2/acts/compass~crawler-google-places
- Apify、Google Maps Reviews Scraperの公開料金エンドポイント、2026-10-26確認。https://api.apify.com/v2/acts/compass~Google-Maps-Reviews-Scraper
- Apify、Google Maps Extractor公開料金エンドポイント、2026-10-26閲覧。https://api.apify.com/v2/acts/compass~google-maps-extractor
- Apify、Google Maps Email Extractor公開料金エンドポイント、2026-10-26閲覧。https://api.apify.com/v2/acts/lukaskrivka~google-maps-with-contact-details
- Apify、Google Maps Scraper Storeページ、2026-10-26閲覧。https://apify.com/compass/crawler-google-places
- Apify、Google Maps Reviews Scraper Storeページ、2026-10-26閲覧。https://apify.com/compass/google-maps-reviews-scraper
- Apify、Google Maps Extractor Storeページ、2026-10-26閲覧。https://apify.com/compass/google-maps-extractor
- Apify、料金ページ、2026-10-26閲覧。https://apify.com/pricing
- Apify、Google Maps Scraper Orchestrator、2026-10-26閲覧。https://apify.com/lukaskrivka/google-maps-scraper-orchestrator
- Apifyドキュメント「Pay-per-event pricing model」。https://docs.apify.com/platform/actors/publishing/monetize/pay-per-event
- Apifyドキュメント「Actor pricing and costs」。https://docs.apify.com/platform/actors/publishing/monetize/pricing-and-costs
- Apifyドキュメント「Actors in Store」。https://docs.apify.com/platform/actors/running/actors-in-store
- Apifyドキュメント「n8n integration」。https://docs.apify.com/platform/integrations/n8n
- Apifyドキュメント「Apify MCPサーバー」。https://docs.apify.com/platform/integrations/mcp
- Apify APIドキュメント、Actorの同期実行とデータセットアイテムの取得。https://docs.apify.com/api/v2/act-run-sync-get-dataset-items-post
- Apifyドキュメント、Webhook。https://docs.apify.com/platform/integrations/webhooks
- GitHub、apify/n8n-nodes-apify v0.9.0リリース、2026-10-22。https://github.com/apify/n8n-nodes-apify/releases/tag/v0.9.0
- GitHub、apify/n8n-nodes-apify v0.8.1リリース、2026-10-12。https://github.com/apify/n8n-nodes-apify/releases/tag/v0.8.1
- GitHub、apify/n8n-nodes-apify v0.8.0リリース、2026-09-22。https://github.com/apify/n8n-nodes-apify/releases/tag/v0.8.0
- npm、@apify/n8n-nodes-apifyパッケージ。https://www.npmjs.com/package/@apify/n8n-nodes-apify
- GitHub、apify/apify-mcp-server v0.19.0リリース、2026-10-19。https://github.com/apify/apify-mcp-server/releases/tag/v0.19.0
- GitHub、apify/apify-mcp-server v0.19.3リリース、2026-10-21。https://github.com/apify/apify-mcp-server/releases/tag/v0.19.3
- GitHub、apify/crawlee v4.0.0-rc.1リリース、2026-10-06。https://github.com/apify/crawlee/releases/tag/v4.0.0-rc.1
- GitHub、n8n-io/n8n 2.45.4、2026-10-26。https://github.com/n8n-io/n8n/releases/tag/n8n%402.45.4
- Google、Google Maps Platformの料金(2026-10-23更新)。https://developers.google.com/maps/billing-and-pricing/pricing
- Google、SKU details。https://developers.google.com/maps/billing-and-pricing/sku-details
- Google、Text Search (New)、2026-10-23更新。https://developers.google.com/maps/documentation/places/web-service/text-search
- Google、Place IDs、2026-10-23更新。https://developers.google.com/maps/documentation/places/web-service/place-id
- Google、REST Resource: places。https://developers.google.com/maps/documentation/places/web-service/reference/rest/v1/places
- Google、Places API (New)のリリースノート。https://developers.google.com/maps/documentation/places/web-service/release-notes
- Google、Places APIの使用量と課金。https://developers.google.com/maps/documentation/places/web-service/usage-and-billing
- Google、Places APIのポリシーと帰属表示。https://developers.google.com/maps/documentation/places/web-service/policies
- Google、Google Maps Platform Terms of Service。https://cloud.google.com/maps-platform/terms
- n8nドキュメント、HTTP Requestノード。https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/
- n8nドキュメント、HTTP Requestのページネーション(クックブック)。https://docs.n8n.io/build/code-in-n8n/cookbook/http-request-node/pagination/
- n8nドキュメント、Remove Duplicates。https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.removeduplicates/
- n8nドキュメント、Split Out。https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.splitout/
- n8nドキュメント、コミュニティノードのGUIでのインストール。https://docs.n8n.io/integrations/community-nodes/installation/gui-install/
- n8nドキュメント、MCP Client Tool。https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolmcp/
- n8nドキュメント、Schedule Trigger。https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/
- n8nドキュメント、HTTP Requestの認証情報。https://docs.n8n.io/integrations/builtin/credentials/httprequest/
- Model Context Protocol、Specification 2025-11-25。https://modelcontextprotocol.io/specification/2025-11-25
- IETF、RFC 7946 The GeoJSON Format。https://datatracker.ietf.org/doc/html/rfc7946
- EveryInfra、データAPIカタログ(google_maps_reviews)、2026-10-26閲覧。https://api.everyinfra.com/api/v1/social/catalog
- Reddit r/apify、「Google Maps reviews scraping is costing us $35/1k results」、2026-10-26閲覧。https://www.reddit.com/r/apify/comments/1vo81i0/title_google_maps_reviews_scraping_is_costing_us/
- Reddit r/B2BLeadGenPro、「I ran the same search through Apify Google Maps Scraper…」(投稿者は別のツールの開発元)、2026-10-26閲覧。https://www.reddit.com/r/B2BLeadGenPro/comments/1sxd1af/i_ran_the_same_search_through_apify_google_maps/
- Reddit r/n8n、「Alternatives for google maps scraper Apify」、2026-10-26閲覧。https://www.reddit.com/r/n8n/comments/1k5jvdj/alternatives_for_google_maps_scraper_apify/
参考資料 BL-52