Workflow

Daily Local SMB Lead Discovery

Discover new local SMB leads daily via Google local pack search. Automated pipeline for local service businesses at $0.005/query.

Overview

This workflow discovers new local SMB leads daily by querying Google for service categories across target cities. It extracts business names, ratings, and snippets from local pack results, deduplicates against previously discovered leads, and outputs new leads for sales outreach. Designed for agencies and sales teams targeting local businesses where Apollo coverage is poor.

Trigger

Cron schedule (daily at 9 AM UTC)

Schedule

Runs daily at 9:00 AM UTC

Workflow Steps

1

Load service categories and cities

Read the target service types and geographic areas to search.

2

Query local searches

For each service-city combination, query Scavio Google to get local pack results.

3

Extract business leads

Parse business names, links, ratings, and review snippets from results.

4

Deduplicate against known leads

Compare against the existing lead database to identify only new businesses.

5

Output new leads

Write new leads to the CRM or output file for sales team review.

Python Implementation

Python
import requests
import json
from pathlib import Path

API_KEY = "your_scavio_api_key"

def discover_leads(services: list[str], cities: list[str]) -> list[dict]:
    seen_path = Path("seen_leads.json")
    seen = set(json.loads(seen_path.read_text())) if seen_path.exists() else set()
    new_leads = []

    for service in services:
        for city in cities:
            res = requests.post(
                "https://api.scavio.dev/api/v1/search",
                headers={"x-api-key": API_KEY},
                json={"platform": "google", "query": f"{service} in {city}"},
                timeout=15,
            )
            if not res.ok:
                continue
            for r in res.json().get("organic", [])[:10]:
                link = r.get("link", "")
                if link and link not in seen:
                    seen.add(link)
                    new_leads.append({
                        "service": service,
                        "city": city,
                        "name": r.get("title", ""),
                        "link": link,
                        "snippet": r.get("snippet", ""),
                    })

    seen_path.write_text(json.dumps(list(seen)))
    return new_leads

leads = discover_leads(["plumber", "electrician", "hvac"], ["Austin TX", "San Antonio TX"])
print(f"New leads: {len(leads)}")
for lead in leads[:5]:
    print(f"  [{lead['service']}] {lead['city']}: {lead['name'][:50]}")

JavaScript Implementation

JavaScript
const API_KEY = "your_scavio_api_key";

async function discoverLeads(services, cities) {
  const seen = new Set();
  const leads = [];
  for (const svc of services) {
    for (const city of cities) {
      const res = await fetch("https://api.scavio.dev/api/v1/search", {
        method: "POST",
        headers: { "x-api-key": API_KEY, "content-type": "application/json" },
        body: JSON.stringify({ platform: "google", query: `${svc} in ${city}` }),
      });
      if (!res.ok) continue;
      for (const r of ((await res.json()).organic ?? []).slice(0, 10)) {
        if (r.link && !seen.has(r.link)) {
          seen.add(r.link);
          leads.push({ service: svc, city, name: r.title ?? "", link: r.link });
        }
      }
    }
  }
  return leads;
}

const leads = await discoverLeads(["plumber"], ["Austin TX"]);
console.log(`Found ${leads.length} new leads`);

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

This workflow discovers new local SMB leads daily by querying Google for service categories across target cities. It extracts business names, ratings, and snippets from local pack results, deduplicates against previously discovered leads, and outputs new leads for sales outreach. Designed for agencies and sales teams targeting local businesses where Apollo coverage is poor.

This workflow uses a cron schedule (daily at 9 am utc). Runs daily at 9:00 AM UTC.

This workflow uses the following Scavio platforms: google. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

Daily Local SMB Lead Discovery

Discover new local SMB leads daily via Google local pack search. Automated pipeline for local service businesses at $0.005/query.