当用户需要通过 Apify Actor 从 Google Maps 获取企业邮箱、网站、电话等公开线索时使用此技能。
Google Maps 电子邮件提取器 认证 Skill.是一项面向实际任务的技能,主要用于Overview. 此技能帮助一个AI代理运行 Google Maps 电子邮件提取器的代理, 用于从 Google Maps 创建的公众商业电子邮件的引导生成.;Default。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
该技能帮助 AI 代理运行 Apify 的 Google Maps 邮箱提取器 actor,用于从 Google Maps 中批量获取公开的企业邮箱线索。
默认 actor:
f3dlnXVnBc6v8JMNKx_guru/google-maps-email-extractorhttps://apify.com/x_guru/google-maps-email-extractorhttps://console.apify.com/actors/f3dlnXVnBc6v8JMNK/source当用户提出以下请求时,请使用此技能:
emailsOnly)maxTotalChargeUsd 控制 Apify 费用支出searchStringsArray、locationQuery、maxCrawledPlacesPerSearch、contactResultMode: "emailsOnly"、website: "withWebsite" 和 language。startUrls 或 placeIds 字段。contactPagesLimit 值。maxTotalChargeUsd。scripts/google_maps_email_extractor_actor.py 脚本,或直接调用 Apify API。RUN_SUMMARY 获取诊断信息。searchStringsArray、locationQuery、maxCrawledPlacesPerSearch 和 language。contactResultMode: "emailsOnly"。website: "withWebsite" 以启用邮箱提取,因为公开邮箱通常来源于企业官网。maxCrawledPlacesPerSearch 表示期望最终保存的邮箱线索数量;actor 可能在内部扫描更多 Google Maps 候选地点,以满足该目标。contactPagesLimit 默认值为 2;如需更深度挖掘邮箱,可设为 3–5。includePersonalData=false 将主要保留通用公司邮箱(如 info@、sales@、hello@、contact@),排除人名风格邮箱。startUrls 必须为对象数组格式:[{"url": "https://www.google.com/maps/..."}]。placeIds 接受原始 Google Place ID 或兼容的 place_id: 格式值。contactResultMode 必须为 emailsOnly、contactsOnly 或 allPlaces 之一。categoryFilterWords、placeCategories、customPlaceCategories、searchMatching、placeMinimumStars、website 和 skipClosedPlaces。locationQuery、countryCode、city、state、county、postalCode、customGeolocation、locationBounds 或 strictLocationBounds。maxReviews)。如需抓取评论内容,请使用独立的 Google Maps Reviews Scraper 技能。使用环境变量中的 Apify API token:
export APIFY_TOKEN='apify_api_xxx'
切勿在面向用户的输出中硬编码或打印完整 token。
所附脚本仅依赖 Python 标准库。
执行快速邮箱线索搜索:
APIFY_TOKEN='apify_api_xxx' python3 scripts/google_maps_email_extractor_actor.py quick-search --query "wedding photographer" --location "Austin, Texas, USA" --limit 25 --budget-usd 1
按 Google Maps URL 执行:
APIFY_TOKEN='apify_api_xxx' python3 scripts/google_maps_email_extractor_actor.py quick-url --url "https://www.google.com/maps/search/roofing+contractor+Dallas,+TX" --limit 50 --budget-usd 1
按 Place ID 执行:
APIFY_TOKEN='apify_api_xxx' python3 scripts/google_maps_email_extractor_actor.py quick-place-id --place-id "ChIJE2Flwy-1RIYRWqJr_ZiMGc" --budget-usd 1
运行自定义 JSON 输入:
APIFY_TOKEN='apify_api_xxx' python3 scripts/google_maps_email_extractor_actor.py run --input-file references/sample_input.json --budget-usd 1
{
"searchStringsArray": ["wedding photographer"],
"locationQuery": "Austin, Texas, USA",
"maxCrawledPlacesPerSearch": 100,
"contactResultMode": "emailsOnly",
"contactPagesLimit": 2,
"includePersonalData": true,
"website": "withWebsite",
"skipClosedPlaces": true,
"language": "en"
}
{
"searchStringsArray": ["commercial electrician"],
"locationQuery": "Denver, Colorado, USA",
"maxCrawledPlacesPerSearch": 100,
"contactResultMode": "emailsOnly",
"includePersonalData": false,
"website": "withWebsite"
}
{
"startUrls": [
{
"url": "https://www.google.com/maps/search/marketing+agency+near+Chicago,+IL"
}
],
"maxCrawledPlacesPerSearch": 50,
"contactResultMode": "emailsOnly",
"website": "withWebsite"
}
执行器返回 JSON 格式结果,包含以下字段:
okactorIdfetchedAtinputUseditemCountrows[]rows[] 为 actor 数据集条目,关键字段分组如下:
title、categoryName、categories、rank、searchStringemails、emailDetails.email、emailDetails.type、emailDetails.sourceUrl、emailDetails.domainMatchwebsite、phone、phoneUnformatted、additionalPhones、各类社交平台资料数组address、street、city、state、postalCode、countryCode、location、plusCodetotalScore、reviewsCount、reviewsDistribution、营业状态标记placeId、fid、cid、kgmid、url、searchPageUrlcontactSignals、contactStatus、additionalInfo.companyContacts、scrapedAt完整契约详见 references/input-output-contract.md。
rows 为空,请说明任务执行成功,但未保存到邮箱线索,并建议检查 RUN_SUMMARY。contactsOnly 或 allPlaces 模式下某条记录的 emails 字段为空,请说明该记录因其他有效联系信息(如电话、网站)而被保留。maxTotalChargeUsd 参数进行防护。references/input-output-contract.mdreferences/sample_input.jsonreferences/troubleshooting.md