AI Agent 的数据源:public-apis 免费 API 使用指南 目录1. 引言AI Agent 的数据源2. public-apis 是什么3. 仓库结构说明4. 如何浏览与筛选 API4.1 按分类浏览4.2 按需求筛选5. 快速上手调用一个免费 API5.1 示例一猫的图片 APITheCatAPI5.2 示例二天气查询 APIOpen-Meteo5.3 示例三随机用户生成 APIRandomUser6. 在代码中调用 API6.1 Python 示例6.2 JavaScript 示例7. 作为 AI Agent 的数据源7.1 为什么用免费 API 作为数据源7.2 内置知识 vs 调用免费 API对比一览7.3 典型场景7.4 在 Agent 中接入 APIPython 示例7.5 接入时的注意事项8. 注意事项与最佳实践9. 总结public-apis是一个由社区维护的开源项目收录了全球超过 1400 个免费公开 API覆盖 40 余个分类是开发者寻找免费数据接口的「一站式目录」。本文首先介绍如何通过 README 中的字段Auth、HTTPS、CORS 等高效浏览与筛选 API随后以猫图、天气、随机用户三个示例演示了从 curl 到 Python、JavaScript 的调用方式。文章重点展示了如何将这些免费 API 作为 AI Agent 的外部数据源通过 Function Calling 让智能体实时获取真实世界信息弥补大模型在时效性与事实性上的不足。最后总结了接入时的注意事项与最佳实践帮助你快速上手并顺利将免费 API 集成到自己的 Agent 项目中。1. 引言AI Agent 的数据源在构建 AI Agent智能体时一个关键问题是如何让 Agent 获取真实世界的最新信息。大模型本身的知识存在时效性限制无法覆盖实时变化的天气、新闻、汇率等数据。这时外部 API 就成了 AI Agent 不可或缺的数据源。GitHub 上有一个非常著名的开源项目——public-apis它收录了全球数百个免费公开 API涵盖动物、金融、天气、娱乐、开发工具等几十个分类是开发者寻找免费数据接口的「一站式目录」。这些接口恰好可以作为 AI Agent 的「工具箱」让 Agent 通过 Function Calling / Tool Use 实时调用外部数据弥补大模型在事实性和时效性上的不足。本指南将带你从零开始认识 public-apis学会如何浏览、筛选、调用其中的 API并重点演示如何将这些免费 API 作为 AI Agent 的数据源给出可直接上手的实战示例。2. public-apis 是什么public-apis 是一个由社区维护的开源项目仓库地址为https://github.com/public-apis/public-apis它的核心价值在于覆盖面广收录了数百个免费公开 API按类别组织方便查找。信息透明每个 API 都标注了是否免费、是否需要认证Auth、是否支持 HTTPS、是否支持 CORS 等关键信息。社区驱动任何人都可以提交新的 API 或修正已有条目内容持续更新。简单来说它本身不是一个 API 服务而是一份「API 索引清单」帮你快速发现可用的免费接口。截至撰写本文时该仓库已收录超过 1400 个 API覆盖 40 余个分类是 GitHub 上最活跃的 API 索引项目之一。3. 仓库结构说明public-apis 仓库的核心是一个README.md文件其中以表格形式列出了所有 API。每个 API 条目通常包含以下字段字段含义API接口名称及链接Description接口功能简介Auth是否需要认证如apiKey、OAuth、NoHTTPS是否支持 HTTPS 访问CORS是否支持跨域请求Yes/No/Unknown此外仓库还包含CONTRIBUTING.md贡献指南说明如何提交新的 API。LICENSE开源许可证。分类目录README 中按类别如 Animals、Finance、Weather 等分组展示。理解这些字段的含义是高效筛选 API 的前提。例如Auth字段决定了你调用接口前是否需要注册并获取密钥CORS字段则直接影响该接口能否在浏览器端被前端代码直接调用。4. 如何浏览与筛选 API4.1 按分类浏览打开 README 后你会看到按字母顺序排列的分类标题例如Animals动物Anime动漫Finance金融Food Drink食品饮料Games游戏Music音乐News新闻Weather天气等等点击分类标题即可跳转到对应区域的 API 表格。每个分类下通常有多个候选接口建议先浏览 Description 列快速判断哪个接口最贴合你的需求。4.2 按需求筛选在表格中你可以根据以下条件快速筛选Auth 列为No无需任何认证直接调用适合快速测试。HTTPS 列为Yes接口支持加密传输更安全。CORS 列为Yes支持浏览器跨域请求适合前端项目直接调用。例如如果你只想找「无需认证、支持 HTTPS、支持 CORS」的接口可以同时满足这三个条件的行优先尝试。一个实用技巧是先用浏览器的「查找」功能CtrlF / CmdF在当前页面搜索关键词再结合上述条件逐行核对能显著提升筛选效率。5. 快速上手调用一个免费 API下面以几个典型的免费 API 为例演示如何快速调用。5.1 示例一猫的图片 APITheCatAPITheCatAPI 无需认证即可获取随机猫咪图片非常适合练手。curlhttps://api.thecatapi.com/v1/images/search返回结果示例JSON[{id:abc123,url:https://cdn2.thecatapi.com/images/abc123.jpg,width:1024,height:768}]5.2 示例二天气查询 APIOpen-MeteoOpen-Meteo 无需 API Key即可获取全球天气数据。curlhttps://api.open-meteo.com/v1/forecast?latitude39.9longitude116.4current_weathertrue返回结果示例JSON{latitude:39.9,longitude:116.4,current_weather:{temperature:18.5,windspeed:12.3,weathercode:1}}5.3 示例三随机用户生成 APIRandomUserRandomUser 可以生成模拟用户数据适合测试列表页或表单。curlhttps://randomuser.me/api/返回结果示例JSON{results:[{name:{first:John,last:Doe},email:john.doeexample.com}]}6. 在代码中调用 API6.1 Python 示例使用 Python 的requests库调用随机用户 APIimportrequests urlhttps://randomuser.me/api/responserequests.get(url)dataresponse.json()userdata[results][0]print(f姓名:{user[name][first]}{user[name][last]})print(f邮箱:{user[email]})6.2 JavaScript 示例使用浏览器原生fetch调用猫图 APIfetch(https://api.thecatapi.com/v1/images/search).then((response)response.json()).then((data){constimgUrldata[0].url;console.log(猫咪图片地址:,imgUrl);}).catch((error)console.error(请求失败:,error));7. 作为 AI Agent 的数据源public-apis 收录的免费 API 非常适合作为 AI Agent智能体的外部数据源让 Agent 在对话中实时获取真实世界的信息而不只是依赖训练时的静态知识。7.1 为什么用免费 API 作为数据源实时性天气、新闻、汇率等数据时刻变化通过 API 获取能保证 Agent 回答的时效性。扩展能力Agent 可以调用工具Function Calling / Tool Use访问外部 API弥补大模型在事实性、时效性上的不足。低成本public-apis 中大量接口免费且无需认证适合快速搭建原型验证。7.2 内置知识 vs 调用免费 API对比一览在决定是否让 Agent 接入外部 API 之前先理解两种数据获取方式的差异会很有帮助。下表从几个关键维度做了对比对比维度直接使用大模型内置知识通过 Function Calling 调用免费 API实时性受训练数据截止时间限制无法获取最新信息实时获取天气、新闻、汇率等动态数据准确性可能产生「幻觉」对事实性细节易出错数据来自真实接口事实性更强、可溯源成本无需额外接口费用但长上下文推理成本较高免费 API 通常零成本仅需少量请求开销实现复杂度零配置开箱即用需要定义工具、处理调用与结果回传稍复杂覆盖范围依赖模型训练语料覆盖面固定可扩展任意分类覆盖数百个真实数据源稳定性稳定不依赖外部服务依赖第三方接口可用性需做错误处理与降级简要说明内置知识适合回答常识性、通用性问题胜在简单稳定而免费 API 则适合需要实时、精确数据的场景如天气查询、汇率换算、新闻摘要等。实际项目中两者往往互补——先用内置知识理解意图再按需调用 API 获取最新数据最后让模型基于真实数据生成回答。这也是 7.3 中 Function Calling 示例的核心思路。7.3 典型场景场景推荐 API 分类示例天气助手WeatherOpen-Meteo新闻摘要News各类新闻聚合 API汇率换算Finance免费汇率接口随机数据生成Test DataRandomUser图片生成素材Animals / ImagesTheCatAPI7.4 在 Agent 中接入 APIPython 示例下面以 OpenAI 风格的 Function Calling 为例演示如何让 Agent 调用天气 API 作为数据源importjsonimportrequestsfromopenaiimportOpenAI clientOpenAI()defget_weather(latitude:float,longitude:float)-str:调用 Open-Meteo 获取实时天气urlhttps://api.open-meteo.com/v1/forecastparams{latitude:latitude,longitude:longitude,current_weather:true}responserequests.get(url,paramsparams)returnjson.dumps(response.json())tools[{type:function,function:{name:get_weather,description:获取指定经纬度的实时天气,parameters:{type:object,properties:{latitude:{type:number},longitude:{type:number}},required:[latitude,longitude]}}}]messages[{role:user,content:北京现在多少度}]# 第一轮模型决定调用工具responseclient.chat.completions.create(modelgpt-4o,messagesmessages,toolstools)# 如果模型要求调用工具则执行并返回结果ifresponse.choices[0].message.tool_calls:tool_callresponse.choices[0].message.tool_calls[0]argsjson.loads(tool_call.function.arguments)weather_dataget_weather(args[latitude],args[longitude])messages.append(response.choices[0].message)messages.append({role:tool,tool_call_id:tool_call.id,content:weather_data})# 第二轮模型基于工具结果生成最终回答final_responseclient.chat.completions.create(modelgpt-4o,messagesmessages,toolstools)print(final_response.choices[0].message.content)7.5 接入时的注意事项错误处理外部 API 可能超时或返回异常Agent 应捕获异常并给出友好提示。数据校验对 API 返回的数据做结构校验避免脏数据进入对话上下文。频率控制为 Agent 的 API 调用设置速率限制防止触发接口封禁。上下文裁剪只把关键字段注入提示词避免返回的 JSON 过大占用上下文窗口。8. 注意事项与最佳实践遵守接口使用限制部分 API 有请求频率限制请勿高频调用避免被封禁。注意认证要求有些 API 虽然免费但需要注册获取 API Key调用时需在请求头或参数中携带。检查 HTTPS 与 CORS在浏览器端调用时优先选择支持 CORS 的接口避免跨域问题。关注数据许可部分 API 返回的数据可能有使用限制商用前请仔细阅读其条款。保持更新public-apis 仓库持续更新建议定期查看最新条目。9. 总结参考资料public-apis GitHub 仓库本文核心介绍的免费公开 API 索引清单收录超过 1400 个接口覆盖 40 余个分类。Open-Meteo 官方文档无需 API Key 即可获取全球天气数据的免费接口本文天气查询示例即基于此服务。TheCatAPI 官方文档无需认证即可获取随机猫咪图片的免费 API适合快速练手与前端演示。RandomUser 官方文档生成模拟用户数据的免费接口适合测试列表页、表单与分页场景。OpenAI Function Calling 官方指南介绍如何让大模型通过工具调用外部 API本文 7.3 节 Agent 接入示例即遵循该模式。public-apis 是开发者寻找免费公开 API 的绝佳起点。通过它你可以快速发现适合自己项目的接口并用几行代码完成调用。无论是学习、原型验证还是正式开发这份清单都能帮你节省大量搜索时间。更重要的是这些免费 API 为 AI Agent 提供了丰富的外部数据源让智能体能够实时获取真实世界的信息。希望本指南能帮你快速上手 public-apis找到心仪的免费 API并顺利将其接入你的 AI Agent 项目中