Google Maps connector

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.

agent · surfsense

$

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.

Request parameters
FieldTypeDescription
search_queriesstring[]
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.
urlsstring[]
default []
Google Maps URLs: a place page (/maps/place/...) or a search results URL. Max 20.
place_idsstring[]
default []
Known Google place IDs (ChIJ...) to fetch directly. Max 20.
locationstringLocation to scope search_queries to, e.g. 'New York, USA'.
max_placesinteger
default 10
Max places to return per search query. 1 to 1,000.
languagestring
default "en"
Result language code, e.g. 'en', 'fr'.
include_detailsboolean
default false
Also fetch each place's detail page: opening hours, popular times, and extra contact info. Slower.
max_reviewsinteger
default 0
Reviews to attach per place, up to 100,000. 0 disables reviews.
max_imagesinteger
default 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.

Response fields
FieldTypeDescription
title / categoryName / categoriesstring / string[]Business name and its Google Maps categories.
placeId / cid / urlstringStable Google identifiers and the place's Maps URL.
address / street / city / state / postalCode / countryCodestringFull and structured address components.
locationobjectCoordinates: { lat, lng }.
website / phonestringContact details as listed on the profile. Null website is a classic lead-gen signal.
totalScore / reviewsCount / reviewsDistributionnumber / integer / objectAverage rating, review count, and the one-to-five-star breakdown.
permanentlyClosed / temporarilyClosedbooleanBusiness status flags.
openingHoursobject[]Day-by-day hours. Populated when include_details is true.
reviewsobject[]Attached reviews when max_reviews > 0: text, stars, publishedAtDate, likesCount, reviewer info, and the owner's response.
images / imageUrl / imagesCountobject[] / string / integerPhotos attached when max_images > 0, plus the cover image and count.
searchString / rankstring / integerProvenance: which query found this place and its position in the results.
scrapedAtstringISO 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.

FeatureOfficial Places APISurfSense
Results per queryPaginated and capped; bulk pulls are painfulUp to 1,000 places per search query
ReviewsOnly about five reviews per placeAttach up to the review count you set, or use the reviews verb for depth
PricingMetered per API call, per field maskPay per place returned, with a free tier to start
SetupGoogle Cloud project, billing, and API keyOne API key, or add the MCP server to your agent
Agent-readyNo; you build the harness yourselfMCP 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