public-apis
读万卷书,行万里路。——刘彝
public-apis/public-apis:一座会自己长大的“API 宝藏库”,每天都在等你来挖
我第一次点开 public-apis/public-apis 的 README 时,脑子里出现的画面不是“一个仓库”,而是一座很热闹的港口。
码头边站着一位老练的引路人,手里拿着一本不断增厚的名录,边翻边跟我说:
“想要免费 API?来,我这里有。动物、金融、天气、新闻、机器学习、政府数据……你说得出名字的领域,基本都能在这条街上找到摊位。” (github.com)
它就是 GitHub 上极其知名的仓库:
- public-apis/public-apis
- A collective list of free APIs(免费 API 的合集清单) (github.com)
它不跟你讲大道理,它直接把路给你铺到脚下:
一份巨大的索引 + 一个个分类清单 + 每条 API 的关键信息,像城市地图一样清清楚楚。
它是谁:一个“手工策展”的公共 API 清单
如果你把互联网当成一片海,API 就是海里的航线。
而 public-apis 不是某个公司做出来的“产品目录”,它更像一个由社区共同维护的手工策展清单:
“The Public APIs repository is manually curated by community members…”
由像你这样的社区成员(以及 APILayer 的伙伴)共同维护。 (github.com)
它把自己描述成一座“宝藏库”:
“Consider it a treasure trove of APIs well-managed by the community over the years.” (github.com)
这句话很有画面感:
它不是把链接粗暴堆在一起,而是像一个认真做馆藏的管理员——
把“免费 API”按领域收纳、整理、标注,让你可以快速挑到趁手的工具。
它的开场白很直白:Try Public APIs for free
README 的第一句话就像一个招牌,挂在大门口:
Try Public APIs for free (github.com)
这句话有点像一位热心的店老板对你招手:
- 你是来做产品原型的?进来挑。
- 你是来做小工具的?进来挑。
- 你是来练手写爬虫/练接口调用的?进来挑。
- 你是来做数据可视化/脚本自动化的?进来挑。
它不问你“你是谁”,它只问你“你要什么领域的 API”。
它怎么组织这座城市:Index(索引)就是地图
public-apis 的“城市规划”非常讲究:
先给你一张巨大的索引地图(Index),然后每个区域都有自己的街区清单。
你会在 Index 里看到大量分类(这里只举 README 展示的部分感受一下规模):
- Animals、Anime、Anti-Malware、Art & Design
- Authentication & Authorization
- Blockchain、Books、Business、Calendar
- Cloud Storage & File Sharing、Continuous Integration、Cryptocurrency
- Currency Exchange、Data Validation、Development、Dictionaries
- Documents & Productivity、Email、Entertainment、Environment、Events
- Finance、Food & Drink、Games & Comics、Geocoding、Government、Health、Jobs
- Machine Learning、Music、News、Open Data、Open Source Projects
- Patent、Personality、Phone、Photography、Programming、Science & Math、Security
- Shopping、Social、Sports & Fitness、Test Data、Text Analysis、Tracking
- Transportation、URL Shorteners、Vehicle、Video、Weather
…… (github.com)
它像在说:
“别急,我知道你要找接口,但先把地图拿好——你要去哪条街,自己选。”
每条 API 都像一个“摊位”,而它把关键信息都写在摊位招牌上
在每个分类下面,它用表格给你列出每个 API 的核心属性:
- API 名称
- Description(它能干嘛)
- Auth(需要什么认证,比如 apiKey / OAuth / No)
- HTTPS(是否支持 HTTPS)
- CORS(跨域策略)
以 Animals 分类为例,你能看到类似这样的条目(这里只是 README 中可见的一部分条目,用来感受结构):
- AdoptAPet(apiKey)
- Axolotl(No)
- Cat Facts(No)
- Cataas(No)
- Dogs(No)
- eBird(apiKey)
- FishWatch(No)
- HTTP Cat(No)
- HTTP Dog(No)
…… (github.com)
这个设计非常“工程化”:
你不需要先点进去每个官网找“到底要不要 key”,也不需要先猜“能不能跨域”——
它在清单层就帮你做了一次信息预处理。
它像一个很会带新人的同事,一边递给你资源,一边顺手把坑标出来:
- “这个要
apiKey。” - “这个不用认证。”
- “这个支持 HTTPS。”
- “这个 CORS 不确定/不支持,你如果前端直连要小心。”
你会在门口遇到 APILayer:一位“合作方导游”
README 里也出现了 APILayer 的介绍和 API 列表:
- IPstack、Marketstack、Weatherstack、Numverify、Fixer、Aviationstack、Zenserp、Screenshotlayer、Exchangerate Host、Mailboxlayer 等等 (github.com)
- 同时也写明:APILayer is the fastest way to integrate APIs into any product(用于集成 API 的方式之一) (github.com)
如果你愿意把这段拟人化一下:public-apis 像一位“社区图书管理员”,而 APILayer 像是图书馆门口的“城市导游”——
他会告诉你:除了这本名录,你也可以用他们的方式更快把 API 接入产品。
这个仓库给你的不只是清单,还有“参与入口”
public-apis 不装高冷,它在 README 里直接给出参与方式:
- Contributing Guide
- API for this project
- Issues / Pull Requests
- LICENSE
(github.com)
这意味着:
它不是“你只能看”的列表,它更像一块公共白板——你可以补充、纠错、维护,让这座“API 城市”继续扩建。
怎么把它用起来:把它当成你项目的“API 选型起点”
public-apis 本身不是一个 SDK,也不是一个 CLI 工具;它更像一个“选型入口”。
它最适合出现在你的工作流里这样的位置:
- 你准备做一个需求:比如“天气 + 地图 + 新闻”
- 你不想一上来就 Google 半天、踩一堆坑
- 你先打开 public-apis 的 Index,锁定分类
- 在分类表格里快速筛选:认证方式、HTTPS、CORS
- 再点进 API 的官网文档,决定用哪一个
如果你想来点“命令行味道”的使用方式(本质是把 README 拉到本地,方便 grep/全文搜索),可以这么做:
1 | git clone https://github.com/public-apis/public-apis.git |
它不会替你写业务代码,但会像一位靠谱的搭档帮你节省最贵的东西:找资料与试错的时间。
一句话总结:它像一位不知疲倦的“资源管理员”,把免费 API 排好队递到你手里
public-apis/public-apis 的魅力不在于花哨,而在于“长期主义的整理”。
它每天都在做一件很朴素但很难的事:
- 把散落在互联网各处的免费 API
- 用统一结构整理好
- 让你在需要的时候,像翻一本目录一样找到它们
它不承诺“你用它就能成功”,它只保证:
你想找免费 API 的时候,它会站在那儿,像一位老朋友一样把名单递给你:
“来,挑吧。要哪一类?” (github.com)
