ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un canal de difusión completo de Google Maps a WhatsApp
Tutorial

Cómo crear un canal de difusión completo de Google Maps a WhatsApp

Canalización completa desde la búsqueda de empresas de Google Maps hasta las plantillas de mensajes de WhatsApp con extracción de números de teléfono y personalización de mensajes.

Obtener clave API gratisDocumentacion API

Un hilo de r/coldemail solicitó un proceso completo desde la búsqueda de empresas en Google Maps hasta el envío de mensajes de WhatsApp. Este tutorial cubre el ciclo completo: buscar por categoría y ubicación, extraer números de teléfono, generar mensajes personalizados y crear enlaces de clic para chatear. Todos los datos provienen de una API.

Requisitos previos

  • Clave API de Scavio
  • Python 3.8+
  • Cuenta WhatsApp Business o WhatsApp personal

Guia paso a paso

Paso 1: Búsqueda por lotes en Google Maps por categoría

Busque múltiples categorías en una ciudad.

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def batch_maps_search(categories, city):
    all_leads = []
    for cat in categories:
        data = requests.post('https://api.scavio.dev/api/v1/search',
            headers=H,
            json={'platform': 'google', 'query': f'{cat} in {city}',
                  'type': 'maps'}).json()
        for b in data.get('local_results', []):
            b['category'] = cat
            all_leads.append(b)
    return all_leads

categories = ['restaurant', 'dentist', 'gym', 'salon']
leads = batch_maps_search(categories, 'Miami FL')

Paso 2: Limpiar y validar números de teléfono

Formatee números de teléfono para WhatsApp (necesita código de país).

Python
import re

def clean_phone(phone, country_code='1'):
    if not phone:
        return None
    digits = re.sub(r'\D', '', phone)
    if len(digits) == 10:
        digits = country_code + digits
    if len(digits) < 11:
        return None
    return digits

def extract_leads_with_phones(businesses):
    valid = []
    for b in businesses:
        phone = clean_phone(b.get('phone'))
        if phone:
            valid.append({
                'name': b.get('title', ''),
                'phone': phone,
                'category': b.get('category', ''),
                'rating': b.get('rating'),
                'address': b.get('address', ''),
            })
    return valid

Paso 3: Generar mensajes de WhatsApp específicos de categorías

Diferentes plantillas para diferentes tipos de negocios.

Python
templates = {
    'restaurant': 'Hi! I saw {name} has great reviews ({rating} stars). '
        'I help restaurants increase online orders with a simple website update. '
        'Worth a quick chat?',
    'dentist': 'Hi! I came across {name} and noticed you serve the {area} area. '
        'I help dental practices get more patients through online visibility. '
        'Can I send over a quick case study?',
    'default': 'Hi! I found {name} on Google Maps ({rating} stars -- impressive). '
        'I help local businesses like yours grow their online presence. '
        'Would you be open to a quick chat?'
}

def generate_wa_link(lead, service_templates=templates):
    template = service_templates.get(lead['category'], service_templates['default'])
    msg = template.format(name=lead['name'], rating=lead.get('rating', 'great'),
        area=lead.get('address', '').split(',')[0] if lead.get('address') else 'your')
    encoded = requests.utils.quote(msg)
    return f"https://wa.me/{lead['phone']}?text={encoded}"

Paso 4: Exportar la salida completa del oleoducto

CSV con todos los datos de los clientes potenciales y enlaces de WhatsApp.

Python
import csv

def export_pipeline(leads, filename='whatsapp_pipeline.csv'):
    with open(filename, 'w', newline='') as f:
        fields = ['name', 'phone', 'category', 'rating', 'address', 'wa_link']
        writer = csv.DictWriter(f, fieldnames=fields)
        writer.writeheader()
        for lead in leads:
            lead['wa_link'] = generate_wa_link(lead)
            writer.writerow({k: lead.get(k, '') for k in fields})
    print(f'Exported {len(leads)} leads to {filename}')

# Pipeline: 4 categories = 4 queries = $0.02 total
leads = batch_maps_search(['restaurant', 'dentist', 'gym', 'salon'], 'Miami FL')
valid = extract_leads_with_phones(leads)
export_pipeline(valid)

Ejemplo en Python

Python
import os, requests, re
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def maps_to_whatsapp(category, city):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': f'{category} in {city}', 'type': 'maps'}).json()
    for b in data.get('local_results', []):
        phone = re.sub(r'\D', '', b.get('phone', ''))
        if len(phone) >= 10:
            print(f"{b['title']}: https://wa.me/{phone}")

maps_to_whatsapp('salon', 'Austin TX')

Ejemplo en JavaScript

JavaScript
const res = await fetch('https://api.scavio.dev/api/v1/search', {
  method: 'POST',
  headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
  body: JSON.stringify({platform: 'google', query: `${category} in ${city}`, type: 'maps'})
}).then(r => r.json());
res.local_results?.filter(b => b.phone).forEach(b => {
  const phone = b.phone.replace(/\D/g, '');
  console.log(`${b.title}: https://wa.me/${phone}`);
});

Salida esperada

JSON
CSV with business name, phone, category, rating, address, and WhatsApp click-to-chat link. Category-specific message templates. 4 categories = $0.02 total.

Tutoriales relacionados

  • Cómo crear una canalización de clientes potenciales de Google Maps a WhatsApp
  • Cómo crear un canal de difusión para PYMES desde Google Maps hasta el correo electrónico

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Clave API de Scavio. Python 3.8+. Cuenta WhatsApp Business o WhatsApp personal. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores API de datos comerciales de Google Maps (mayo de 2026)

Read more
Workflow

WhatsApp Lead Outreach de Google Maps

Read more
Solution

Enriquezca las campañas de correo electrónico frío con datos comerciales de Google Maps

Read more
Glossary

Extracción de clientes potenciales de Google Maps

Read more
Best Of

Las mejores herramientas de generación de leads de Google Maps + WhatsApp (2026)

Read more
Solution

Alcance de WhatsApp con clientes potenciales de Google Maps

Read more

Empieza a construir

Canalización completa desde la búsqueda de empresas de Google Maps hasta las plantillas de mensajes de WhatsApp con extracción de números de teléfono y personalización de mensajes.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad