ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何使用搜索 API 自动进行竞争对手分析
教程

如何使用搜索 API 自动进行竞争对手分析

使用 Scavio API 在 Python 中自动跟踪竞争对手的 SERP 位置、新闻提及和产品列表。建立每周竞争对手情报报告。

获取免费API密钥API文档

竞争对手分析是产品经理、营销人员和创始人的一项经常性任务。手动检查竞争对手的关键术语排名、他们生成的新闻以及他们的产品列表如何演变非常耗时。本教程使用 Scavio API 构建自动化竞争对手情报管道。给定竞争对手域的列表,它会跟踪一组关键字的有机 SERP 位置,获取最近的新闻提及,并编写每周摘要报告。

前置条件

  • Python 3.10 或更高版本
  • 请求已安装库
  • Scavio API 密钥
  • 竞争对手域和目标关键字列表

操作指南

步骤 1: 定义竞争对手和关键词

设置将竞争对手名称映射到其域的字典,以及要跟踪的关键字列表。

Python
COMPETITORS = {
    "Acme Corp": "acmecorp.com",
    "Beta Tools": "betatools.io",
}
KEYWORDS = ["project management software", "task tracking tool", "team collaboration app"]

步骤 2: 跟踪每个竞争对手的 SERP 排名

对于每个关键字,获取 SERP 结果并扫描有机结果以查找每个竞争对手的域。

Python
def track_positions(keyword: str) -> dict:
    data = search_google(keyword)
    positions = {}
    for name, domain in COMPETITORS.items():
        for r in data.get("organic_results", []):
            if domain in r.get("link", ""):
                positions[name] = r["position"]
                break
    return positions

步骤 3: 获取新闻提及

在 Google 新闻中搜索每个竞争对手的名称,以查找最近的文章、产品公告和新闻报道。

Python
def get_news(competitor_name: str) -> list[dict]:
    data = search_google(f"{competitor_name} news 2026")
    return data.get("news_results", data.get("organic_results", []))[:5]

步骤 4: 生成每周报告

将 SERP 排名和新闻提及合并到结构化报告中,并将其保存为 Markdown 文件。

Python
from datetime import date

def generate_report() -> str:
    lines = [f"# Competitor Intelligence Report — {date.today()}\n"]
    for kw in KEYWORDS:
        lines.append(f"## {kw}")
        positions = track_positions(kw)
        for name, pos in positions.items():
            lines.append(f"  - {name}: #{pos}")
    return "\n".join(lines)

Python 示例

Python
import os
import requests
from datetime import date

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"
COMPETITORS = {"Acme": "acmecorp.com", "Beta": "betatools.io"}
KEYWORDS = ["project management software", "task tracking tool"]

def search_google(q: str) -> dict:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"query": q, "country_code": "us"})
    r.raise_for_status()
    return r.json()

def track(kw: str) -> dict:
    data = search_google(kw)
    out = {}
    for name, domain in COMPETITORS.items():
        for r in data.get("organic_results", []):
            if domain in r.get("link", ""):
                out[name] = r["position"]
                break
    return out

if __name__ == "__main__":
    for kw in KEYWORDS:
        pos = track(kw)
        print(f"\n{kw}:")
        for name, p in pos.items():
            print(f"  {name}: #{p}")

JavaScript 示例

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";
const COMPETITORS = { "Acme": "acmecorp.com", "Beta": "betatools.io" };
const KEYWORDS = ["project management software", "task tracking tool"];

async function searchGoogle(q) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: q, country_code: "us" })
  });
  return res.json();
}

async function trackPositions(kw) {
  const data = await searchGoogle(kw);
  const out = {};
  for (const [name, domain] of Object.entries(COMPETITORS)) {
    const match = (data.organic_results || []).find(r => r.link.includes(domain));
    if (match) out[name] = match.position;
  }
  return out;
}

async function main() {
  for (const kw of KEYWORDS) {
    const pos = await trackPositions(kw);
    console.log(`\n${kw}:`);
    Object.entries(pos).forEach(([n, p]) => console.log(`  ${n}: #${p}`));
  }
}
main().catch(console.error);

预期输出

JSON
project management software:
  Acme: #3
  Beta: #7

task tracking tool:
  Acme: #5
  Beta: not ranked

相关教程

  • 如何使用 Scavio API 每天跟踪 SEO 排名
  • 如何监控 Google 和 YouTube 上的品牌提及

常见问题

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

Python 3.10 或更高版本. 请求已安装库. Scavio API 密钥. 竞争对手域和目标关键字列表. Scavio API密钥注册即送50个免费积分。

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

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

相关资源

Best Of

2026年最佳代理机构 SEO 报告 API

Read more
Best Of

2026 年最佳基于队列的 SERP API

Read more
Comparison

Semrush API vs Raw SERP API

Read more
Solution

构建可预测成本的SEO API层

Read more
Use Case

SEO 仪表板原始 API

Read more
Use Case

AppSumo SEO 工具到 API 迁移

Read more

开始构建

使用 Scavio API 在 Python 中自动跟踪竞争对手的 SERP 位置、新闻提及和产品列表。建立每周竞争对手情报报告。

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

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

产品

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

开发者

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

替代方案

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

工具

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

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策