免费 API 推荐与实测:没有可核验记录时,先写清核验清单
本文说明:由于本次没有可核验的测试记录、环境说明或接口清单,因此无法给出“免费 API 推荐榜”,也不能声称“实测”。文章把“免费”拆成鉴权、配额与限流口径、数据来源与许可、可用性与变更四类需要核对的事实,给出一套最小核验步骤和一份未执行的调用骨架,用于把不确定性写进代码,而不是先写成结论。
- 没有可核验测试记录时,不应输出接口推荐榜;先核对四类事实,再谈接入。
- 配额单位与统计窗口不同的接口不可横向比较,缺少统一指标时留空。
先回答标题里的问题:这篇不提供免费 API 推荐榜,也不声称做过实测。本次可用的材料只有主题标题,没有接口清单、测试环境、调用记录或响应样本,因此任何“某接口免费用、额度多少、现在是否还能调”的说法都无法在此成立,相关事实一律待核实。能写清楚的是另一件事:在把任何一个免费接口写进代码之前,应当按什么顺序核对哪些事实,以及如何把这些不确定性留在代码里,而不是先写成结论。
“免费”不是一项属性,而是四项独立条件#
一个接口能不能免费用,通常取决于四件会各自变化的事:谁签发凭据、额度怎么计数、数据从哪里来、服务方何时修改条款。其中任意一项变化,都可能让昨天能跑通的调用今天失败。这是推断,不是对某家服务的判断——具体服务是否如此,需要按下面的清单逐项核实。
二手聚合清单最常缺的正是这几项:不写统计时间窗,不写适用的接口版本,也不写数据来源。检索到一条条目、看到一张截图,都不等于该条目当前仍然有效。
接入前的四类核对项#
1. 身份与鉴权
- 凭据类型:无鉴权、API Key、OAuth,还是需要签名;
- 是否绑定来源域或 IP,换环境是否需要重新登记;
- 密钥能否轮换,是否区分测试与生产凭据;
- 凭据放在哪一层:浏览器直连、自己的后端,还是构建期注入。
2. 配额与限流口径
- 计数单位是请求数、数据量,还是调用次数乘权重;
- 窗口是每分钟、每天还是每月,是否按自然月重置;
- 超额是直接拒绝、排队,还是降级返回部分数据;
- 是否在响应头里返回剩余额度,并发是否单独限制。
口径不同的接口不能横向比较。没有统一指标时,比较表里的“额度”一列应留空,而不是拼成一个数字。
3. 数据来源与许可
- 数据由谁维护、多久更新一次;
- 是否允许商用、是否允许再分发与缓存;
- 是否要求署名,署名放在哪里;
- 接口“免费”是否只覆盖调用,而不覆盖数据使用。
4. 可用性与变更
- 是否有状态页、变更日志或弃用通知渠道;
- 错误响应是否有稳定结构,还是纯文本;
- 弃用是否承诺提前通知期,期限多长。
一次最小核验怎么走#
- 读官方文档,而不是聚合清单;清单只用来发现候选。
- 发一个最小请求,记录日期、请求参数和原始响应。
- 测边界:缺参数、错误凭据、超配额时的返回分别是什么。
- 确认错误体与额度响应头是否稳定,能否据此写判断逻辑。
- 把结果写进项目 README 或测试用例,标注核对日期。
- 设一个复查周期,条款变更时重新走一遍。
未执行的示例:把待核实项写进骨架#
下面的代码没有实际执行,输出不作为结果,域名与密钥均为占位。它的作用是把“错误体结构、额度头名称、超限状态码”这三处不确定性摆在代码里,等核验后再替换。
// 未执行示例:仅示意调用骨架。环境假定 Node.js 18+(内置 fetch),
// 实际运行时版本、端点与响应结构均待核实。
const BASE = 'https://api.example.com'; // 占位域名
async function call(path, params = {}) {
const url = new URL(path, BASE);
for (const [k, v] of Object.entries(params)) url.searchParams.set(k, v);
const res = await fetch(url, {
headers: { Authorization: 'Bearer YOUR_KEY' }, // 占位密钥
});
// 待核实:错误体是 JSON 还是文本;额度响应头的字段名;
// 超限返回 429 还是 200 加降级内容。
if (!res.ok) {
return { ok: false, status: res.status, body: await res.text() };
}
return { ok: true, status: res.status, body: await res.json() };
}
能下的结论与不能下的结论#
可以下的窄结论是方法层面的:免费接口的可用性由鉴权、配额口径、数据许可和变更策略共同决定;在没有核验记录时,先写清单、再写调用,比先写“推荐”更省返工。不能下的结论包括:某接口在 2026 年 11 月仍然免费可用、某个具体额度数值、某个延迟或成功率对比——这些都需要可核验的测试记录,本次没有,均待核实。
如果后续要补“实测”,需要同时给出:测试时间、运行环境与客户端版本、请求样本与次数、原始响应片段、失败与降级的处理方式。缺任何一项,结论就应缩小到“该次调用观察到的现象”。