Workflow

Local Business Lead Discovery Pipeline

Discover local business leads daily using search API. Automate prospecting for agencies serving local businesses.

Overview

Agencies that serve local businesses (restaurants, dentists, plumbers, gyms) need a steady flow of new prospects. This workflow searches Google daily for local businesses in target cities and verticals, filters for businesses with weak online presence (no website, outdated listings, poor reviews), and pushes qualified leads to the sales pipeline. One API call per search, no scraping required.

Trigger

Cron schedule (daily at 9 AM UTC)

Schedule

Daily at 9 AM UTC

Workflow Steps

1

Load target markets

Read list of target cities, verticals (dentist, plumber, restaurant), and qualifying criteria from config.

2

Search for local businesses

For each city-vertical combo, query Google via Scavio for business listings. Extract names, addresses, and URLs.

3

Identify weak online presence

Filter for businesses without a website, with poor Google ratings, or with outdated information in snippets.

4

Check for existing outreach

Compare against your CRM to skip businesses you have already contacted.

5

Score and prioritize

Score leads by opportunity signals: no website = high priority, bad reviews mentioning fixable issues = medium.

6

Push to outreach pipeline

Format leads with context (why they need help) and push to your CRM or outreach tool.

Python Implementation

Python
import requests, os, json

H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}

MARKETS = [
    {"city": "Austin TX", "verticals": ["dentist", "plumber", "restaurant"]},
    {"city": "Denver CO", "verticals": ["chiropractor", "gym", "salon"]}
]

def find_local_leads():
    leads = []
    for market in MARKETS:
        for vertical in market["verticals"]:
            query = f"{vertical} in {market['city']}"
            r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
                json={"platform": "google", "query": query}, timeout=10).json()
            for o in r.get("organic", [])[:10]:
                snippet = o.get("snippet", "").lower()
                has_website = bool(o.get("link"))
                low_rating = "rating" in snippet and any(
                    f"{n}" in snippet for n in ["1.", "2.", "3."])
                leads.append({
                    "business": o.get("title"),
                    "url": o.get("link"),
                    "city": market["city"],
                    "vertical": vertical,
                    "snippet": o.get("snippet"),
                    "opportunity": "no_website" if not has_website else
                                  "low_rating" if low_rating else "standard"
                })
    return leads

for lead in find_local_leads():
    print(json.dumps(lead))

JavaScript Implementation

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};

async function findLocalLeads(markets) {
  const leads = [];
  for (const market of markets) {
    for (const vertical of market.verticals) {
      const r = await fetch("https://api.scavio.dev/api/v1/search", {
        method: "POST", headers: H,
        body: JSON.stringify({platform: "google", query: vertical + " in " + market.city})
      }).then(r => r.json());
      for (const o of (r.organic || []).slice(0, 10)) {
        leads.push({
          business: o.title, url: o.link, city: market.city,
          vertical, snippet: o.snippet
        });
      }
    }
  }
  return leads;
}

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Agencies that serve local businesses (restaurants, dentists, plumbers, gyms) need a steady flow of new prospects. This workflow searches Google daily for local businesses in target cities and verticals, filters for businesses with weak online presence (no website, outdated listings, poor reviews), and pushes qualified leads to the sales pipeline. One API call per search, no scraping required.

This workflow uses a cron schedule (daily at 9 am utc). Daily at 9 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 500 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

Local Business Lead Discovery Pipeline

Discover local business leads daily using search API. Automate prospecting for agencies serving local businesses.