Workflow

Offline Business Prospecting Workflow

Find businesses without websites using Google Maps SERP data: phone numbers, addresses, and reviews from search results, no scraping needed.

Overview

Target offline-first businesses (plumbers, contractors, restaurants) that have Google Business profiles but no website. Extract contact info from SERP structured data, qualify by review count and rating, output a prospecting list.

Trigger

Weekly batch or on-demand

Schedule

Weekly batch

Workflow Steps

1

Build local queries

Combine service type + city: 'plumber in Austin TX', 'electrician near me Dallas'. One query per niche+city pair.

2

Search Scavio Google endpoint

POST /api/v1/search with platform=google for each query. Parse local pack results.

3

Filter for no-website businesses

Check if the result has a website URL. Keep only those with phone/address but no website.

4

Qualify by reviews

Filter: rating >= 4.0, review count >= 10. These are established businesses likely to convert.

5

Export to CSV

Columns: business name, phone, address, rating, review count, category, city.

Python Implementation

Python
import requests, csv, os

key = os.environ["SCAVIO_API_KEY"]
queries = ["plumber in Austin TX", "electrician in Dallas TX"]

leads = []
for q in queries:
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": key},
        json={"query": q, "platform": "google", "limit": 20})
    for r in resp.json().get("results", []):
        if r.get("phone") and not r.get("website"):
            leads.append({"name": r["title"], "phone": r["phone"],
                "address": r.get("address", ""), "rating": r.get("rating", "")})

with open("leads.csv", "w", newline="") as f:
    w = csv.DictWriter(f, fieldnames=["name", "phone", "address", "rating"])
    w.writeheader()
    w.writerows(leads)
print(f"Found {len(leads)} offline leads")

JavaScript Implementation

JavaScript
const queries = ["plumber in Austin TX", "electrician in Dallas TX"];
const leads = [];
for (const q of queries) {
  const resp = 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({ query: q, platform: "google", limit: 20 })
  });
  for (const r of (await resp.json()).results) {
    if (r.phone && !r.website) leads.push({ name: r.title, phone: r.phone });
  }
}
console.log(`Found ${leads.length} offline leads`);

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Target offline-first businesses (plumbers, contractors, restaurants) that have Google Business profiles but no website. Extract contact info from SERP structured data, qualify by review count and rating, output a prospecting list.

This workflow uses a weekly batch or on-demand. Weekly batch.

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.

Offline Business Prospecting Workflow

Find businesses without websites using Google Maps SERP data: phone numbers, addresses, and reviews from search results, no scraping needed.