案例研究

用 AI 建本地潜在客户名单:
100 家牙科诊所、验证过的邮箱、每条线索的成本

一次真实运行:从 Google Maps 找到奥斯汀 100 家牙科诊所,验证它们的邮箱,并为每家写一句个性化开场白,总计 $0.19,每条验证过的线索不到 1¢。

预付费,无订阅REST 或 MCP一个密钥搞定模型、数据和智能体
Google MapsWebsitesEmaillovelyjsonfindings"practices": 100"unique_emails": 44"deliverable": 22"reachable_businesses": 21"cost_per_lead": "$0.009""cost": "$0.19"

本地潜在客户名单是 B2B 销售的常备工具:一座城市里的每一家牙科诊所、健身房或律师事务所,加上联系他们的方式和理由。代理机构按线索收费,而爬来的名单往往有一半已经失效。我们想要真实的数字:实际能联系上多少本地商家、要花多少钱、模型能不能写出值得发出去的开场白。下面的一切都来自 2026 年 10 月 26 日的一次运行,假设的卖家是一家在线预约软件公司,地点是得克萨斯州奥斯汀。总计:$0.19。

我们不在这里公开诊所的名称、邮箱或员工姓名。重点是方法和数字。

01

我们的问题

?

奥斯汀有多少家牙科诊所可以通过邮件联系到?这些地址质量如何?每条可用线索要花多少钱?

02

我们收集的数据

步骤工具我们要的内容结果费用
查找诊所Google Maps leads得克萨斯州奥斯汀 15 km 范围内的 "dentist",只要有网站的,并从每个网站抓取联系方式100 家诊所$0.075
核验邮箱Email verification找到的每一个不重复邮箱44 个邮箱$0.066
阅读评论Google Maps reviews5 家诊所各自最新的 5 条评论(用于第二轮开场白)25 条评论$0.017

其余约 $0.03 是模型调用的费用。线索工具会搜索 Google Maps,并访问每家诊所的网站获取邮箱、电话和社交媒体链接,所以一次调用得到的就是一份已经补全信息的名单。

03

我们的发现

电话好找,邮箱难找。 100 家诊所中有 99 家在 Google Maps 上留了电话,而且全都链接了社交媒体主页。只有 67 家在网站上列出了邮箱,而这 67 家共用 44 个地址:一家口腔外科集团的 14 个分店都用同样的两个邮箱。如果按地点而不是按邮箱计数,名单会被夸大一半。

一半邮箱有风险。 44 个地址中,22 个可送达,19 个有风险,3 个无效。有风险的大多是 catch-all 域名(13 个),这类域名接收任何地址的邮件,所以你无法判断是否有人在看;另外是没有响应的邮件服务器(9 个)。44 个中有 22 个是 info@ 或 office@ 这类职能邮箱,对小诊所来说很正常。

真正能联系上的诊所有 21 家。 按诊所算:31 家有可送达的邮箱,34 家只有有风险的邮箱,2 家只有无效邮箱,33 家没有邮箱。按不重复的商家算,有 21 家拥有可送达的邮箱:从 100 家的搜索结果中得到一份干净、真实的名单规模。

每条验证过的线索成本:不到 1¢。 整次运行 $0.19,即每家拥有可送达邮箱的商家 $0.009,个性化开场白也包括在内。

04

写开场白

{}

我们请 gpt-5.6-luna 这个快速又便宜的模型为每家诊所写一句话,只用它数据中的一个真实细节,别的什么都不加。只有 Maps 上的商家信息可用时,它写得准确但平淡:

"[Practice] is listed in [neighborhood] with a 4.9 rating across 258 reviews."([诊所] 位于 [街区],258 条评论平均评分 4.9。)

于是我们为五家诊所补充了各自最新的五条 Google 评论($0.017),再问一次,并要求优先使用与预约、排期或前台有关的内容,因为那正是卖家关心的。差别如下:

"A recent review says your staff accommodated a fast-track appointment for emergency treatment."(最近一条评论说,你们的员工为急诊治疗安排了快速通道预约。)

"A patient said booking a last-minute appointment online was very easy."(一位患者说,在线预约临时号非常方便。)

"A patient praised your entire front office and clinical team for creating an atmosphere of ease and assurance."(一位患者称赞你们整个前台和诊疗团队营造了轻松、安心的氛围。)

我们把每一句都和对应的评论核对过:全部忠实于评论者所写的内容。

05

下次要注意的

"最新"不一定是新的。

在线预约那句话所依据的评论写于几年前,之后又被编辑过;评论本身就注明了这一点。"Recent review"(最近一条评论)是模型的措辞,不是数据给出的。把评论日期和文字一起发过去,并要求模型只提过去一年内的评论。

连锁店看起来像很多条线索。

在计数或联系任何人之前,先按邮箱域名或邮箱分组,否则一家商家会收到十四封邮件。

有风险不等于失效。

catch-all 域名很可能也能联系到真人。把有风险的地址留给一个更慢的、单独的发送序列,而不是直接丢掉,并且先只给可送达的地址发信。

06

自己跑一遍

API 密钥放在 LOVELY_API_KEY 中,使用市场调研案例里的 run_tool 和 ask 辅助函数:

Python
places = run_tool("google-maps-leads", {"searchTerms": ["dentist"], "location": "Austin, TX, USA", "radius": 15, "maxResults": 100, "websiteFilter": "withWebsite"}, 100)

emails = sorted({e.strip().lower() for p in places for e in (p.get("emails") or [])})
checked = {r["email"]: r["status"] for r in run_tool("email-verify", {"emails": emails}, len(emails))}

leads, seen = [], set()
for p in places:
    good = [e.strip().lower() for e in (p.get("emails") or []) if checked.get(e.strip().lower()) == "good"]
    if good and good[0] not in seen:
        seen.add(good[0])
        leads.append({"id": len(leads), "name": p["title"], "email": good[0], "rating": p.get("rating"), "reviews": p.get("reviewCount"), "categories": p.get("categories")})

lines = ask("One sentence per practice using one true detail from its data. Return a JSON array of {id, line}.", leads, model="gpt-5.6-luna")

换掉搜索词和城市,就能用于任何本地市场。想要一份保存为 CSV 的分步版本,请看把 Google Maps 线索导出为 CSV;背后用到的工具见潜在客户开发。

07

常见问题

?
一份潜在客户名单要花多少钱?+

这一份:$0.19,搜索了 100 家诊所,核验了 44 个邮箱,得到 21 条带开场白的验证线索,每条不到 1¢。工具按结果计费(按地点、按邮箱、按评论),模型按 token 计费,都从同一笔预付余额中扣除。

这些邮箱有多准确?+

在找到的 44 个中,按我们核验当天的结果,22 个可送达,19 个有风险,3 个无效。发送前一定要先核验:名单会过期,退信会损害你的发信信誉。

模型能写整封邮件吗?+

能,但个性化最能体现在开场白上,而开场白的好坏取决于你给它的事实。只用商家信息时,写出的句子准确但泛泛;每家诊所加上五条评论后,写出的句子就具体了,每条成本不到半美分。

用这种方式找到的商家,我可以给他们发邮件吗?+

公司在自家网站上公布的商务联系方式通常被用于 B2B 外联,但具体规则取决于你和对方所在的地区(例如美国的 CAN-SPAM、欧盟的 GDPR)。表明你的身份,提供退订方式,并查清适用于你的规则。

一个预付费密钥,搞定模型、数据和智能体

无需订阅。充值后按需使用,每笔费用都能在日志中查看。