job-posting-intent
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseJob Posting Intent Detection
招聘信息意向检测
Find companies that are hiring for roles related to the problem you solve. A job posting is a budget signal — the company has allocated money to solve a problem your product addresses.
Results are automatically exported to a Google Sheet with signal strength, decision-maker suggestions, outreach angles, and personalization context.
寻找正在招聘与你业务解决领域相关岗位的企业。招聘信息是一种预算信号——意味着该企业已经划拨资金,用于解决你的产品能够应对的问题。
结果会自动导出到Google Sheet中,包含信号强度、决策人建议、客户开发沟通角度以及个性化背景信息。
Why This Works
为什么这种方法有效
When a company posts a job, they've:
- Allocated budget (headcount is expensive)
- Acknowledged the problem exists
- Started actively solving it
If your product helps solve that problem faster, cheaper, or better than a hire alone, the timing is perfect.
当企业发布招聘信息时,说明他们已经:
- 划拨了预算(招聘员工成本高昂)
- 意识到问题的存在
- 开始积极解决问题
如果你的产品能够比单独招聘员工更快、更便宜、更好地解决该问题,那么现在就是绝佳的触达时机。
Cost
成本说明
Apify Actor: (pay-per-event)
harvestapi/linkedin-job-search| Component | Cost |
|---|---|
| Actor start (per run) | $0.001 |
| Per job result | $0.001 |
| Apify platform fee | +20% |
Typical run costs:
| Scenario | Titles | Jobs/title | Runs | Est. Cost |
|---|---|---|---|---|
| Quick scan | 3 | 25 | 3 | ~$0.09 |
| Standard | 5 | 25 | 5 | ~$0.16 |
| Deep search | 5 | 100 | 5 | ~$0.60 |
| Multi-location | 5×3 | 25 | 15 | ~$0.47 |
Google Sheet creation is free (uses Rube/Composio integration).
Always run first to see the Apify cost before executing.
--estimate-onlyTrack usage: https://console.apify.com/billing
Apify Actor: (按事件付费)
harvestapi/linkedin-job-search| 组件 | 成本 |
|---|---|
| Actor启动(每次运行) | $0.001 |
| 每条招聘信息结果 | $0.001 |
| Apify平台服务费 | +20% |
典型运行成本:
| 场景 | 岗位数量 | 每个岗位的招聘信息数 | 运行次数 | 预估成本 |
|---|---|---|---|---|
| 快速扫描 | 3 | 25 | 3 | ~$0.09 |
| 标准扫描 | 5 | 25 | 5 | ~$0.16 |
| 深度搜索 | 5 | 100 | 5 | ~$0.60 |
| 多地区搜索 | 5×3 | 25 | 15 | ~$0.47 |
Google Sheet创建是免费的(使用Rube/Composio集成)。
执行前请务必先运行查看Apify成本预估。
--estimate-onlySetup
配置步骤
1. Apify API Token
1. Apify API 令牌
bash
undefinedbash
undefinedGet your token at https://console.apify.com/account/integrations
Get your token at https://console.apify.com/account/integrations
export APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"
undefinedexport APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"
undefined2. Install dependencies
2. 安装依赖
bash
pip3 install requestsbash
pip3 install requests3. Rube/Composio (for Google Sheets)
3. Rube/Composio(用于Google Sheet)
Google Sheet creation uses Rube MCP with Composio. The token is preconfigured.
If it stops working, update the env var or the default in .
RUBE_TOKENsearch_jobs.pyGoogle Sheet创建使用Rube MCP与Composio集成,令牌已预先配置。
如果令牌失效,请更新环境变量或中的默认值。
RUBE_TOKENsearch_jobs.pyUsage
使用方法
Step 1: Define your ICP and target titles
步骤1:定义你的理想客户画像(ICP)和目标岗位名称
Think about it this way: "If a company is hiring for [role], it means they're investing in [problem area you solve]."
Examples:
- GTM agency: "Growth Marketing Manager", "SDR Manager", "RevOps Engineer", "GTM Engineer"
- AI dev tools: "AI Engineer", "ML Ops Engineer", "Prompt Engineer", "LLM Engineer"
- Sales automation: "SDR", "BDR Manager", "Sales Ops", "Revenue Operations"
你可以这样思考:"如果某企业正在招聘[岗位],说明他们正在投入资源解决[你业务覆盖的问题领域]。"
示例:
- GTM代理机构:"Growth Marketing Manager", "SDR Manager", "RevOps Engineer", "GTM Engineer"
- AI开发工具:"AI Engineer", "ML Ops Engineer", "Prompt Engineer", "LLM Engineer"
- 销售自动化:"SDR", "BDR Manager", "Sales Ops", "Revenue Operations"
Step 2: Estimate cost
步骤2:预估成本
bash
python3 scripts/search_jobs.py \
--titles "GTM Engineer,SDR Manager,Head of Demand Gen" \
--locations "United States" \
--max-per-title 25 \
--estimate-onlybash
python3 scripts/search_jobs.py \
--titles "GTM Engineer,SDR Manager,Head of Demand Gen" \
--locations "United States" \
--max-per-title 25 \
--estimate-onlyStep 3: Run the search
步骤3:运行搜索
The script searches LinkedIn Jobs, groups results by company, qualifies leads, and creates a Google Sheet automatically.
bash
undefined脚本会搜索LinkedIn Jobs,按企业分组结果,对线索进行资质审核,并自动创建Google Sheet。
bash
undefinedStandard search (creates Google Sheet)
标准搜索(创建Google Sheet)
python3 scripts/search_jobs.py
--titles "GTM Engineer,SDR Manager,RevOps Engineer"
--locations "United States"
--max-per-title 25
--titles "GTM Engineer,SDR Manager,RevOps Engineer"
--locations "United States"
--max-per-title 25
python3 scripts/search_jobs.py
--titles "GTM Engineer,SDR Manager,RevOps Engineer"
--locations "United States"
--max-per-title 25
--titles "GTM Engineer,SDR Manager,RevOps Engineer"
--locations "United States"
--max-per-title 25
Deep search with custom sheet name
深度搜索并自定义Sheet名称
python3 scripts/search_jobs.py
--titles "AI Engineer,ML Ops Engineer,Prompt Engineer"
--locations "United States"
--max-per-title 50
--sheet-name "AI Hiring Signals - Feb 2026"
--titles "AI Engineer,ML Ops Engineer,Prompt Engineer"
--locations "United States"
--max-per-title 50
--sheet-name "AI Hiring Signals - Feb 2026"
python3 scripts/search_jobs.py
--titles "AI Engineer,ML Ops Engineer,Prompt Engineer"
--locations "United States"
--max-per-title 50
--sheet-name "AI Hiring Signals - Feb 2026"
--titles "AI Engineer,ML Ops Engineer,Prompt Engineer"
--locations "United States"
--max-per-title 50
--sheet-name "AI Hiring Signals - Feb 2026"
Filter results to only relevant titles (LinkedIn search is fuzzy)
过滤结果至真正相关的招聘信息(LinkedIn搜索为模糊匹配)
python3 scripts/search_jobs.py
--titles "GTM Engineer,Growth Marketing Manager,SDR Manager"
--locations "United States"
--relevance-keywords "gtm,growth,sdr,marketing,demand gen,revops"
--titles "GTM Engineer,Growth Marketing Manager,SDR Manager"
--locations "United States"
--relevance-keywords "gtm,growth,sdr,marketing,demand gen,revops"
python3 scripts/search_jobs.py
--titles "GTM Engineer,Growth Marketing Manager,SDR Manager"
--locations "United States"
--relevance-keywords "gtm,growth,sdr,marketing,demand gen,revops"
--titles "GTM Engineer,Growth Marketing Manager,SDR Manager"
--locations "United States"
--relevance-keywords "gtm,growth,sdr,marketing,demand gen,revops"
Also save raw JSON alongside the sheet
同时将原始JSON保存至文件
python3 scripts/search_jobs.py
--titles "GTM Engineer,SDR Manager"
--locations "United States"
--output results.json
--titles "GTM Engineer,SDR Manager"
--locations "United States"
--output results.json
python3 scripts/search_jobs.py
--titles "GTM Engineer,SDR Manager"
--locations "United States"
--output results.json
--titles "GTM Engineer,SDR Manager"
--locations "United States"
--output results.json
Skip Google Sheet, console + JSON only
跳过Google Sheet,仅输出至控制台和JSON
python3 scripts/search_jobs.py
--titles "GTM Engineer"
--no-sheet --json
--titles "GTM Engineer"
--no-sheet --json
undefinedpython3 scripts/search_jobs.py
--titles "GTM Engineer"
--no-sheet --json
--titles "GTM Engineer"
--no-sheet --json
undefinedWhat the Script Does
脚本功能说明
- Searches LinkedIn Jobs for each title/location combination via Apify
- Groups results by company (deduplicates)
- Computes signal strength based on number of relevant postings + seniority
- Extracts personalization context from job descriptions (tech stack, growth signals, pain points)
- Suggests decision-maker title (one level above the hired role)
- Suggests outreach angle (accelerate / replace / multiply the hire)
- Creates a Google Sheet with all qualified leads
- Prints a console summary of all companies found
- 搜索:通过Apify在LinkedIn Jobs中搜索每个岗位名称/地点组合
- 分组:按企业对结果进行分组(去重)
- 计算信号强度:根据相关招聘信息数量和岗位级别计算
- 提取个性化背景信息:从招聘描述中提取技术栈、增长信号、痛点等
- 建议决策人岗位:建议联系的岗位(比招聘岗位高一级)
- 建议客户开发沟通角度:加速招聘成果/替代招聘/放大招聘价值
- 创建Google Sheet:包含所有合格线索
- 控制台汇总:打印所有找到的企业的汇总信息
Options Reference
参数选项参考
Required:
--titles Comma-separated job titles to search
Optional:
--locations Comma-separated locations (default: no filter)
--max-per-title Max jobs per title per location (default: 25)
--posted-limit Recency: 1h, 24h, week, month (default: week)
--output, -o Also save raw JSON to this file path
--json Print JSON output to console
--estimate-only Show cost estimate without running
--no-sheet Skip Google Sheet creation
--sheet-name Custom Google Sheet title (default: "Job Posting Intent Signals - {date}")
--relevance-keywords Comma-separated keywords to filter truly relevant postingsRequired:
--titles Comma-separated job titles to search
Optional:
--locations Comma-separated locations (default: no filter)
--max-per-title Max jobs per title per location (default: 25)
--posted-limit Recency: 1h, 24h, week, month (default: week)
--output, -o Also save raw JSON to this file path
--json Print JSON output to console
--estimate-only Show cost estimate without running
--no-sheet Skip Google Sheet creation
--sheet-name Custom Google Sheet title (default: "Job Posting Intent Signals - {date}")
--relevance-keywords Comma-separated keywords to filter truly relevant postingsGoogle Sheet Columns
Google Sheet 列说明
| Column | Description |
|---|---|
| Signal | HIGH / MEDIUM / LOW based on # postings + seniority |
| Company | Company name |
| Employees | Employee count |
| Industry | Company industry |
| Website | Company website |
| Company LinkedIn URL | |
| # Postings | Number of relevant job postings found |
| Job Titles | The actual job titles posted |
| Job URL | Link to the primary job posting |
| Location | Job location(s) |
| Decision Maker | Suggested title of person to contact |
| Outreach Angle | Accelerate / Replace / Multiply the hire |
| Tech Stack | Technologies mentioned in job descriptions |
| Growth Signals | Growth indicators (first hire, scaling, series stage) |
| Pain Points | Pain indicators (automate, optimize, manual processes) |
| Description | Company description snippet |
| 列名 | 说明 |
|---|---|
| 信号强度 | 根据招聘信息数量+岗位级别分为HIGH/MEDIUM/LOW |
| 企业名称 | 企业全称 |
| 员工数量 | 企业员工规模 |
| 行业 | 企业所属行业 |
| 官网 | 企业官方网站 |
| 企业LinkedIn主页链接 | |
| 招聘信息数量 | 找到的相关招聘信息总数 |
| 岗位名称 | 实际发布的岗位名称 |
| 招聘链接 | 主要招聘信息的链接 |
| 地点 | 招聘岗位的工作地点 |
| 建议决策人 | 建议联系的岗位名称 |
| 沟通角度 | 加速招聘成果/替代招聘/放大招聘价值 |
| 技术栈 | 招聘描述中提到的技术栈 |
| 增长信号 | 增长指标(首次招聘、规模扩张、融资阶段) |
| 痛点 | 痛点指标(自动化、优化、手动流程) |
| 企业简介 | 企业简介片段 |
AI Agent Integration
AI Agent 集成
When using this skill as an agent, the typical flow is:
- User describes their product and the types of roles that signal intent
- Agent runs and confirms cost with user
--estimate-only - Agent runs the search (Google Sheet is created automatically)
- Agent shares the Google Sheet link with the user
- Agent provides a brief summary of top leads and why they're qualified
Example prompt:
"Find companies hiring growth marketers and SDRs in the US this week. These are signals they need GTM help. We sell AI-powered GTM systems to Series A-C B2B SaaS companies with 20-200 employees."
The agent should NOT:
- Do any outreach
- Send any emails or messages
- Contact anyone
The agent SHOULD:
- Present cost estimate before running
- Run the search (sheet is created automatically)
- Share the Google Sheet link
- Provide a brief summary of the top leads with reasoning
将该技能作为Agent使用时,典型流程如下:
- 用户描述其产品以及能够体现意向的岗位类型
- Agent运行并与用户确认成本
--estimate-only - Agent运行搜索(自动创建Google Sheet)
- Agent与用户分享Google Sheet链接
- Agent提供优质线索的简要汇总及资质判定依据
示例提示词:
"寻找本周在美国招聘增长营销人员和SDR的企业。这些信号表明他们需要GTM支持。我们为A-C轮、员工规模20-200人的B2B SaaS企业提供AI驱动的GTM系统。"
Agent不应:
- 执行任何客户开发动作
- 发送任何邮件或消息
- 联系任何人员
Agent应该:
- 运行前展示成本预估
- 执行搜索(自动创建Sheet)
- 分享Google Sheet链接
- 提供优质线索的简要汇总及判定依据
Outreach Angle Templates
客户开发沟通角度模板
The script auto-assigns an angle based on job posting context:
"Accelerate while you hire" — Best when: posting is recent, role is junior/mid
They're looking for someone to do X. Your product can deliver X outcomes while they ramp the hire.
"Replace the hire" — Best when: small company, "first hire" signals, building from scratch
They want the output of a [role] but may not need a full-time person if they use your product.
"Multiply the hire" — Best when: company is clearly scaling, multiple related roles
When their new hire starts, your product makes them 10x more effective from day one.
脚本会根据招聘信息背景自动分配沟通角度:
"在招聘期间加速成果" — 适用场景:招聘信息发布时间较近,岗位为初级/中级
他们正在寻找能够完成X任务的人员。你的产品可以在他们完成招聘前,快速交付X成果。
"替代招聘需求" — 适用场景:小型企业,"首次招聘"信号,从零搭建团队
他们需要[岗位]的产出,但如果使用你的产品,可能无需全职招聘该岗位人员。
"放大招聘价值" — 适用场景:企业明显在扩张,有多个相关岗位招聘
当新员工入职后,你的产品可以从第一天起就让他们的工作效率提升10倍。
Troubleshooting
问题排查
"No jobs found"
"未找到招聘信息"
- Try broader titles (e.g., "marketing" instead of "demand generation specialist")
- Extend the time window:
--posted-limit month - Remove location filter to search globally
- 尝试更宽泛的岗位名称(例如用"marketing"替代"demand generation specialist")
- 扩大时间范围:
--posted-limit month - 移除地点限制,进行全球搜索
"Too many irrelevant results"
"无关结果过多"
- Use to filter by title keywords
--relevance-keywords - LinkedIn's search is fuzzy — the grouping and qualification step helps filter
- 使用过滤真正相关的招聘信息
--relevance-keywords - LinkedIn搜索为模糊匹配——分组和资质审核步骤会帮助过滤结果
"Google Sheet creation failed"
"Google Sheet创建失败"
- Check that Rube MCP is accessible (the token may have expired)
- Use to save results without a sheet
--no-sheet --json --output results.json - You can create the sheet later with
scripts/create_sheet_mcp.py
- 检查Rube MCP是否可访问(令牌可能已过期)
- 使用保存结果而不创建Sheet
--no-sheet --json --output results.json - 你可以稍后使用创建Sheet
scripts/create_sheet_mcp.py
High cost estimate
成本预估过高
- Reduce (25 is usually enough)
--max-per-title - Search fewer titles
- Use for a quick daily scan
--posted-limit 24h
- 减少(通常25个足够)
--max-per-title - 减少搜索的岗位数量
- 使用进行每日快速扫描
--posted-limit 24h