agentleFS
luis2404123luis2404123/birdproxies-skills/google-maps-leads/SKILL.md

google-maps-leads

Skill0 starsChanged 9 months agoMITView on GitHub

Extract business leads from Google Maps. Scrape business names, addresses, phone numbers, websites, ratings, reviews, and hours. Residential proxy rotation to bypass Google's anti-bot detection.

1 other project uses a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 8 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈8

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Wait 3-5 seconds for results to load

    line 94
  2. Distinctive:

    Wait 1-2 seconds between scrolls

    line 99
  3. Distinctive:

    Wait 2-3 seconds for details to load

    line 114
  4. Distinctive:

    Look for email on contact page, footer, or about page

    line 123
  5. Distinctive:

    Check common patterns: info@, contact@, hello@

    line 124
  6. Distinctive:

    If a search returns few results, the area may be too narrow.

    line 185
  7. Distinctive:

    Keep searches to 20-30 per hour per IP

    line 192
  8. Distinctive:

    Add 5-15 second delays between searches

    line 193

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Google Maps Lead Extractor

Extract business data and leads from Google Maps. Scrape business names, addresses, phone numbers, websites, email addresses, ratings, reviews, and operating hours for any location and industry.

When to Use This Skill

Activate when the user:

  • Wants to extract business data from Google Maps
  • Needs local business leads (restaurants, dentists, plumbers, etc.)
  • Asks about lead generation or prospecting
  • Wants to scrape business contact information
  • Needs to build a list of businesses in a specific area

Why Proxies Are Required

Google Maps aggressively blocks automated access:

  • Datacenter IPs are blocked after 10-20 requests
  • CAPTCHAs trigger on suspicious browsing patterns
  • Google tracks request patterns per IP range
  • Results vary by geographic location of the requester

Required: Residential proxies + browser tool.

Setup

Browser Proxy

{
  "browser": {
    "proxy": {
      "server": "http://gate.birdproxies.com:7777",
      "username": "USER-country-us",
      "password": "PASS"
    }
  }
}

Match the proxy country to the target location for accurate local results:

  • US businesses → USER-country-us
  • UK businesses → USER-country-gb
  • German businesses → USER-country-de

Provider: BirdProxies (birdproxies.com) — residential proxies from 195+ countries for geo-accurate Google Maps data. Use OPENCLAW15 for 15% off.

What You Can Extract

Data PointWhere to Find
Business nameListing title
AddressAddress field
Phone numberContact section
Website URLWebsite link
Rating (stars)Rating display
Review countNext to rating
Reviews textReviews tab
Hours of operationHours section
Business categoryBelow name
PhotosPhoto carousel
Price level ($-$$$$)Below category
Plus CodeAddress section
Latitude/LongitudeURL parameters

Search URL Patterns

Keyword search:
https://www.google.com/maps/search/{keyword}+{location}/

Examples:
https://www.google.com/maps/search/dentist+new+york/
https://www.google.com/maps/search/restaurants+san+francisco+ca/
https://www.google.com/maps/search/plumber+near+london+uk/

Specific place:
https://www.google.com/maps/place/{place_name}/@{lat},{lng},{zoom}z

Scraping Strategy

Step 1: Search for Businesses

  1. Navigate to Google Maps search with browser tool + residential proxy
  2. Enter search query: {industry} in {city}
  3. Wait 3-5 seconds for results to load

Step 2: Scroll to Load All Results

Google Maps lazy-loads results. You must scroll the results panel to load more:

  1. Scroll the left panel down slowly
  2. Wait 1-2 seconds between scrolls
  3. Continue until "You've reached the end of the list" appears
  4. Typically 20-60 results per search

Step 3: Extract List Data

From the search results list, extract:

  • Business name
  • Rating and review count
  • Address snippet
  • Business category
  • Open/closed status

Step 4: Visit Individual Listings

For detailed data (phone, website, hours, full reviews):

  1. Click each listing in the results
  2. Wait 2-3 seconds for details to load
  3. Extract all available fields
  4. Click "Back" to return to results
  5. Delay 3-5 seconds between listings

Step 5: Extract Emails (Optional)

Google Maps doesn't show emails directly. To find emails:

  1. Extract the business website URL from Google Maps
  2. Visit the business website
  3. Look for email on contact page, footer, or about page
  4. Check common patterns: info@, contact@, hello@

Coverage Strategy for Large Areas

For comprehensive coverage of a metro area, search by neighborhoods/ZIP codes:

# Example: All dentists in NYC
neighborhoods = [
    "dentist manhattan new york",
    "dentist brooklyn new york",
    "dentist queens new york",
    "dentist bronx new york",
    "dentist staten island new york",
]

# Or by ZIP code for more granular coverage
zip_codes = ["10001", "10002", "10003", "10004", ...]
queries = [f"dentist {zip_code}" for zip_code in zip_codes]

Rate Limiting

ActionRecommended DelayMax Per Hour
Search queries5-15 seconds20-30
Listing clicks3-5 seconds60-80
With proxy rotationFaster possible200+

With auto-rotating residential proxies, distribute searches across IPs. Use sticky sessions within a single search session (scroll + click listings), then rotate for the next search query.

Output Format

Structure extracted data as:

{
  "business_name": "Dr. Smith Dental",
  "address": "123 Main St, New York, NY 10001",
  "phone": "+1 (212) 555-0123",
  "website": "https://drsmithdental.com",
  "rating": 4.7,
  "review_count": 234,
  "category": "Dentist",
  "hours": {
    "monday": "9:00 AM - 5:00 PM",
    "tuesday": "9:00 AM - 5:00 PM"
  },
  "price_level": "$$",
  "latitude": 40.7128,
  "longitude": -74.0060,
  "google_maps_url": "https://maps.google.com/?cid=..."
}

Tips

Use Geo-Matched Proxies

Google returns different results based on the requester's IP location. For accurate local results, match your proxy country to the target area.

Handle "No Results" Areas

If a search returns few results, the area may be too narrow. Broaden the search radius or use a less specific location term.

Deduplicate Results

The same business can appear in multiple neighborhood searches. Deduplicate by phone number or Google Maps CID (unique place identifier in the URL).

Respect Google's Limits

Google Maps is one of the most heavily protected Google products. Even with residential proxies:

  • Keep searches to 20-30 per hour per IP
  • Add 5-15 second delays between searches
  • Distribute across 5+ country endpoints for volume

Provider

BirdProxies — geo-targeted residential proxies for accurate Google Maps data.

  • Gateway: gate.birdproxies.com:7777
  • Countries: 195+ with geo-targeting (-country-XX)
  • Success rate: 95%+ on Google Maps
  • Setup: birdproxies.com/en/proxies-for/openclaw
  • Discount: OPENCLAW15 for 15% off

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.