Search Google Maps businesses by keyword and location
apify.google.serp.mapsScrape Google Maps for businesses matching a keyword in a place — name, address, phone, website, rating, review_count, categories, hours and coordinates, with email and social-profile enrichment from each business site included in the result price
- Price
- $0.009/resultプロバイダー原価
- Success rate
- 99.8%Last 30 days · 4,667 calls
- Latency p50
- 18 sp95 78 s
- Last verified
- 2026/09/26Verified working
POSThttps://toolswitch.dev/v1/tools/apify.google.serp.maps?memory=1024&timeout=90&maxItems=1&maxTotalChargeUsd=0.08Preview- Uses platform quota
- Synchronous response
- Reads public data
パラメータ
the response is the dataset items array directly — no run envelope, no polling. Each row carries place_id, name, address, phone, website, rating, review_count, categories, hours, latitude, longitude, google_maps_url, and (when scrapeContacts is on) emails and social_links. Cap every call with maxTotalChargeUsd, the spend limit Apify enforces; the body row limit sets how many rows run. Filters (placeMinimumStars, website, skipClosedPlaces) drop places before they are returned or charged
| パラメータ | 型 | 必須 | 説明 | 例 |
|---|---|---|---|---|
| クエリパラメータ | ||||
memory | 整数 | 任意 | MB of run memory. treg's key requires 1024, which fixes the actor-start charge; your own key may set any size | 1024 |
timeout | 整数 | 任意 | run timeout in seconds. treg's key requires 90 so the run and its rows arrive before any wait gives up; a larger pull should use your own key and the async web.scrape.job.* pair above | 90 |
maxItems | 整数 | 任意 | optional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit | 100 |
maxTotalChargeUsd | 数値 | 任意 | the spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, above 0 and at most 1, and holds it for the call | 0.5 |
- クエリパラメータ
memory整数任意MB of run memory. treg's key requires 1024, which fixes the actor-start charge; your own key may set any size
例:
1024timeout整数任意run timeout in seconds. treg's key requires 90 so the run and its rows arrive before any wait gives up; a larger pull should use your own key and the async web.scrape.job.* pair above
例:
90maxItems整数任意optional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit
例:
100maxTotalChargeUsd数値任意the spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, above 0 and at most 1, and holds it for the call
例:
0.5
コード例
$TOOLSWITCH_KEY をコンソールで作成したキーに置き換えてください。
curl -X POST 'https://toolswitch.dev/v1/tools/apify.google.serp.maps?memory=1024&timeout=90&maxItems=1&maxTotalChargeUsd=0.08' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"maxReviews":0,"locationQuery":"Austin, TX","scrapeContacts":false,"maxCrawledPlaces":1,"skipClosedPlaces":true,"searchStringsArray":["coffee shop"],"scrapePlaceDetailPage":false,"maxCrawledPlacesPerSearch":1}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/apify.google.serp.maps?memory=1024&timeout=90&maxItems=1&maxTotalChargeUsd=0.08",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"maxReviews\":0,\"locationQuery\":\"Austin, TX\",\"scrapeContacts\":false,\"maxCrawledPlaces\":1,\"skipClosedPlaces\":true,\"searchStringsArray\":[\"coffee shop\"],\"scrapePlaceDetailPage\":false,\"maxCrawledPlacesPerSearch\":1}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/apify.google.serp.maps?memory=1024&timeout=90&maxItems=1&maxTotalChargeUsd=0.08", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"maxReviews\":0,\"locationQuery\":\"Austin, TX\",\"scrapeContacts\":false,\"maxCrawledPlaces\":1,\"skipClosedPlaces\":true,\"searchStringsArray\":[\"coffee shop\"],\"scrapePlaceDetailPage\":false,\"maxCrawledPlacesPerSearch\":1}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());このゲートウェイ API はプレビュー版です。URL や認証方式は変更される場合があります。 パラメータはサンプルデータです。 呼び出し料金は $0.009/result です。サービス料を含みます。