public-apis:460k+ Star 的免费 API 宝库,翻完 README 后值得记的几件事

项目地址:github.com/public-apis/public-apis · MIT 开源 · 460k+ Stars · 写于 2026 年 9 月
开源项目开发者资源免费 API工具集练手 DemoAPI

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

小黑仰头站在一面巨大的目录墙前,墙上贴满写有动物、天气、金融、音乐等分类名的标签卡片
一面贴满分类标签的”API 目录墙”——从动物到专利,51 个分类就挂在上面

一、第一屏其实有两副面孔

打开 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 这一栏只接受五种取值:OAuthapiKeyX-Mashape-KeyUser-AgentNo。标 No 的那批(Cat Facts、Jikan、CoinGecko)意味着不用申请任何密钥,拿来就调,对练手最友好。

CORS 则是纯前端项目的生死线,它只有三态:Yes 支持跨域、No 不支持、Unknown 未知。CONTRIBUTING 里那句提示说得很直白:没有正确配置 CORS 的 API,只能在服务端使用。也就是说,标 No 或 Unknown 的条目,你从浏览器直接 fetch 大概率要碰一鼻子灰,得绕一层后端代理。

小黑举着放大镜在清单上逐行检查,旁边立着三个标着 Auth、HTTPS、CORS 的筛子
Auth、HTTPS、CORS 三把筛子——”能不能用在你这儿”,表里其实早就写好了

四、被低估的一格:专门给你造假数据的那几个接口

如果只能推荐一个分类,我会选 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 的新接口卡片
清单上的每一条,都是有人提了 PR 才贴上去的

还有一条挺有意思:提 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 » public-apis:460k+ Star 的免费 API 宝库,翻完 README 后值得记的几件事

评论 抢沙发

登录

找回密码

注册