AS
Apify Store
/microworlds/crawler-google-places
Google Maps Scraper $1.5/1k places ๐ with emails ๐ง
Extract data from thousands of Google Maps locations and businesses, including reviews, reviewer details, images, contact info, including full name, email, and job title, opening hours, prices & more.
liveverifiedasyncdegraded ยท 13.1s~30s typical
lead generationaiagentsgoogleplaces
$0.0044
per result + $0.005 call
plus $0.001 platform fee per run
Actor charges $0.0035 per result; Cracked adds 25% plus a $0.005 call fee
Bring your own Apify Store key: provider portion drops to $0.
$Set up https://cracked-ai-pearl.vercel.app/SKILL.md, then use Cracked to run apify /microworlds/crawler-google-places for me.
Input
| Field | Type | Description |
|---|---|---|
| keywords | array | List of search terms to look for on Google Maps. Each keyword will be searched independently in the specified location. E.g., restaurants, cafes, dentists, plumbers. |
| location | string | The geographic area to search in. Can be a city, state, country, or any place name. The scraper will geocode this into a polygon and split it into grid segments for thorough coverage. E.g., Palm Beach, FL, USA or Berlin, Germany. |
| max_result_per_keyword | integer | Maximum number of unique places to collect per keyword. The scraper stops searching for a keyword once this limit is reached. Set to 0 or leave empty for unlimited results. |
| include_nearby_places | boolean | When enabled, places located just outside the location's strict boundary are kept instead of being dropped as 'out of location'. The buffer scales with the location type (~5 km for cities/POIs, ~10 km for states, ~25 km for countries). Useful when results near the border of a city or region are being filtered out. default false |
| scrape_contacts | boolean | Enrich Google Maps places with contact details extracted from the business website, including business emails and social media profiles (Meta, LinkedIn, X, etc). Price is charged per place at $1.5 per 1000 places that have a website. default false |
| custom_geolocation | object | Custom GeoJSON shape, used **only when the `Location` field is empty**. If both `Location` and `Custom Geolocation` are set, `Location` wins and this field is ignored. Coordinates use **`[longitude, latitude]`** order (GeoJSON standard). Supported shapes: โข **Polygon** โ `{"type":"Polygon","coordinates":[[[lon,lat],...]]}` โข **MultiPolygon** โ `{"type":"MultiPolygon","coordinates":[[[[lon,lat],...]]]}` โข **Circle** โ `{"type":"Point","coordinates":[lon,lat],"radius_km":5}` (or `"type":"Circle"`) `Feature` and `FeatureCollection` envelopes (e.g. exports from geojson.io or Google My Maps) are auto-unwrapped. |
Call it
curl
curl https://cracked-ai-pearl.vercel.app/v1/run \
-H "Authorization: Bearer ck_live_..." -H "content-type: application/json" \
-d '{"provider":"apify","endpoint":"/microworlds/crawler-google-places","input":{"keywords":["restaurants"],"location":"New York, US","max_result_per_keyword":3},"wait":false}'poll
curl "https://cracked-ai-pearl.vercel.app/v1/runs/<runId>?wait=30" -H "Authorization: Bearer ck_live_..."cli
npx cracked-ai run -p apify -e /microworlds/crawler-google-places -i '{"keywords":["restaurants"],"location":"New York, US","max_result_per_keyword":3}' -w 120mcp
run_tool({ provider: "apify", endpoint: "/microworlds/crawler-google-places", input: {"keywords":["restaurants"],"location":"New York, US","max_result_per_keyword":3}, wait: false })Try it
Runs against your signed-in workspace balance. Sign in if you have not.