我们运营 API Hop 时,想解决一个很具体的问题:同样做 AI API 的网站,哪些外链来源值得我们进一步研究?
这次我们选了 kie.ai 和 evolink.ai,各取第一页 100 条外链。这篇文章我们没有研究流量、关键词或者整站排名,只想做一张可用的外链清单。
先说结论:200 条原始记录,排除 5 条 broken 后,剩下 195 条;按来源主机名合并,只有 29 个不同来源。evolink.ai 的 100 条里,95 条来自 GitHub,而且只对应 9 个 GitHub 页面。
这篇文章我们就围绕这批数据,说说我们怎么采集、怎么算、怎么让 AI 帮忙整理,以及最后应该做什么。
一、100 条外链记录不等于 100 条外链
两站使用相同参数,返回的结果是什么?
| 指标 | kie.ai | evolink.ai |
|---|---|---|
接口返回的 TotalRecords | 42,009 | 10,959 |
| 有效记录数 | 95 | 100 |
| 去重后的具体来源页面 | 85 | 14 |
| 去重后的来源主机名 | 25 | 6 |
| 本轮是否继续翻页 | 否 | 否 |
二、我们实际怎样请求这两份数据?
本次实际使用的接口
我们先读取了API Hop务的 SimilarwebAPI 文档
| 参数 | 本次取值 |
|---|---|
Key | kie.ai / evolink.ai |
Page | 1 |
PageSize | 100 |
Status | Active |
FollowType | All |
sort | DomainScore |
asc | false |
请求格式如下:
curl --fail-with-body --max-time 90 --get \
'https://api.apihop.ai/v1/similarweb/websites/backlinks' \
--header "Authorization: Bearer ${APIHOP_API_KEY}" \
--data-urlencode 'Key=kie.ai' \
--data-urlencode 'Page=1' \
--data-urlencode 'PageSize=100' \
--data-urlencode 'Status=Active' \
--data-urlencode 'FollowType=All' \
--data-urlencode 'sort=DomainScore' \
--data-urlencode 'asc=false'
成功响应的真实结构
kie.ai 响应的顶层结构如下。为方便阅读,我们只保留第一条记录中的几个字段,其余记录省略:
{
"TotalRecords": 42009,
"Records": [
{
"UrlFrom": "https://github.com/yitao2020/Vue-AI-web-game-asset-generator",
"UrlTo": "https://kie.ai/",
"Anchor": "KIE.ai",
"DomainScore": 89,
"IsLost": false,
"IsBroken": false
}
],
"Page": 1,
"PageSize": 100
}
三、我们怎样把 200 条记录变成可研究的来源?
先由程序去重和算数
我们按固定顺序处理:
- 保存两个原始 JSON,保留服务返回的全部字段。
- 为原始行编号:kie.ai 使用
K001起,evolink.ai 使用E001起。 - 保留有效的记录,并在 CSV 中保留排除标记。
- 在每个竞品内,按
UrlFrom + UrlTo精确去重。 - 按标准化后的来源主机名汇总,同时统计不同
UrlFrom页面数。 - 跨两个样本合并主机名,得到 29 个不同来源。
这些你都可以让AI帮你做,这里我们推荐使用Claude Opus5.5和ChatGPT Astra来做数据分析
最明显的差异,来自来源集中度
| 来源主机名 | kie.ai 保留链接数 | evolink.ai 保留链接数 |
|---|---|---|
github.com | 21 | 95 |
saashub.com | 26 | 0 |
skool.com | 14 | 0 |
dev.to | 4 | 0 |
note.com | 3 | 0 |
producthunt.com | 3 | 0 |
icons8.com | 0 | 1 |
4.bing.com | 2 | 1 |
evolink.ai 的 GitHub 记录相比 kie 多了很多,这引起了我们的注意,所以我们深入地分析了一下:95 条链接来自 9 个页面。来源路径中出现 EvoLinkAI、Evolink-AI、evolinkai 等与品牌相近的账号名称。这说明他的开源项目外链基本集中在这9个项目中。
kie.ai 的 SaaSHub:26 条链接来自 24 个页面。
两个清洗后样本共同出现的主机名只有 GitHub,这和他们的定位非常相符,其中一块最大的场景就是开发者,我们认为这类外链值得尝试。
四、交给AI的材料,如何输出优质结果?
数字交给程序,归类/分析交给模型
如果要把这一步接入自己的自动化,可以把清洗 CSV 转成 JSON 后使用下面的提示词:
我们在为 AI API 产品研究外链来源。
输入是 kie.ai、evolink.ai 的实际外链样本。
请只根据输入整理最多 15 个来源主机名:
- source_hostname
- evidence_ids:必须来自输入
- source_urls:必须来自输入,保留原始 URL
- target_sites:kie.ai、evolink.ai 或两者
- category:开发者项目 / 产品目录 / 教程 / 社区 / 编辑文章 / 其他
- observation:只写输入能支持的事实
- suggested_action:单独写建议,不混入事实
- verification_needed:页面现状、相关性、账号归属、提交入口、收费条件
- status:统一填写“待核查”
按 source_hostname 合并。
不能补造域名、标题、提交入口或价格。
不能把品牌自己的仓库写成第三方推荐。
不能宣称免费、保证收录、带来流量或提升排名。
没有足够证据时写“无法判断”。
我们从真实记录中选出了 10 个外链
下表中的分类和优先级是我们的初步判断可以推进的外链列表。
| 来源 | 哪个样本有记录 | 原始来源页面示例 | 我们建议的下一步 |
|---|---|---|---|
| SaaSHub | kie.ai | fal alternatives | 先核查相关产品分类、提交规则和是否已有本站条目 |
| DEV Community | kie.ai | VEO3 广告生成项目教程 | 研究如何围绕完整任务写教程,另行确认发布规则 |
| GitHub | 两者 | Vue 游戏素材生成项目;OpenClaw 用例仓库 | 查看仓库内容与归属,评估我们能交付什么实际代码资产 |
| Product Hunt | kie.ai | 服务返回的跳转 URL | 先找对应产品详情页;跳转记录本身不能证明现在可提交 |
| SourceForge | kie.ai | Kie.ai Veo 3 API 页面 | 核查它是何种产品条目、由谁维护以及发布条件 |
| Icons8 博客 | evolink.ai | 视频生成模型文章 | 查看引用上下文,再判断是否适合提供可验证的技术素材 |
| note.com | kie.ai | Midjourney 自动化文章 | 核查日文内容与目标用户,评估我们是否有完整案例可写 |
| The Automation Exchange | kie.ai | Veo3 视频广告工作流通讯 | 先核查通讯是否仍更新、作者合作方式及案例要求 |
| PyPI | kie.ai | ai-influencer 软件包 | 研究真实软件包如何说明 API 依赖;有可用 Python 包时再考虑 |
| CodeCanyon | kie.ai | Influencify 产品页 | 核查产品使用哪类 API,评估集成合作是否匹配 |
六、一共消耗了多少?
本轮通过上述原生服务成功调用了两次外链接口,如果用户通过 API Hop 按这一标准价执行相同请求,预算可以这样算:
| 采集范围 | 成功请求数 | 按公开标准价计算的预算 |
|---|---|---|
| 两站各取 1 页 | 2 | $0.001 |
| 两站各取 3 页 | 6 | $0.003 |
| 两站各取 5 页 | 10 | $0.005 |
七、总结
这次我们的关注动作是把一个开放的问题,通过API Hop变缩成了一个标准的动作:用两次查询拿到 200 条真实记录,清洗成来源主机名,再挑出 10 个值得进一步推进的URL。 数据 API 提供线索,程序保证数字可复算,AI 帮我们整理文字,最后我们核查决定是否值得行动。