public-apis:社区手工精选的 2000+ 免费公开 API 大目录使用指南
public-apis 是一个由社区成员和 APILayer 团队共同手工维护的免费公开 API 清单仓库,README 自称是"一个由社区多年妥善管理的 API 宝藏库"。它不提供代码、不提供 SDK,而是把网上散布的、可以免费调用的公开 REST API 按领域分门别类整理成一张大表,覆盖动物、动漫、天气、金融、开发、机器学习等 50 多个分类、2000 多个 API。每个 API 条目都标注了四件关键信息:是否需要鉴权(Auth)、是否支持 HTTPS、是否支持 CORS,以及一句功能描述。对做原型、做毕设、做演示的开发者来说,这张表相当于一个"不用买数据就能直接调"的素材池。本文按官方 README 梳理这份目录的结构、本地阅读与在线浏览方式,以及如何从表里挑一个真正能用的 API。
一、项目官方信息
| 项目 | 信息 |
|---|---|
| 项目定位 | 社区手工精选的免费公开 API 目录(学习/参考资源,非软件) |
| GitHub 仓库 | public-apis/public-apis |
| 主要语言 | Markdown(目录内容) |
| 在线浏览站点 | publicapis.lol |
| 在线搜索筛选 | publicapis.lol/search |
| 开源协议 | MIT License |
| Star 数量 | 约 493k(截至 2026 年 10 月) |
二、项目配图
官方 README 顶部的 APILayer 合作 Banner(已上传至本站附件目录,访问稳定):

三、项目背景
在 public-apis 出现之前,开发者想找一个免费 API 往往要在搜索引擎里翻半天,还要逐个判断它要不要注册、支不支持浏览器跨域、能不能用 HTTPS。这个仓库把这些判断提前做完:每个条目一行,作者、描述、鉴权、HTTPS、CORS 五列一目了然。仓库由社区贡献、APILayer 团队维护,任何人都可以按 CONTRIBUTING.md 提交新的 API 或修正失效链接。这种"众包整理 + 官方维护"的模式让目录能持续更新,跟上互联网上 API 不断上线又下线的节奏。
除了 REST API,仓库近年还专门开了 MCP Servers 板块,把可以接入 AI 代理的工具型服务器单独列出。这反映出目录的使用方式正在变化:以前是人在浏览器里点 API 文档,现在越来越多是 AI 代理在后台自动调用,因此条目格式也随之从面向人阅读的 HTTPS/CORS,扩展到面向代理调用的 transport 与安装入口。
官方还把整张 README 重建为一个可搜索的网站 publicapis.lol,与仓库每日同步并每日检测可用性:网站提供分类浏览、按鉴权/HTTPS/CORS 筛选、无需密钥的 API 专列、实时在线状态、MCP 服务器目录、随机 API 推荐和免费开发者工具,比直接读 Markdown 大表效率高得多。
对新手来说,这个仓库最大的价值不是"某一个 API",而是建立了一套选型习惯:先按领域找分类,再看 Auth 列判断要不要注册申请密钥,再看 HTTPS 列确认能否加密调用,最后看 CORS 列决定前端直连还是后端代理。这套判断流程几乎适用于所有第三方公开 API,哪怕将来不使用这份目录,思路也能迁移到任何商业 API 文档上。
四、典型适用场景
- 课程设计与毕设:想做一个带真实数据的小应用,又买不起付费数据源,直接从无密钥专区挑几个 API 拼起来,几分钟就能搭出一个能演示的页面。
- 前端原型演示:找 CORS=Yes 的 API,写一个页面 fetch 后渲染,不用自己搭后端。
- AI 代理工具链:在 MCP Servers 板块挑一个适合的工具服务器,装进 Claude 或 Cursor,让代理直接调用,省去自己写胶水代码。
- 技术博客素材:站点博客里有基于这些 API 的教程合集,适合做二次整理与翻译,也是找选题时的灵感来源。
对完全没找过第三方 API 的人,建议第一次先从无密钥专区随便挑一个,用浏览器直接打开返回的 JSON 地址,直观感受"一个公开 API 返回什么";再试着把 Auth 列从 No 改成 apiKey,体会申请密钥后把 key 放到请求头或查询参数里的差异。整个过程不花钱,也不依赖任何开发环境。
五、目录结构与核心内容
- 50+ 分类:README 末尾的 Index 列出了 Animals、Anime、Blockchain、Cryptocurrency、Currency Exchange、Development、Finance、Geocoding、Machine Learning、News、Open Data、Science & Math、Weather、Transportation 等几乎你能想到的领域,按字母顺序排列。这意味着不管你想做天气小工具、加密货币看板、新闻聚合还是地理编码查询,都能先定位到对应分类再慢慢挑。
- 统一条目格式:每个分类下是一张表,列为
API | Description | Auth | HTTPS | CORS。Auth 列标No表示注册即调用,标apiKey/OAuth表示需要申请密钥;HTTPS 与 CORS 列直接告诉你能不能在前端页面里直接用。这种五列结构把"能不能用"这件事在一行里讲完,省去了点进每个官网文档的时间。 - 无密钥专区:在线站点专门整理了"no API key"分类,这些 API 注册都不用,点开就能调用,适合快速原型。对不想申请一堆开发者账号的人来说,这是最省事的入口。
- MCP Servers 板块:README 还收录了一批 Model Context Protocol 服务器,让 AI 代理(Claude、Cursor、VS Code 等)把这些 API 当作工具调用,列名从传统的 HTTPS/CORS 换成了 transport(stdio/HTTP)和安装入口,反映了目录在 AI 时代的新用法。
- 每日可用性检测:在线站点提供 live status,告诉你今天哪些 API 正常、哪些慢、哪些挂了,避免照抄死链。
- 周边工具:站点还提供 JSON 格式化、JWT 解码、cURL 转换等免费小工具,以及基于这些 API 的教程博客。
六、环境要求与获取方式
这个仓库本质是一份 Markdown 文档,没有运行时依赖,"部署"只分两种:
- 本地阅读:用 git 把仓库克隆到本机,直接用任意 Markdown 编辑器或阅读器打开 README.md 即可,不需要 Python、Node 或任何运行时,也不需要联网。
- 网页端浏览:直接访问 publicapis.lol,无需安装任何东西,浏览器打开即用。
需要说明的是,这里的"部署"和传统软件部署不同:这个仓库没有服务要跑、没有端口要监听、没有依赖要安装,它的价值在于信息本身。所以"部署方式"讨论的其实是"用什么方式阅读这份目录最高效"。
七、本地部署/阅读方式
1. 克隆仓库到本地
git clone https://github.com/public-apis/public-apis.git
cd public-apis
克隆完成后,用编辑器打开 README.md 即可按分类查阅。这份 README 很长(30 多万字节),建议用支持大纲折叠的 Markdown 编辑器,按 Index 里的分类锚点跳转。如果只是偶尔查一次,clone 下来不如直接上网站;但如果想批量分析这份目录、或在内网离线环境里翻,本地一份完整的 README 就很有用,也可以用脚本把 Markdown 表格解析成 JSON 或 CSV 做二次加工。
2. 本地预览
如果想在本机浏览器里像网站一样看,任何 Markdown 预览工具都可以,例如 VS Code 自带的 Markdown 预览(快捷键 Ctrl+Shift+V)。本地预览不需要联网调 API,只是阅读目录。这种方式适合在内网、断网或想离线批注时使用;也可以配合目录里的分类锚点,把常用的几个分类保存成书签片段,下次直接跳。
八、网页端浏览方式(推荐)
直接打开官方重建的搜索站 publicapis.lol:它是这份 README 的官方重建站点,与仓库每日同步并每日检测可用性,比直接读 Markdown 大表更适合日常检索,也是官方推荐的主入口。
- 在 浏览目录 看每个分类与精选推荐;
- 在 搜索筛选页 按是否需要密钥、是否支持 HTTPS、是否支持 CORS 过滤;
- 在 无密钥专区 挑一个立刻能调的 API;
- 在 状态页 看今天哪些 API 在线;
- 在 MCP 服务器目录 挑一个装进 AI 代理;
- 拿不定主意就点 随机 API 掷骰子。网站与仓库每日同步,意味着你在 GitHub 上看到的新条目,第二天通常就能在网站上搜到并过滤;状态页则把"今天能不能用"这件事从主观猜测变成了客观数据。
九、使用方法:挑一个 API 试调
以 Animals 分类里标 Auth=No, HTTPS=Yes 的公开 API 为例,浏览器或 curl 直接请求其返回 JSON 的地址即可:
curl "https://theaxolotlapi.netlify.app/"
这条命令会直接返回 JSON,不需要任何请求头或密钥。如果换成需要 apiKey 的条目,通常要在 URL 里加 ?access_key=xxx 或在请求头里带 Authorization,具体参数格式以该 API 官网文档为准。建议第一次动手时,先把浏览器地址栏当作最小的调试工具,直接在地址栏敲 API 地址看返回,确认 JSON 结构后再写进代码。
在自己的项目里,优先挑 HTTPS=Yes 且 CORS=Yes 的条目,这样前端页面可以直接 fetch;如果 CORS=No,则需要走自己的后端代理转发。调用前建议先看在线状态页确认该 API 今天没挂,再看一眼该 API 官网的免费额度限制,避免在演示当天突然被限流。
十、常见问题 FAQ
Q1:这个仓库要装环境吗? 不需要。它是一份 Markdown 目录,clone 下来阅读,或直接上 publicapis.lol 网站浏览即可,没有任何依赖。即便完全不碰命令行,只用在线网站也能获得全部目录价值。对学生和非工程背景的人来说,零门槛浏览是这个目录最大的优点,也是它能长期占据高 Star 榜的原因之一。
Q2:表里的 API 会不会失效? 会。在线站点提供 live status 每日检测;本地 README 里的链接如果点不开,可以去 Issues 反馈或按贡献指南更新。仓库本身是动态维护的,越新的 clone 越接近当前可用状态。在重要演示前,建议先去状态页确认目标 API 当天没挂。
Q3:哪些 API 能在前端直接调用?
看表里的 CORS 列,标 Yes 的可以在浏览器里直接 fetch;标 No 的需要后端代理。Auth 列标 No 的连密钥都不用申请。这个判断顺序在任何第三方 API 选型时都适用,也是这个目录教给开发者的通用思路。
Q4:可以把这些 API 用到商用产品里吗? 目录只收录公开 API,具体每条的商用条款要去该 API 自己的官网查看;目录本身是 MIT 协议。商用前务必确认该 API 的免费额度、调用限制与数据使用条款,避免把一个仅允许非商用的数据源直接放进收费产品,造成合规风险。
Q5:想给项目加一个 API 怎么提交? 按仓库 CONTRIBUTING.md 提 Pull Request,新条目要符合统一的表格格式,包括描述、Auth、HTTPS、CORS 四列都不能缺,且提交前需自行确认该 API 当前可正常访问。
Q6:README 太长找不到想要的分类怎么办? 用在线站的搜索筛选,或在本地 README 里用 Ctrl+F 搜 Index 里的分类名,比从头翻快得多。也可以直接点随机 API 让系统帮你挑一个,遇到感兴趣的再深入看它的官网文档。
十一、跳转链接
- 项目仓库:public-apis/public-apis
- 在线浏览:publicapis.lol
- 搜索筛选:publicapis.lol/search
- 无密钥 API:publicapis.lol/no-api-key
- 实时状态:publicapis.lol/status
- 贡献指南:CONTRIBUTING.md
总结一下:public-apis 本身不是要"部署"的软件,而是一份按领域整理的免费 API 目录。本地用 git clone 后在 Markdown 编辑器里读,或直接上 publicapis.lol 搜索筛选,都是官方推荐的使用方式;挑 API 时牢记 Auth、HTTPS、CORS 三列,就能在几分钟内找到一个适合原型、教学或 AI 代理调用的免费数据源。对长期做独立开发的人来说,把这个目录加进浏览器书签,需要临时数据时随手查一下,往往比现搜现找快得多,也能避免重复踩"注册才能用、跨域被拦"这类常见的坑,是每个做独立开发的人都值得长期收藏、随用随查的一份免费数据源清单。