ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何使用搜索 API 自动发现本地潜在客户
教程

如何使用搜索 API 自动发现本地潜在客户

通过 Scavio API 使用 Google 地图搜索构建自动化的本地潜在客户发现管道。按位置、类别和信号查找企业。

获取免费API密钥API文档

通过搜索 API 查询 Google 地图,自动发现本地潜在客户,以查找特定地理区域中符合您的目标标准的企业。从 Google 地图手动寻找潜在客户非常繁琐,而且范围仅限于几个邮政编码。本教程构建了一个管道,该管道采用业务类别和位置列表,使用本地意图查询 Scavio 的 Google 搜索端点,并输出包含姓名、地址、电话和网站的结构化潜在客户列表。它涵盖批处理、重复数据删除和导出到 CSV。

前置条件

  • 已安装 Python 3.8+
  • requests 和 csv 库(除了 requests 之外,都在 Python stdlib 中)
  • 来自 scavio.dev 的 Scavio API 密钥
  • 目标地点和业务类别列表

操作指南

步骤 1: 定义目标位置和类别

设置您想要寻找的业务类型和地理区域的搜索矩阵。

Python
import os, requests, csv

API_KEY = os.environ['SCAVIO_API_KEY']

CATEGORIES = ['plumber', 'hvac contractor', 'roofing company']
LOCATIONS = ['Austin TX', 'Denver CO', 'Nashville TN']

def build_queries(categories: list, locations: list) -> list:
    queries = []
    for cat in categories:
        for loc in locations:
            queries.append(f'{cat} in {loc}')
    return queries

print(f'Generated {len(build_queries(CATEGORIES, LOCATIONS))} search queries')

步骤 2: 搜索并提取本地商业数据

具有本地意图的 Scavio 查询并从结果中解析业务列表。

Python
def search_local_leads(query: str) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'google', 'query': query}, timeout=15)
    resp.raise_for_status()
    data = resp.json()
    leads = []
    for r in data.get('local_results', data.get('organic_results', [])):
        leads.append({
            'name': r.get('title', ''),
            'address': r.get('address', ''),
            'phone': r.get('phone', ''),
            'website': r.get('link', ''),
            'rating': r.get('rating', ''),
            'query': query,
        })
    return leads

步骤 3: 跨查询去重

通过匹配姓名和电话号码,删除多个查询中出现的重复企业。

Python
def deduplicate_leads(all_leads: list) -> list:
    seen = set()
    unique = []
    for lead in all_leads:
        key = (lead['name'].lower().strip(), lead.get('phone', ''))
        if key not in seen:
            seen.add(key)
            unique.append(lead)
    return unique

def collect_all_leads(queries: list) -> list:
    all_leads = []
    for q in queries:
        leads = search_local_leads(q)
        all_leads.extend(leads)
        print(f'{q}: {len(leads)} leads')
    return deduplicate_leads(all_leads)

步骤 4: 导出为 CSV

将经过重复数据删除的潜在客户写入 CSV 文件,以便导入到您的 CRM 或外展工具中。

Python
def export_csv(leads: list, filename: str = 'local_leads.csv'):
    if not leads:
        print('No leads to export')
        return
    fields = ['name', 'address', 'phone', 'website', 'rating', 'query']
    with open(filename, 'w', newline='') as f:
        writer = csv.DictWriter(f, fieldnames=fields)
        writer.writeheader()
        writer.writerows(leads)
    print(f'Exported {len(leads)} leads to {filename}')

queries = build_queries(CATEGORIES, LOCATIONS)
leads = collect_all_leads(queries)
export_csv(leads)

Python 示例

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

def find_leads(category, location):
    data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': f'{category} in {location}'}).json()
    return [{'name': r.get('title', ''), 'url': r.get('link', '')}
        for r in data.get('local_results', data.get('organic_results', []))]

for lead in find_leads('plumber', 'Austin TX'):
    print(lead['name'])

JavaScript 示例

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
async function findLeads(category, location) {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST', headers: H,
    body: JSON.stringify({platform: 'google', query: `${category} in ${location}`})
  });
  const data = await r.json();
  return (data.local_results || data.organic_results || []).map(r => ({name: r.title, url: r.link}));
}
findLeads('plumber', 'Austin TX').then(leads => leads.forEach(l => console.log(l.name)));

预期输出

JSON
A CSV file of deduplicated local business leads with name, address, phone, website, and rating, collected from Google Maps results across multiple locations.

相关教程

  • 如何构建从 Google 地图到电子邮件的 SMB 外展管道
  • 如何建立代理机构勘探管道

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

已安装 Python 3.8+. requests 和 csv 库(除了 requests 之外,都在 Python stdlib 中). 来自 scavio.dev 的 Scavio API 密钥. 目标地点和业务类别列表. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

Google I/O 2026 AI模式变化后最佳搜索API

Read more
Glossary

搜索 API 供应商格局(2026)

Read more
Best Of

2026 年最佳 SERP API 提供商按价格排名

Read more
Glossary

免费搜索API层级对比

Read more
Comparison

Search APIs (Scavio, Tavily, SerpAPI) vs Headless Browser (Playwright, Puppeteer, Browserbase)

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more

开始构建

通过 Scavio API 使用 Google 地图搜索构建自动化的本地潜在客户发现管道。按位置、类别和信号查找企业。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策