apify-easy-competitive-intelligence
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCompetitive Intelligence
竞争情报
Real-time competitive intelligence powered by live web data via Apify actors. Never answer competitive questions from training knowledge alone. Always gather live data first, then analyze.
通过 Apify actors 获取实时网页数据,提供实时竞争情报。**绝不能仅凭训练知识回答竞争问题。**始终先收集实时数据,再进行分析。
Prerequisites
前置条件
- Apify CLI v1.5.0+ (), or Apify MCP server
npm install -g apify-cli - Authenticated session (or
apify loginenv var)APIFY_TOKEN
CLI rules: Always pass , , and .
--json--user-agent apify-awesome-skills/apify-easy-competitive-intelligence2>/dev/null- Run actor: → returns run metadata with
apify actors call "ACTOR_ID" -i 'INPUT' --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --json 2>/dev/nulldefaultDatasetId - Fetch results: — save locally, parse from file:
apify datasets get-items DATASET_ID --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --format json > /tmp/results.json 2>/dev/null- Quick extraction:
jq '.[] | "\(.field1) | \(.field2)"' /tmp/results.json - Aggregation:
python3 -c "import json; d=json.load(open('/tmp/results.json')); ..." - Tabular: +
--format csv > /tmp/results.csvwithpython3csv.DictReader - Flags: ,
--limit N,--offset N--format json|jsonl|csv|xlsx|xml - Output fields:
apify datasets info DATASET_ID --json | jq .fields
- Quick extraction:
- Fetch schema:
apify actors info "ACTOR_ID" --input --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --json 2>/dev/null
If CLI is unavailable and Apify MCP server is connected, use MCP / / directly.
call-actorfetch-actor-detailsget-actor-output- Apify CLI v1.5.0+(),或 Apify MCP server
npm install -g apify-cli - 已认证的会话(或
apify login环境变量)APIFY_TOKEN
**CLI 规则:**始终传入 、 和 。
--json--user-agent apify-awesome-skills/apify-easy-competitive-intelligence2>/dev/null- 运行 actor:→ 返回包含
apify actors call "ACTOR_ID" -i 'INPUT' --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --json 2>/dev/null的运行元数据defaultDatasetId - 获取结果:— 保存到本地并从文件解析:
apify datasets get-items DATASET_ID --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --format json > /tmp/results.json 2>/dev/null- 快速提取:
jq '.[] | "\(.field1) | \(.field2)"' /tmp/results.json - 聚合:
python3 -c "import json; d=json.load(open('/tmp/results.json')); ..." - 表格:+ 使用
--format csv > /tmp/results.csv的csv.DictReaderpython3 - 标志:、
--limit N、--offset N--format json|jsonl|csv|xlsx|xml - 输出字段:
apify datasets info DATASET_ID --json | jq .fields
- 快速提取:
- 获取 schema:
apify actors info "ACTOR_ID" --input --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --json 2>/dev/null
如果 CLI 不可用但已连接 Apify MCP server,请直接使用 MCP 、 或 。
call-actorfetch-actor-detailsget-actor-outputAuthentication
身份认证
If a CLI command fails with an auth error, authenticate using one of these methods:
- OAuth (interactive): (opens browser)
apify login - Environment variable:
export APIFY_TOKEN=your_token_here - From .env file: (if the file contains
source .env)APIFY_TOKEN=...
Generate token: https://console.apify.com/settings/integrations
如果 CLI 命令因身份认证错误而失败,请使用以下任一方式进行身份认证:
- OAuth(交互式):(会打开浏览器)
apify login - 环境变量:
export APIFY_TOKEN=your_token_here - 从 .env 文件读取:(如果文件中包含
source .env)APIFY_TOKEN=...
Actor Registry
Actor 注册表
Every actor call follows three steps:
- Read — find the actor's section in . Use the exact verified input and follow the "How to find" instructions for URLs/slugs.
reference/actor-schemas.md - Discover — verify platform URLs and slugs (e.g. via SERP) as described in the actor's schema section. Do not guess — wrong slugs silently return empty or wrong data.
- Run — call the actor with verified input.
Alternatively, fetch the live schema:
apify actors info "ACTOR_ID" --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --input --json 2>/dev/null| Data Need | Actor | Notes |
|---|---|---|
| Google SERP | | Supports country/language. SERP snippets contain ratings & review counts |
| Page scrape | | proxyConfiguration REQUIRED. Returns markdown |
| RAG browse | | Search + scrape in one call. Good fallback |
| LinkedIn company | | Output in KV store, not dataset |
| LinkedIn jobs | | Requires LinkedIn search URL, NOT keywords |
| Crunchbase | | Single company URL per call |
| Amazon product | | Product or category URLs |
| Amazon reviews | | May return 0 for some products |
| Walmart product | | May return empty |
| Google Maps reviews | | Use full Google Maps place URL |
| G2 reviews | | NPS, ratings, switching data. $0.04/run |
| Capterra reviews | | $1.99/1K |
| Gartner Peer Insights | — | No working actor. Use SERP snippet mining as fallback |
| Glassdoor | | Reviews, salaries, culture, ratings |
| Posts + full comment threads | |
| Google Play reviews | | App ID or Play Store URL |
| App Store | | Requires SHADER proxy — may not be available on all plans |
| SimilarWeb | | Minimum 10 domains per call |
| Google News | | No boolean operators in keywords |
| Wayback Machine | | Full URL including path |
每次调用 actor 均遵循三个步骤:
- 读取 — 在 中找到该 actor 的章节。使用经过验证的准确输入,并遵循有关如何查找 URL/slug 的说明。
reference/actor-schemas.md - 发现 — 按照 actor 的 schema 章节所述验证平台 URL 和 slug(例如通过 SERP)。不要猜测——错误的 slug 会静默返回空数据或错误数据。
- 运行 — 使用经过验证的输入调用 actor。
也可以获取实时 schema:
apify actors info "ACTOR_ID" --user-agent apify-awesome-skills/apify-easy-competitive-intelligence --input --json 2>/dev/null| 数据需求 | Actor | 备注 |
|---|---|---|
| Google SERP | | 支持国家/语言。SERP 摘要包含评分和评论数量 |
| 网页抓取 | | 必须设置 proxyConfiguration。返回 markdown |
| RAG 浏览 | | 在一次调用中完成搜索和抓取。适合作为备用方案 |
| LinkedIn 公司 | | 输出位于 KV store,而非 dataset |
| LinkedIn 职位 | | 需要 LinkedIn 搜索 URL,不能使用关键词 |
| Crunchbase | | 每次调用仅支持一个公司 URL |
| Amazon 商品 | | 支持商品或分类 URL |
| Amazon 评论 | | 某些商品可能返回 0 条结果 |
| Walmart 商品 | | 可能返回空结果 |
| Google Maps 评论 | | 使用完整的 Google Maps 地点 URL |
| G2 评论 | | 包含 NPS、评分和客户转换数据。$0.04/run |
| Capterra 评论 | | $1.99/1K |
| Gartner Peer Insights | — | 没有可用的 actor。改用 SERP 摘要提取作为备用方案 |
| Glassdoor | | 包含评论、薪资、文化和评分 |
| 包含帖子和完整评论线程 | |
| Google Play 评论 | | 需要 App ID 或 Play Store URL |
| App Store | | 需要 SHADER proxy,可能并非所有套餐都可用 |
| SimilarWeb | | 每次调用至少需要 10 个域名 |
| Google News | | 关键词中不能使用布尔运算符 |
| Wayback Machine | | 需要包含路径的完整 URL |
Core Workflow
核心工作流
Step 0: Understand the User (once, at start)
步骤 0:了解用户(仅在开始时执行一次)
Clarify before gathering data:
- Role — Analyzed company, competitor, investor, consultant?
- Decision — Entering market, defending position, choosing vendor, building battlecard?
- Autonomy — Checkpoints after initial findings, or autopilot?
收集数据前先确认:
- 角色 — 分析对象是公司、竞争对手、投资者,还是顾问?
- 决策 — 进入市场、防御定位、选择供应商,还是制作 battlecard?
- 自主程度 — 在初步发现后设置检查点,还是全自动执行?
Steps 1–7
步骤 1–7
- Clarify scope — Identify competitors. Select module(s). Default geography: US.
- Read module reference — Load for gathering + analysis instructions.
reference/modules/<module>.md - Gather live data — For each actor call, follow the three-step pattern: Read (actor-schemas.md) → Discover (SERP for URLs) → Run (call actor). Use PRIMARILY actors from the Actor Registry above.
- Checkpoint (if not autopilot) — Present first findings, confirm direction.
- Analyze — Select framework, lead with narrative, support with tables.
- Verify — Run pre-delivery verification (). Check: every claim has a source URL, every major finding has a confidence label, inferences are labeled as such. Remove any ungrounded claims.
reference/verification-checklist.md - Deliver — End with strategic recommendations framed for the user's role.
- 明确范围 — 识别竞争对手。选择一个或多个模块。默认地域:美国。
- 阅读模块参考 — 加载 ,了解数据收集与分析说明。
reference/modules/<module>.md - 收集实时数据 — 对于每次 actor 调用,遵循“读取(actor-schemas.md)→ 发现(通过 SERP 查找 URL)→ 运行(调用 actor)”的模式。优先使用上述 Actor 注册表中的 actors。
- 检查点(如果未启用自动驾驶)— 展示初步发现并确认后续方向。
- 分析 — 选择合适的框架,以叙述性结论为主,并使用表格提供支持。
- 验证 — 执行交付前验证()。检查每项主张是否有来源 URL、每项主要发现是否都有置信度标签,以及推断是否已明确标注。删除所有无依据的主张。
reference/verification-checklist.md - 交付 — 以符合用户角色的方式给出战略性建议作为结尾。
Framework Selection
框架选择
| Situation | Framework |
|---|---|
| Profile one competitor | SWOT |
| Market dynamics & forces | Porter's Five Forces |
| Visual position comparison | Strategy Canvas (Blue Ocean) |
| Why customers switch | Jobs-to-be-Done |
| Find white space | Positioning Matrix (2x2) |
| Predict competitor reaction | Competitive Response Matrix |
| 情境 | 框架 |
|---|---|
| 分析单个竞争对手 | SWOT |
| 市场动态与竞争力量 | Porter's Five Forces |
| 可视化定位对比 | Strategy Canvas (Blue Ocean) |
| 客户为何更换供应商 | Jobs-to-be-Done |
| 寻找市场空白 | Positioning Matrix (2x2) |
| 预测竞争对手的反应 | Competitive Response Matrix |
Data Collection Rules
数据收集规则
- Prefer structured actors over when a dedicated actor exists.
website-content-crawler - Cost budget — 3-8 actor calls per snapshot. Track total, warn at 15+.
- Parallelize independent calls in a single response.
call-actor - Failures — Report every failure explicitly (actor, input, error). Retry with corrected input if the cause is obvious. If retry fails, try as fallback. Never silently skip a failed data source.
rag-web-browser - Cite everything — Include source URLs for every data point.
- Async for long runs — Set for actors >30s, poll with
async: true.get-actor-run - Protected platforms — Do NOT use or
website-content-crawlerfor: g2.com, capterra.com, gartner.com, glassdoor.com, reddit.com, linkedin.com. Use dedicated actors.rag-web-browser
- 优先使用结构化 actors — 如果存在专用 actor,应优先于 。
website-content-crawler - 成本预算 — 每次快照执行 3-8 次 actor 调用。跟踪总调用量,达到 15+ 时发出警告。
- 并行处理 — 在一次响应中并行执行相互独立的 调用。
call-actor - 失败处理 — 明确报告每次失败(actor、输入和错误)。如果原因明显,则使用修正后的输入重试。如果重试失败,改用 作为备用方案。绝不能静默跳过失败的数据源。
rag-web-browser - 引用所有内容 — 每个数据点都必须包含来源 URL。
- 长时间运行使用异步模式 — 对运行时间超过 30 秒的 actor 设置 ,并使用
async: true轮询状态。get-actor-run - 受保护的平台 — 对 g2.com、capterra.com、gartner.com、glassdoor.com、reddit.com 和 linkedin.com,不得使用 或
website-content-crawler,应改用专用 actor。rag-web-browser
Apify vs. WebSearch
Apify 与 WebSearch
Apify required: review sites (G2, Capterra, Gartner, Glassdoor), LinkedIn, Reddit, Amazon, Walmart, app stores, SimilarWeb, Crunchbase, Wayback Machine, Google Maps reviews, news (Google News actor).
WebSearch/WebFetch sufficient (Claude Code built-in tools): competitor discovery, general company info, blog posts, publicly accessible pricing pages.
必须使用 Apify:评论网站(G2、Capterra、Gartner、Glassdoor)、LinkedIn、Reddit、Amazon、Walmart、应用商店、SimilarWeb、Crunchbase、Wayback Machine、Google Maps 评论和新闻(Google News actor)。
WebSearch/WebFetch 即可满足需求(Claude Code 内置工具):竞争对手发现、公司基本信息、博客文章和公开定价页面。
Data Validation & Grounding
数据验证与依据约束
- Every factual claim needs a source URL. No link = not a fact.
- Confidence labels are mandatory. Mark every major finding: High (primary source), Medium (2+ third-party sources), Low (single third-party source). Format: . No report without labels.
[Confidence | Source] - Data tiers: Verified (primary source) → Reported (third-party, attribute) → Inferred (label as "this suggests...") → Ungrounded (omit).
- Numbers are dangerous — employee counts, revenue, funding change fast. Always cite source and date.
- Empty results ARE intelligence — 0 jobs = not hiring, 0 SimilarWeb = small site, 12 reviews = low adoption.
- Cross-reference — Single-source claims are unverified. Multi-source (G2 + Capterra + Reddit) = pattern.
- **每项事实性主张都需要来源 URL。**没有链接就不能视为事实。
- **置信度标签为必填项。**必须标记每项主要发现:高(一手来源)、中(2+ 个第三方来源)、低(单一第三方来源)。格式:。任何报告都必须包含标签。
[置信度 | 来源] - 数据层级:已验证(一手来源)→ 已报告(第三方归因)→ 推断(标注为“这表明……”)→ 无依据(省略)。
- 数字容易失效 — 员工人数、收入和融资情况变化迅速。始终注明来源和日期。
- 空结果也属于情报 — 0 个职位意味着没有招聘,0 条 SimilarWeb 数据意味着网站规模较小,12 条评论意味着采用度较低。
- 交叉验证 — 单一来源的主张尚未得到验证。多个来源(如 G2 + Capterra + Reddit)一致则可视为模式。
Module Selection
模块选择
| User says... | Module | Reference |
|---|---|---|
| "Analyze [competitor]", "Tell me about [company]" | Competitor Snapshot | |
| "Compare pricing", "How much does [X] cost" | Pricing Intelligence | |
| "Pricing details", "per-use-case costs", "tiers", "add-ons" | Pricing Deep Dive | |
| "What do customers think", "Reviews", "Pain points" | Review Intelligence | |
| "What are they hiring for", "Job postings" | Hiring Signals | |
| "How do they rank", "Content strategy", "SEO" | Content & SEO | |
| "Who are the players", "Market landscape" | Market Landscape | |
| "Full battlecard", "Deep analysis", "Board prep" | Multi-Module | |
| 用户提出…… | 模块 | 参考文件 |
|---|---|---|
| “分析 [竞争对手]”、“介绍 [公司]” | Competitor Snapshot | |
| “比较定价”、“[X] 的价格是多少” | Pricing Intelligence | |
| “定价详情”、“各使用场景成本”、“套餐”、“附加功能” | Pricing Deep Dive | |
| “客户如何看待”、“评论”、“痛点” | Review Intelligence | |
| “他们在招聘哪些职位”、“职位发布” | Hiring Signals | |
| “他们如何排名”、“内容策略”、“SEO” | Content & SEO | |
| “市场参与者有哪些”、“市场格局” | Market Landscape | |
| “完整 battlecard”、“深入分析”、“董事会准备” | Multi-Module | |