到 2026 年,31% 的美国互联网用户每天至少在 ChatGPT 上运行一次查询。当潜在客户问“最好的[您的类别]工具是什么?”时,ChatGPT 的品牌名称就是新的排行榜。本教程将逐步构建一个每日跟踪器,该跟踪器使用目标提示查询 ChatGPT、提取品牌提及并记录数据。
前置条件
- Python 3.8+
- Scavio API 密钥
- 与您的品牌相关的提示列表(例如“2026 年最佳 SERP API”)
- 可选:用于警报的 Slack Webhook URL
操作指南
步骤 1: 定义要监控的提示
策划 10-20 个提示,捕捉潜在客户如何描述您的类别。
PROMPTS = [
'what is the best SERP API in 2026',
'top alternatives to SerpAPI',
'best search API for AI agents',
'cheapest Google search API',
]步骤 2: 通过Scadio查询ChatGPT
Scavio 的ask_chatgpt 端点包装ChatGPT UI 并返回原始答案。
import requests, os
def ask_chatgpt(prompt):
r = requests.post('https://api.scavio.dev/api/v1/ask',
headers={'x-api-key': os.environ['SCAVIO_API_KEY']},
json={'platform': 'chatgpt', 'prompt': prompt})
return r.json()['answer']步骤 3: 提取品牌提及
在答案文本中运行正则表达式来计算您的品牌和竞争对手的提及次数。
import re
BRANDS = ['Scavio', 'SerpAPI', 'Serper', 'Tavily', 'Brave', 'Firecrawl']
def extract_mentions(text):
counts = {}
for brand in BRANDS:
counts[brand] = len(re.findall(rf'\b{brand}\b', text, re.IGNORECASE))
return counts步骤 4: 记录每日结果
按计划运行跟踪器并附加到 CSV 或数据库。
import csv, datetime
def log(prompt, counts):
row = {'date': datetime.date.today().isoformat(), 'prompt': prompt, **counts}
with open('aeo_log.csv', 'a') as f:
writer = csv.DictWriter(f, fieldnames=row.keys())
writer.writerow(row)步骤 5: 发送有关更改的 Slack 警报
当新引用竞争对手或您的品牌退出时,会发出 Slack 警报。
import requests
def alert_slack(message, webhook_url):
requests.post(webhook_url, json={'text': message})Python 示例
import os, re, requests, csv, datetime
API_KEY = os.environ['SCAVIO_API_KEY']
PROMPTS = ['best SERP API 2026', 'top SerpAPI alternatives']
BRANDS = ['Scavio', 'SerpAPI', 'Serper', 'Tavily']
def ask_chatgpt(prompt):
r = requests.post('https://api.scavio.dev/api/v1/ask',
headers={'x-api-key': API_KEY},
json={'platform': 'chatgpt', 'prompt': prompt})
return r.json()['answer']
for prompt in PROMPTS:
answer = ask_chatgpt(prompt)
counts = {b: len(re.findall(rf'\b{b}\b', answer, re.I)) for b in BRANDS}
print(prompt, counts)JavaScript 示例
const API_KEY = process.env.SCAVIO_API_KEY;
const PROMPTS = ['best SERP API 2026', 'top SerpAPI alternatives'];
const BRANDS = ['Scavio', 'SerpAPI', 'Serper', 'Tavily'];
async function askChatGPT(prompt) {
const r = await fetch('https://api.scavio.dev/api/v1/ask', {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ platform: 'chatgpt', prompt })
});
return (await r.json()).answer;
}
for (const prompt of PROMPTS) {
const answer = await askChatGPT(prompt);
const counts = Object.fromEntries(BRANDS.map(b => [b, (answer.match(new RegExp(`\\b${b}\\b`, 'gi')) || []).length]));
console.log(prompt, counts);
}预期输出
For each prompt, the tracker prints a mention count per brand. Over time, you get a daily trend of how often ChatGPT names your brand vs competitors in answers to your category-defining prompts.