Google Maps Scraper API for Lead Generation and Local Market Intelligence
The SurfSense Google Maps API turns Maps into a B2B lead engine. Extract business names, categories, phones, websites, ratings, and reviews at scale, then point your AI agents at any territory or category to build lead lists and map a local market in minutes.
$
google_maps.scrape({ search_queries: ["dentist"], location: "Austin, TX",
max_places: 100, include_details: true })- Barton Springs Family Dental4.9 ★ · 212 reviews · (512) 555-0148no website
- Congress Ave Dentistry4.7 ★ · 88 reviews · (512) 555-0192no website
- East Austin Smiles4.8 ★ · 141 reviews · (512) 555-0175no website
100 places · 23 without a website · surfaced in 4.0s
What you can extract from Google Maps
Give the API a search query plus a location, a Maps URL, or a known place ID. It returns one structured item per place, with reviews and images attached on request.
Business identity
Name, category, description, and Google place ID for every result.
Contact
Phone number and website when Google lists them, ready for outreach lists.
Address and geo
Full address, neighborhood, city, postal code, and latitude/longitude.
Ratings
Star rating, review count, and the full one-to-five-star distribution.
Reviews
Attach up to the review count you set per place, with text, stars, and author.
Details
Opening hours, popular times, and images when you enable detail pages.
What teams do with the Google Maps API
B2B lead lists
Point an agent at a category and a territory and get back a clean list of businesses with phone numbers, ratings, and websites, ready to load into your CRM or outreach tool.
Businesses without websites
Filter results down to places Google lists with no website, the classic warm lead for agencies and web shops. It is the highest-converting local lead-gen angle there is.
Competitor and review analysis
Pull a competitor's rating, review count, and review text to see exactly what their customers praise and complain about, then brief an agent to summarize the gaps you can win on.
Territory and market mapping
Scrape an entire category across a city or region to size a market, spot white space, and plan coverage before your sales team ever picks up the phone.
Call it from your code or your agent
One typed endpoint, one API key. Or add the SurfSense MCP server and let your agent call google_maps.scrape as a native tool.
curl -X POST "$SURFSENSE_API_URL/workspaces/$WORKSPACE_ID/scrapers/google_maps/scrape" \
-H "Authorization: Bearer $SURFSENSE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"search_queries": [
"dentist"
],
"location": "Austin, TX",
"max_places": 100,
"include_details": true
}'Google Maps API request and response schema
The exact contract behind POST /workspaces/{workspace_id}/scrapers/google_maps/scrape. The same fields power the google_maps.scrape MCP tool.
Request parameters
Provide at least one source: search_queries, urls, or place_ids. Up to 20 sources per call.
| Field | Type | Description |
|---|---|---|
search_queries | string[]default [] | Google Maps search terms, e.g. 'coffee shops', 'dentist'. Each returns up to max_places. Pair with location to scope the search. Max 20. |
urls | string[]default [] | Google Maps URLs: a place page (/maps/place/...) or a search results URL. Max 20. |
place_ids | string[]default [] | Known Google place IDs (ChIJ...) to fetch directly. Max 20. |
location | string | Location to scope search_queries to, e.g. 'New York, USA'. |
max_places | integerdefault 10 | Max places to return per search query. 1 to 1,000. |
language | stringdefault "en" | Result language code, e.g. 'en', 'fr'. |
include_details | booleandefault false | Also fetch each place's detail page: opening hours, popular times, and extra contact info. Slower. |
max_reviews | integerdefault 0 | Reviews to attach per place, up to 100,000. 0 disables reviews. |
max_images | integerdefault 0 | Images to attach per place. 0 disables images. |
Response fields
The response is { items: [...] } with one item per place. One returned place is one billable unit; attached reviews are metered separately.
| Field | Type | Description |
|---|---|---|
title / categoryName / categories | string / string[] | Business name and its Google Maps categories. |
placeId / cid / url | string | Stable Google identifiers and the place's Maps URL. |
address / street / city / state / postalCode / countryCode | string | Full and structured address components. |
location | object | Coordinates: { lat, lng }. |
website / phone | string | Contact details as listed on the profile. Null website is a classic lead-gen signal. |
totalScore / reviewsCount / reviewsDistribution | number / integer / object | Average rating, review count, and the one-to-five-star breakdown. |
permanentlyClosed / temporarilyClosed | boolean | Business status flags. |
openingHours | object[] | Day-by-day hours. Populated when include_details is true. |
reviews | object[] | Attached reviews when max_reviews > 0: text, stars, publishedAtDate, likesCount, reviewer info, and the owner's response. |
images / imageUrl / imagesCount | object[] / string / integer | Photos attached when max_images > 0, plus the cover image and count. |
searchString / rank | string / integer | Provenance: which query found this place and its position in the results. |
scrapedAt | string | ISO timestamp for when the place was scraped. |
A Google Maps API alternative for lead gen
Google's official Places API is metered per call and returns only a handful of reviews. Here is how SurfSense compares for lead generation and market research.
| Feature | Official Places API | SurfSense |
|---|---|---|
| Results per query | Paginated and capped; bulk pulls are painful | Up to 1,000 places per search query |
| Reviews | Only about five reviews per place | Attach up to the review count you set, or use the reviews verb for depth |
| Pricing | Metered per API call, per field mask | Pay per place returned, with a free tier to start |
| Setup | Google Cloud project, billing, and API key | One API key, or add the MCP server to your agent |
| Agent-ready | No; you build the harness yourself | MCP server exposes google_maps.scrape as a native tool |
Google Maps API: frequently asked questions
Point your agents at Google Maps
The Google Maps connector is one of many in the SurfSense competitive intelligence platform. Start free, no credit card required.
SurfSense