AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Gmaps Leads

skill-aiagentwithdhruv-skills-gmaps-leads · by aiagentwithdhruv

Scrape Google Maps for B2B leads with deep website enrichment and contact extraction. Use when user asks to find local businesses, scrape Google Maps, generate contractor lists, or build local service business databases.

No reviews yet
0 installs
48 views
0.0% view→install

Install

$ agentstack add skill-aiagentwithdhruv-skills-gmaps-leads

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets Used
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-aiagentwithdhruv-skills-gmaps-leads)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
3mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Gmaps Leads? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Google Maps Lead Generation

Goal

Generate high-quality B2B leads from Google Maps with deep contact enrichment by scraping websites and using Claude to extract structured contact data.

Inputs

| Parameter | Required | Description | |-----------|----------|-------------| | --search | Yes | Search query (e.g., "plumbers in Austin TX") | | --limit | No | Max results (default: 10) | | --sheet-url | No | Existing sheet to append to | | --workers | No | Parallel workers (default: 3) |

Scripts

  • ./scripts/gmaps_lead_pipeline.py - Main orchestration
  • ./scripts/gmaps_parallel_pipeline.py - Parallel version
  • ./scripts/scrape_google_maps.py - Google Maps scraper
  • ./scripts/extract_website_contacts.py - Website contact extractor
  • ./scripts/update_sheet.py - Google Sheets sync

Process

Basic Usage

# Create new sheet with 10 leads
python3 ./scripts/gmaps_lead_pipeline.py --search "plumbers in Austin TX" --limit 10

# Append to existing sheet (recommended for building database)
python3 ./scripts/gmaps_lead_pipeline.py --search "dentists in Miami FL" --limit 25 \
  --sheet-url "https://docs.google.com/spreadsheets/d/..."

# Higher volume
python3 ./scripts/gmaps_lead_pipeline.py --search "roofing contractors in Austin TX" \
  --limit 50 --workers 5

Pipeline Steps

  1. Google Maps Scrape - Apify compass/crawler-google-places returns listings
  2. Website Scraping - Fetches main page + up to 5 contact pages
  3. Web Search Enrichment - DuckDuckGo search for owner contact info
  4. Claude Extraction - Claude 3.5 Haiku extracts structured contacts
  5. Google Sheet Sync - Appends new leads, deduplicates by lead_id

Output Schema (36 fields)

Business Basics: businessname, category, address, city, state, zipcode, phone, website, rating, review_count

Extracted Contacts: emails, additionalphones, businesshours

Social Media: facebook, twitter, linkedin, instagram, youtube, tiktok

Owner Info: ownername, ownertitle, owneremail, ownerphone, owner_linkedin

Team Contacts: JSON array of team members

Metadata: leadid, scrapedat, searchquery, pagesscraped, enrichment_status

Cost

| Component | Per Lead | |-----------|----------| | Apify Google Maps | ~$0.01-0.02 | | Claude Haiku | ~$0.002 | | DuckDuckGo/HTTP | Free | | Total | ~$0.012-0.022 |

For 100 leads: ~$1.50-2.50 total

Troubleshooting

  • "No businesses found": Include location in query
  • 403 Forbidden: ~10-15% of sites block scrapers (handled gracefully)
  • Auth issues: Delete token.json and re-authenticate
  • Duplicates: Uses lead_id (MD5 of name|address) for deduplication

Environment

APIFY_API_TOKEN=your_token
ANTHROPIC_API_KEY=your_key

Schema

Inputs

| Name | Type | Required | Description | |------|------|----------|-------------| | search | string | Yes | Search query (e.g., 'plumbers in Austin TX') | | limit | integer | No | Max results (default: 10) | | sheet_url | string | No | Existing sheet to append to | | workers | integer | No | Parallel workers (default: 3) |

Outputs

| Name | Type | Description | |------|------|-------------| | sheet_url | string | Google Sheet URL with 36-field lead data | | lead_count | integer | Number of leads scraped |

Credentials

| Name | Source | |------|--------| | APIFY_API_TOKEN | .env | | ANTHROPIC_API_KEY | .env |

Composable With

Skills that chain well with this one: classify-leads, casualize-names, instantly-campaigns, onboarding-kickoff

Cost

$0.012-0.022 per lead

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.