Google Maps scraper API
Search Google Maps the way a person would — 'dentists in Austin', 'cafés near Bondi' — and get every matching business back with address, phone, website, hours, rating and reviews. Turn on email extraction to build an outreach-ready lead list.
From $0.004 per place · no API key · failed calls refunded
What you get
- Business name, address and coordinates
- Phone, website and opening hours
- Rating, review count and reviews
- Emails and social profiles from the business website
- Search by query, location or place URL
Just ask your AI
“Find every dentist in Austin with a rating under 4 and a website. Include phone and email.”
“List 100 cafés in Brisbane with their Instagram handles for outreach.”
Connectors behind it
Your AI picks the right one for the question. Each is priced per result and refunded if it fails.
placeIdgooglePlaceIdkgIdgoogleMapsUrlnamesubtitleGoogle Maps Place Details Scraper$0.004 per placeTurn any Google Maps URL, short link or Place ID into a full business record — address, phone, website, email, hours, rating, photos, menu, attributes and reviews.placeIdgooglePlaceIdkgIdgoogleMapsUrlnamesubtitleGoogle Maps Email Scraper$0.008 per leadExtract business emails, phone numbers, websites and social profiles from Google Maps listings — search any niche + city and export ready-to-use leads.nameemailemailsphonephoneUnformattedwebsiteGoogle Maps Business Links & Social Profiles Scraper$0.0012 per placeExtract every website, booking link, and social media profile — Instagram, Facebook, TikTok, LinkedIn and more — from any Google Maps business listing.placeIdgooglePlaceIdplaceNameplaceAddressratingreviewCountUse the Google Maps scraper API from Claude, ChatGPT or Cursor
Pick your tool and connect in under a minute. Then just ask — for example: “Find every dentist in Austin with a rating under 4 and a website. Include phone and email.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
- 1Click Add to Claude — claude.ai opens with Sourcelane filled in
- 2Click Continue to confirm — it then works in Claude desktop and mobile too
Manual setup (config files, REST, Python) +
Claude Code
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Claude Desktop (config file)
Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Cursor & Windsurf
Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}VS Code
Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}ChatGPT Custom GPT (Actions)
Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonREST
One POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"google-maps-scraper","params":{"searchQueries":["coffee shops in Amsterdam"],"maxPlacesPerQuery":5},"maxResults":10}'Python, LangChain, CrewAI, OpenAI Agents SDK…
Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "google-maps-scraper",
"params": {"searchQueries":["coffee shops in Amsterdam"],"maxPlacesPerQuery":5},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])Google Maps scraper API — FAQ
How is this different from the Google Places API?+
Places API charges per field and caps results per search. This returns full business records including reviews and website emails, priced per place, with no Google Cloud project needed.
Do I need a Google Maps API key or developer account?+
No. Sourcelane runs the connectors for you. You top up a balance with a card, create an agent key, and your agent calls the connector — there is no Google Maps app review, OAuth setup or rate-limit juggling on your side.
Which AI tools can use it?+
Anything that speaks MCP (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf) can connect to the Sourcelane MCP server with one config block. ChatGPT can use it through a Custom GPT Action, and any agent framework can call the REST endpoint directly.
Can I stop an agent from overspending?+
Yes. Every agent key has its own per-call cap, daily and monthly limits, an optional lifetime budget, an allowlist of connectors, and a kill switch.

