10分钟找到能用的免费API:public-api-lists 实战指南
【免费下载链接】public-api-listsA curated list of free public APIs — searchable, community-maintained, with a free JSON API.项目地址: https://gitcode.com/GitHub_Trending/pu/public-api-lists
上周末帮朋友搭天气小应用,他花了一整个下午在搜索引擎里找天气接口:找到一个要注册,找到两个不支持前端直连,找到一个文档已经过期。真正耗时间的从来不是写代码,而是"找到一个能用的接口"。
public-api-lists 就是一个手动精选的免费API大全:覆盖 48 个分类、共 798 个免费API(按当前 README 统计),每个接口都统一标注了认证方式、HTTPS 和 CORS 支持情况。一张表看懂全部,不用挨个官网跳。
别再逐个官网找了:找API的真实成本
自己找接口的三个坑
- 找到一个接口,先注册、等邮箱、领密钥,半小时没了。
- 拿到接口发现前端直连被浏览器拦截——CORS 没开。
- 用了一段时间后接口悄悄下线,代码跟着返工。
这三个坑每个都可能吃掉一两个小时。解法不是更努力地搜,而是先拿到一份"已验证、已分类、可比对"的清单,再动手。这份清单就是 public-api-lists 本身。
798 个免费API,一张表装下
项目主体就是仓库里的 README.md,按 48 个功能分类组织:Animals、Anime、Finance、Games & Comics、Weather、Geocoding……每类一个表格,翻到哪算哪。
每条记录是怎么组织的
每个API固定五列:名称(带官方入口链接)、描述、Auth(认证)、HTTPS、CORS。同一分类里可以横向对比,比如 Weather 类里 Open-Meteo 免认证且支持 CORS,National Weather Service 也免认证;Finance 类里 Alpha Vantage 需要 apiKey,AlphaSMO 却完全不用认证。
认证方式到底什么分布
按当前 README 逐行统计 798 条记录:
- 无需认证(No):371 个,约占 46%
- apiKey:346 个
- OAuth:77 个
- X-Mashape-Key:4 个
HTTPS 方面,738 个接口明确支持(约 92%)。近一半接口拿到地址就能直接调,做演示和教学完全够用。
项目由志愿者维护,靠赞助保持列表无广告。图中是金牌赞助商 SerpApi,提供搜索引擎抓取能力,返回标准 JSON 结果,适合做搜索类数据项目。赞助档位和加入方式写在 .github/SPONSORS.md。
从清单到第一次调用:三步走
挑一个"无需认证"的API
打开 README 的分类目录(文件开头的 Index 段有锚点跳转)。以 Animals 分类为例:Dogs(dog.ceo)标注 Auth 为 No、HTTPS 为 Yes、CORS 为 Yes——前端可以直接调,不用写后端中转。
一个最小调用示例
# Animals 分类中的 Dogs API,无需认证 curl https://dog.ceo/api/breeds/image/random返回的 JSON 里message字段就是一只随机狗狗的图片地址。想按条件批量筛选,也可以直接用项目提供的官方站点搜索功能和 JSON 接口,入口链接在 README 顶部。
记住这条路径
分类锚点 → 表格行 → 看 Auth/CORS 两列 → 复制接口地址。整个流程不超过一分钟,瓶颈只剩你自己的好奇心。
怎么选:表格三列就是决策键
Auth 列:三种场景三种选法
- 课程演示、教学 Demo:选 No,零配置。
- 个人项目的后端调用:选 apiKey,限额通常更稳定;密钥放环境变量,别硬编码。
- 需要访问用户个人数据(如用户的账号、收藏):只能走 OAuth,由用户授权。
CORS 与 HTTPS 两列:先看再定
CORS 为 Yes,浏览器里fetch就能通;为 No,要么放弃要么加个代理层。HTTPS 为 No 的有 60 个,新项目里建议直接避开。
避坑清单:用上免费API前查四点
"Unknown"不等于"不行"
CORS 一列里有 489 条标着 Unknown——意思是没人验证过,不代表不支持。前端要用,先花两分钟在浏览器实测一次,比看文档猜要快。
免费服务可能随时下线
列表本身也在对抗这个问题:仓库里有定时链接巡检工作流(.github/workflows/scheduled-link-check.yml)和断链收集脚本(.github/broken-link-collectorr.py),社区会定期清掉失效条目。你的代码侧同样要留后手:关键功能准备 1-2 个备用接口,写不出数据时能降级。
注意免费额度与商用限制
部分接口免费但有条件。比如 Weather 分类里 Open-Meteo 的描述明确写着"非商业用途",拿去做商业产品前请先读官方条款。描述列往往就藏着这类限制,选接口时顺手看一眼。
参与进来:使用、贡献或深挖
贡献一个新API:CI 会替你检查什么
流程写在 .github/CONTRIBUTING.md。提交前需要知道,CI 会自动校验:五列表格格式、Auth/CORS 枚举值是否合法、分类内字母序、重名查重、描述不能以标点结尾、只增不删、单个 PR 最多 5 条新记录且不超过 3 个分类。PR 模板见 .github/PULL_REQUEST_TEMPLATE.md。
本地化:把清单克隆下来
git clone https://gitcode.com/GitHub_Trending/pu/public-api-lists cd public-api-lists python3 .github/scripts/sort_entries.py --fix # 贡献时用它自动修复表格排序离线浏览、全文检索都很方便。社区规范在 CODE_OF_CONDUCT.md,漏洞上报走 SECURITY.md,协议见 LICENSE.md。
项目能持续更新,靠的就是这样的社区与赞助生态:另一位金牌赞助商 RapidProxy 提供住宅代理服务,面向数据采集与自动化场景。如果你也维护着相关工具,可以参考这套"列表 + CI 校验 + 赞助"的轻量运营模式,给你的小项目攒一份干净的社区资产。
【免费下载链接】public-api-listsA curated list of free public APIs — searchable, community-maintained, with a free JSON API.项目地址: https://gitcode.com/GitHub_Trending/pu/public-api-lists
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考