Lead Scorpion Maps Scraper
Pricing
Pay per usage
Lead Scorpion Maps Scraper
Pricing
Pay per usage
Rating
0.0
(0)
Developer
João Pedro Miguel
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
🦂 Lead Scorpion Maps Scraper
Scraper de Google Maps focado em B2B — emails, telefones, LinkedIn, Instagram e mais — tunado para baixo custo por padrão.
⚡ O que esse actor faz
Roda buscas no Google Maps (keyword × location), extrai os negócios e — opcionalmente — visita o site de cada um pra puxar emails + redes sociais. Tudo via PlaywrightCrawler, com proxy Apify, bypass de consent (EU/BR/US) e cache de domínio (não busca o mesmo site duas vezes na mesma run).
💰 Filosofia: barato por padrão, caro por escolha
A v1.1 tem defaults conservadores. Toggles caros (extractContactDetails, extractImages, extractReviews) começam desligados — você liga quando precisar.
Comparação v1.0 → v1.1
| Setting | v1.0 | v1.1 | Por quê |
|---|---|---|---|
maxConcurrency | 30 | 8 | Sweet spot custo×velocidade — 30 exige 8GB+ RAM |
maxCrawledPlacesPerSearch | 120 | 20 | Run de teste mais barata |
extractContactDetails | true | false | Opt-in — fetch HTTP extra |
extractImages | true | false | Raramente usado em outreach |
maxImages | 4 | 2 | Quando ligado |
maxOpenPagesPerBrowser | 6 | 3 | Menos RAM por Chrome |
navigationTimeoutSecs | 30 | 20 | Sites travados não drenam proxy |
requestHandlerTimeoutSecs | 60 | 45 | Mata DETAIL lento |
MAX_FETCH_BYTES (contact) | 30KB | 20KB | Emails moram no head |
CONTACT_TIMEOUT_MS | 3s | 2.5s | Sites lentos drenam workers |
stagnantScrolls cap | 5 | 4 | Encerra scroll mais rápido |
| URL patterns bloqueados | 11 | 29 | GTM, Hotjar, Clarity, Sentry, Intercom, FullStory, LogRocket, NewRelic, Datadog, Crisp, Tawk, Zendesk, Tidio, doubleclick, googlesyndication, adservice... |
| Resource types bloqueados | 6 | 8 | +websocket +eventsource |
Impacto estimado numa mesma busca (1 query × 1 loc × 20 leads):
- Tempo: ~30-50% mais rápido
- RAM: ~40% menos
- Compute units Apify: ~50-65% menos (∝ RAM × tempo)
🚀 Como subir a v1.1
Você é o autor — pra publicar:
cd "C:\Users\jpmig\OneDrive\Desktop\Scorpion Maps Scraper"# Instala o Apify CLI (primeira vez)irm https://apify.com/install-cli.ps1 | iex# Loginapify login# Sobe código + faz build na nuvem Apifyapify push
Depois entra em Publication e remove a flag "under maintenance".
🛠️ Rodar local (dev/teste)
cd "C:\Users\jpmig\OneDrive\Desktop\Scorpion Maps Scraper"& "C:\Program Files\nodejs\npm.cmd" install& "C:\Program Files\nodejs\npm.cmd" run start:dev
Input lido de storage/key_value_stores/default/INPUT.json.
📦 Input schema
| Campo | Default | Notas |
|---|---|---|
searchStringsArray | ["Marketing Agency"] | Lista de keywords |
locationQuery | ["New York, NY"] | Lista de localizações; combina N×M |
startUrls | [] | Bypass — URLs diretas do Maps |
maxCrawledPlacesPerSearch | 20 | Por par (keyword × localização) |
language | "en-US" | "pt-BR" pra Brasil |
extractContactDetails | false | Opt-in — emails + socials |
extractImages | false | Opt-in — URLs de fotos |
maxImages | 2 | Cap quando ligado |
extractReviews | false | Opt-in — review text (caro!) |
maxReviews | 5 | Cap quando ligado |
proxyConfiguration | { useApifyProxy: true } | Sempre on |
maxConcurrency | 8 | 20-30 só com 8GB+ RAM |
🎯 Perfis prontos
"Telefone + nome, mais barato possível"
{"searchStringsArray": ["dentista"],"locationQuery": ["Pinheiros, São Paulo - SP"],"maxCrawledPlacesPerSearch": 20,"language": "pt-BR","extractContactDetails": false,"extractImages": false,"extractReviews": false,"proxyConfiguration": { "useApifyProxy": true },"maxConcurrency": 8}
"Cold outreach completo (fone + email)"
{"searchStringsArray": ["dentista"],"locationQuery": ["Pinheiros, São Paulo - SP"],"maxCrawledPlacesPerSearch": 50,"language": "pt-BR","extractContactDetails": true,"extractImages": false,"extractReviews": false,"proxyConfiguration": { "useApifyProxy": true },"maxConcurrency": 8}
"Pesquisa de mercado (com reviews)"
{"searchStringsArray": ["restaurante italiano"],"locationQuery": ["Itaim Bibi, São Paulo - SP"],"maxCrawledPlacesPerSearch": 30,"language": "pt-BR","extractContactDetails": false,"extractReviews": true,"maxReviews": 10,"proxyConfiguration": { "useApifyProxy": true },"maxConcurrency": 8}
📊 Output
{searchString: string; // "dentista Pinheiros, São Paulo - SP"title: string;categoryName: string | null;address: string | null;phone: string | null;website: string | null;location: { lat: number, lng: number } | null;plusCode: string | null;totalScore: number | null;reviewsCount: number | null;price: string | null; // "$$", "$$$"permanentlyClosed: boolean;temporarilyClosed: boolean;isClaimed: boolean;placeId: string | null;url: string;// Só se você ligar o toggle:contactDetails?: { emails, facebook, instagram, linkedin, twitter, youtube, tiktok };openingHours?: [{ day, hours }];images?: string[];reviews?: [{ name, stars, text, date }];}
✅ DOs / ❌ DON'Ts
DO
- Termos específicos:
"Dentist","Italian Restaurant" - Use o merger geográfico (niche + location separados)
maxConcurrencyentre 5-10 (default 8 está perfeito)- Comece com
maxCrawledPlacesPerSearch: 20pra testar
DON'T
- Buscar
"Company"sem localização (Google joga lista caótica) - Pôr URL completa em
searchStringsArray— usestartUrls - Desligar proxy em runs grandes
- Subir
maxConcurrencypra 30+ sem aumentar a RAM do actor
🧱 Casos de uso
- Cold outreach B2B — emails + telefones de milhares de empresas em horas.
- Local SEO — filtra
"isClaimed": falseou rating baixo pra vender otimização de GBP. - Database / directories — listagens geográficas para diretórios ou análise competitiva.
Crafted by oblanceolate_infinity · v1.1 cost-optimized