一句话结论:README 里那句自我定位写得最准——“a treasure trove of APIs well-managed by the community”,一份由社区手工维护的免费接口宝库。51 个分类、1400+ 条,每条都挂好了 Auth / HTTPS / CORS 三栏。它是一本能直接翻的书,不是一项服务;翻的时候顺手验一下链接,比事后调试省事得多。

一、第一屏其实有两副面孔
打开 README,最先看到的不是接口清单,而是一段商业横幅:“APILayer Unified Suite in now Live!”——一个账号、一个控制台、一把 key,就能集成 IP 定位、邮件校验、航班、股价、搜索抓取这一整套商业 API。
往下滚过这段,才是正题标题 “Try Public APIs for free”,以及那句自我定位:这份清单由”像你一样的社区成员”和 APILayer 的人一起手工维护(manually curated),收录了来自多个领域的公开接口,你可以拿去做自己的产品——原文的说法是,“把它当成一座这些年被社区打理得很好的 API 宝库”。
这个排列顺序本身就说明了它的身份:内容由社区产出,托管与商业化由商业方负责。先认清这一点,后面看到的很多现象就都顺理成章了。
二、”manually curated” 这四个字是它的全部价值
“手工维护”听着朴素,其实是这个仓库最值钱的地方。它不是爬虫批量抓来的聚合页,而是有人按规则一条条审过、再合进去的。代价是慢——积压的 PR 和 issue 是常事;好处是信噪比高:每条描述都压在一行以内,不吹不夸,看名字加描述基本就知道这接口是干嘛的。
分类铺得相当开,README 开头的 Index 一共 51 个:动物、动漫、反恶意软件、艺术与设计、认证授权、区块链、书籍、商业、日历、云存储、持续集成、加密货币、货币兑换、数据验证、开发、词典、文档与生产力、邮件、娱乐、环境、事件、金融、饮食、游戏与漫画、地理编码、政府、健康、招聘、机器学习、音乐、新闻、开放数据、开源项目、专利、人格、电话、摄影、编程、科学与数学、安全、购物、社交、运动健康、测试数据、文本分析、追踪、交通、短链、车辆、视频、天气。从”这只猫什么品种”到”某项专利的著录项”,都被排进了同一张目录。

三、表就五列,但后三列才是省时间的一半
每个分类下面都是同一张表,列头一致:API | Description | Auth | HTTPS | CORS。前两列回答”这是什么”,后三列才真正回答“这玩意儿能不能用在我手上这个项目里”。下面这几行是直接从表里抄下来的真实取值,不是示例数据:
| 分类 | API | Auth | HTTPS | CORS |
|---|---|---|---|---|
| 动物 Animals | Cat Facts | No | Yes | Yes |
| 动漫 Anime | Jikan | No | Yes | Yes |
| 加密货币 Crypto | CoinGecko | No | Yes | Yes |
| 开发 Development | JSONPlaceholder | No | Yes | Yes |
| 环境 Environment | Open-Meteo | No | Yes | Yes |
| 开发 Development | GitHub | OAuth | Yes | Yes |
| 动物 Animals | AdoptAPet | apiKey | Yes | Yes |
| 货币兑换 Currency | Fixer | apiKey | No | Unknown |
按 CONTRIBUTING 的约定,Auth 这一栏只接受五种取值:OAuth、apiKey、X-Mashape-Key、User-Agent、No。标 No 的那批(Cat Facts、Jikan、CoinGecko)意味着不用申请任何密钥,拿来就调,对练手最友好。
CORS 则是纯前端项目的生死线,它只有三态:Yes 支持跨域、No 不支持、Unknown 未知。CONTRIBUTING 里那句提示说得很直白:没有正确配置 CORS 的 API,只能在服务端使用。也就是说,标 No 或 Unknown 的条目,你从浏览器直接 fetch 大概率要碰一鼻子灰,得绕一层后端代理。

四、被低估的一格:专门给你造假数据的那几个接口
如果只能推荐一个分类,我会选 Development——里面藏着一整组专门用来”造假数据”的接口,而它们的共同点是 Auth 全为 No:
JSONPlaceholder:README 原话是 “Fake REST API for testing and prototyping”,做原型和练手的事实标准。ReqRes:一个托管的 REST-API,随时准备响应你的 AJAX 请求。Httpbin/Mocky/Beeceptor:分别是请求回显、自定义 JSON mock、几秒钟搭出一个 mock 端点。Postman Echo(归在 Data Validation 分类下):测试用服务器,把你发过去的请求原样返回。
它们的价值在于把”搭后端”这一步整个跳过去——想验证一个前端交互、写一段教程、教新人发第一个请求,直接用就行:
# Auth = No · HTTPS = Yes · CORS = Yes
# 不用申请 key,浏览器里也能直接 fetch
curl https://jsonplaceholder.typicode.com/todos/1
# {"userId": 1, "id": 1, "title": "delectus aut autem", "completed": false}

五、翻表时顺手记下的几个坑(都是表里明写着的)
这一节不讲大道理,只列我在 README 里亲眼看到、可以当场核对的几处。它们比任何”注意事项”都有说服力:
- 有明确标着 HTTPS = No 的条目。货币兑换分类里的
Fixer,HTTPS 那一栏就是 No;区块链分类里的Steem更彻底,HTTPS 和 CORS 双双为 No。 - 有给明文 http:// 地址的。动物分类的
IUCN(濒危物种红色名录)和艺术设计分类的Colormind,链接都是 http 开头,没有加密。 - 有名字和链接对不上的。“APIs Covered Under APILayer Suite!” 那个列表里,
Markestack这一项指向的却是 mediastack 的产品页。 - 商业接口和社区条目是分开摆的。README 里单独有一个 “APILayer APIs” 表格,列头是
API | Description | Call this API,收录 IPstack、Marketstack、Weatherstack、Numverify、Fixer、Aviationstack 等十来个商业 API,还多一列 Call this API。看的时候心里有个数:这一栏是商业推广,和上面社区审出来的条目不是一回事。
所以使用姿势就一句话:把它当灵感目录和检索起点,动手前花两分钟看一眼官方文档和链接状态——尤其是准备放进生产环境的时候。一份 Markdown 表格适合人读,但对自动化很脆,别把它当依赖源。
六、想加一个接口?先读 CONTRIBUTING,再提 PR
README 底部有个 “Learn more about Public APIs → Get Involved” 区块,给了五个入口:Contributing Guide、API for this project、Issues、Pull Requests、LICENSE。而 CONTRIBUTING.md 一开头就先把话说死了——这份清单不是营销工具,被判定为打广告的 PR 不会被接受;并且你准备加的接口必须有完整的免费访问,或至少有一个免费额度,且不能依赖先购买某个设备或服务(原文举的例子是”控制智能插座的 API”:接口免费,但你得先买插座,这类会被拒)。
剩下的规矩也都很具体,抄几条最容易踩的:一个 PR 只加一个链接;必须维持各分类内的字母序;描述不超过 100 个字符;PR 标题固定写成 Add 某某 API;接口名里不要带域名后缀,也不要以 API 结尾(❌ Gmail.com / Gmail API,✔ Gmail);提交前把所有 commit 压成一个,并指向 master 分支。

还有一条挺有意思:提 PR 会触发一次构建,自动检查项目里所有链接的有效性,没通过就得自己去看日志修。这个机制正好解释了仓库里那个 scripts/ 目录的用途——它有检测死链的脚本,历史上还修过一次”链接本身是好的、却被误报 404″的 false negative。
最后那个 “API for this project” 指向 davemachado/public-api。如果你想把这份清单接进自己的工具链做二次开发,比起硬解析 README,走这个配套接口会省事很多。
七、写在最后:形式之轻,解决的却是反复出现的痛
public-apis 最动人的地方,是它的形式之轻——没有平台、没有 SDK、没有控制台,就是一份 Markdown 表格。可它解决的偏偏是开发者一个反复出现的痛点:“我大概需要这么一类数据,但去哪找?”
下次卡在”缺数据源”的时候,先来这儿翻三分钟,通常比自己从零搭接口快得多;而当你确证了一个接口好用、想把它分享给下一个人时,按规矩提个 PR 把它贴回墙上——这座宝库就是这么一点点攒起来的。那 460k 个 Star 背后,是无数个因为”找到了那个接口”而少熬一夜的开发者。
项目地址:github.com/public-apis/public-apis · 协议:MIT

AI TOOL PUSH






