Local business leads from Google Maps in any country: emails, socials, website audit, outreach.
One address for any MCP client. Your key stays in your Odel vault.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Full api access | Not stated: full_api_access | |
From the sign-in at console-backend.apify.com, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
Google Maps Leads Scraper is an Apify Actor that turns a Google Maps search into ready-to-contact business leads in any country: phone, website, emails and social profiles, a website audit, a HOT/WARM/COLD lead score and an AI-written outreach email per lead, at $0.03 per lead. Filter for businesses without a website, unclaimed listings or new openings.
Price: $0.03 per lead ($0.024 on Gold) · Run it: https://apify.com/automationnation/google-maps-leads · Guide: https://retracn.github.io/automationnation-actors/google-maps-leads/
{
"cities": [
"Austin, TX"
],
"country": "us",
"category": "hair salon",
"noWebsiteOnly": true,
"maxResults": 20
}
REST API
curl -X POST "https://api.apify.com/v2/acts/automationnation~google-maps-leads/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cities": ["Austin, TX"], "country": "us", "category": "hair salon", "noWebsiteOnly": true, "maxResults": 20}'
Python — see examples/python_example.py
# pip install apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automationnation/google-maps-leads").call(run_input={
"cities": [
"Austin, TX"
],
"country": "us",
"category": "hair salon",
"noWebsiteOnly": true,
"maxResults": 20
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("leadScore"), item.get("name"), item.get("phone"), item.get("email"))
JavaScript — see examples/node_example.mjs
// npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('automationnation/google-maps-leads').call({
"cities": [
"Austin, TX"
],
"country": "us",
"category": "hair salon",
"noWebsiteOnly": true,
"maxResults": 20
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.leadScore, item.name, item.phone, item.email);
Hosted MCP server URL (Claude, ChatGPT, Cursor and other clients with remote MCP support):
https://mcp.apify.com?tools=automationnation/google-maps-leads
Local config for Claude Desktop / Cursor — mcp/claude_desktop_config.json:
{
"mcpServers": {
"google-maps-leads": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--tools",
"automationnation/google-maps-leads"
],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_TOKEN"
}
}
}
}
Which countries does it cover? Any country Google Maps covers. Set the two-letter country code so phones are formatted and searches use local IPs when needed.
Can it find businesses without a website? Yes: switch on "Only businesses without a website" to get local businesses with no website on Google Maps, each with an outreach message pitching one.
How much does it cost? $0.03 per lead on Apify's Free plan ($0.024 on Gold and above). Businesses removed by your filters are free.
This repository holds usage examples. The scraper itself runs on the Apify platform; you need a free Apify account and API token. Examples are MIT licensed.