项目介绍

Public APIs 是 GitHub 上最受欢迎的API资源仓库之一,由社区成员和 APILayer 团队共同维护。它收录了来自众多领域的免费公共API,是开发者构建应用、学习API集成和进行项目开发的宝贵资源。

无论你是在构建个人项目、学习Web开发,还是在寻找有趣的数据源来丰富你的应用,这个仓库都能帮助你快速找到合适的API。每个API都标注了认证方式、HTTPS支持和CORS支持等关键信息。

项目信息详情
维护方社区贡献者 & APILayer
GitHub Stars406,388+
API分类数50+ 个类别
收录API数1,400+ 个公共API
社区Discord 服务器
许可证MIT License

API分类目录

Public APIs 将所有收录的API按照以下类别进行组织,方便快速查找:

数据与信息

动物、书籍、字典、新闻、开放数据、科学与数学、政府数据等信息类API。

金融与商业

金融市场、加密货币、货币汇率、商业信息、工作招聘等商业领域API。

娱乐与媒体

动漫、游戏与漫画、音乐、视频、摄影、娱乐、社交媒体等内容类API。

开发工具

开发工具、数据验证、认证授权、测试数据、文本分析、URL缩短等开发辅助API。

生活服务

天气预报、美食饮品、健康医疗、交通运输、购物、日历、电话等生活类API。

技术基础

区块链、云存储、持续集成、机器学习、编程、安全、追踪等技术领域API。

地理与环境

地理编码、环境数据、车辆信息等与地理位置和环境相关的API。

艺术与设计

艺术设计、反恶意软件、个性化、专利、体育健身等特色领域API。

如何使用

  • 浏览分类 — 在 GitHub 仓库中按分类浏览,找到适合你项目的API类别
  • 查看API详情 — 每个API条目包含名称、描述、认证方式、HTTPS和CORS支持信息
  • 注册获取密钥 — 部分API需要注册获取API Key,按照API文档进行操作
  • 测试API接口 — 使用 Postman、curl 或浏览器测试API是否满足你的需求
  • 集成到项目 — 在你的应用中使用 HTTP 请求调用API,处理返回的数据
# 使用 curl 测试一个公共API的示例 # 获取随机猫咪图片(Cat API) curl https://api.thecatapi.com/v1/images/search # 使用 JavaScript fetch 调用API fetch('https://api.thecatapi.com/v1/images/search') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); # 使用 Python requests 调用API import requests response = requests.get('https://api.thecatapi.com/v1/images/search') print(response.json())

API开发技巧

  • 理解认证方式 — 常见的有 API Key、OAuth、无认证等方式,选择适合的API
  • 注意速率限制 — 大多数免费API有请求频率限制,合理规划调用频率
  • 处理错误响应 — 始终对API返回的错误进行处理,包括网络错误和业务错误
  • 缓存响应数据 — 对不常变化的数据进行缓存,减少API调用次数和延迟
  • 检查CORS支持 — 前端直接调用API时需确认API支持CORS,否则需要后端代理
  • 使用HTTPS — 优先选择支持HTTPS的API,确保数据传输安全
  • 阅读API文档 — 使用前仔细阅读API文档,了解请求格式、参数和限制
  • 做好降级处理 — API可能随时变更或下线,做好备选方案和降级策略

常见问题

这些API都是免费的吗?
仓库收录的API大多提供免费套餐或完全免费。不过,部分API可能有使用限制(如请求次数限制),超出免费额度后可能需要付费。建议在使用前查看各API的定价页面。
如何选择适合我项目的API?
首先确定你需要的数据类型,然后在对应分类中查找候选API。比较它们的文档质量、稳定性、速率限制、数据格式等因素。建议先用几个备选API做小规模测试,再决定正式使用哪个。
API Key 是什么?如何获取?
API Key 是一个唯一的标识符,用于验证你对API的访问权限。通常需要在API提供商的网站上注册账号后即可免费获取。获取后,在API请求中以参数或请求头的形式传递即可。注意保护好你的API Key,不要公开暴露。
CORS 是什么?为什么重要?
CORS(跨域资源共享)是浏览器的安全机制。如果你从前端JavaScript直接调用API,需要API支持CORS,否则浏览器会阻止请求。如果API不支持CORS,你可以通过后端服务器代理请求来解决。
如何贡献新的API到列表中?
你可以通过 GitHub Pull Request 提交新的API。确保API是公开可用的、有良好的文档,并按照仓库的格式要求填写API名称、描述、认证方式、HTTPS和CORS支持等信息。
列表中的API突然无法使用怎么办?
公共API可能因为维护者变更、服务关闭等原因变得不可用。如果你发现某个API不再可用,可以在仓库中提交 Issue 报告。对于你的项目,建议始终做好API不可用时的降级处理方案。

社区议题

以下是该项目当前开放的 Issue(按评论数排序),共 6 条,标题已翻译为中文供参考。

编号 议题标题(中文翻译 / 英文原文) 创建日期 评论
#3104 Public APIs Situation [ READ THIS ISSUE 请 ]
Public APIs Situation [ READ THIS ISSUE PLEASE ]
适合新手important
2022-03-17 89
#3484 USE THIS REPO INSTEAD: https://github.com/public-apis-dev/public-apis
USE THIS REPO INSTEAD: https://github.com/public-apis-dev/public-apis
2023-03-31 13
#5367 添加 Agent Gateway — 40+ free APIs for AI agents
Add Agent Gateway — 40+ free APIs for AI agents
2026-03-04 3
#5406 提案: 添加 Advanced 文件 Converter API/Website to Public APIs
Proposal: Add Advanced File Converter API/Website to Public APIs
2026-03-08 2
#5357 添加 FileShot.io — zero-knowledge encrypted 文件 sharing API
Add FileShot.io — zero-knowledge encrypted file sharing API
2026-03-03 2
#5352 问题: 会 a hosted diagnostic resource like WFGY fit this 列表 if exposed as an API?
Question: would a hosted diagnostic resource like WFGY fit this list if exposed as an API?
2026-03-03 1