公共 API 搜索(public-apis 离线检索)
社区维护的公共 API 大清单,覆盖 51 个分类、2000+ 条 API,涵盖天气、金融、加密货币、区块链、天气、地图、图片、音乐、视频、翻译、词典、招聘、体育等几乎所有开发场景。本 skill 把它做成一个可离线查询的本地数据库。
- 上游仓库:https://github.com/public-apis/public-apis(约 492K 星)
- 数据源:skill 内
references/apis.md(2190 条 API 表格行,51 分类) - 依赖:Python 3 标准库,零第三方库、零联网
何时使用
- 用户说"帮我找一个 XX API / 有没有免费 XX API / 有没有 CORS 支持的 XX API / 不登录就能调的 XX 数据源"
- 做原型、demo、教学时找不到合适的免费接口
- 需要一个能列出某领域所有可选 API 的清单(对比选型)
- 需要判断某个 API 是否免费 / 是否需要认证 / 是否支持 CORS / 是否 HTTPS
用法
所有命令都在本 skill 目录执行:
cd <skill-dir>
python scripts/search_api.py [query] [过滤条件]
常见用法
# 关键词搜索(匹配名称、描述、分类),默认最多 20 条
python scripts/search_api.py weather
# 看某个领域全部 API
python scripts/search_api.py --category Finance
# 只要免费的(No Auth),并显示 30 条
python scripts/search_api.py finance --auth No --limit 30
# 只要 CORS 支持 Yes(浏览器端可用)
python scripts/search_api.py --cors Yes --limit 30
# 组合过滤:找免费的、支持 CORS 的加密货币 API
python scripts/search_api.py crypto --auth No --cors Yes
# 输出 JSON(方便 agent 后续处理)
python scripts/search_api.py bitcoin --format json --limit 5
# 列出全部 51 个分类和条目数
python scripts/search_api.py --list-categories
# 从 GitHub 拉取最新数据(可选,本地数据可能滞后)
python scripts/search_api.py --refresh --list-categories
参数一览
| 参数 | 说明 |
|---|---|
query |
关键词,模糊匹配名称/描述/分类 |
--category |
分类精确名,如 Weather / Finance / Cryptocurrency |
--https Yes\|No |
只保留 HTTPS 列等于该值的 |
--auth |
只保留 Auth 列等于该值的(常见:No、`apiKey`、OAuth、HMAC、Basic、JWT、Yes、SSL) |
--cors Yes\|No |
只保留 CORS 列等于该值的 |
--limit N |
最多输出 N 条(默认 20) |
--format text\|json |
输出格式(默认 text) |
--data <path> |
自定义数据文件路径 |
--list-categories |
只列出所有分类和条目数 |
--refresh |
从 GitHub 拉取最新数据覆盖本地后继续 |
输出示例
命中 17 条(显示前 3 条)
[Blockchain] Chainpoint
https://tierion.com/chainpoint/
Chainpoint is a global network for anchoring data to the Bitcoin blockchain
(HTTPS, auth=Yes, cors=Unknown)
数据模型
每条 API 是这样一个 dict:
| 字段 | 含义 |
|---|---|
category |
所属分类(如 Weather、Finance) |
name |
API 名称 |
url |
官网 / 文档链接 |
description |
一句话描述 |
https |
HTTPS 列原始值(Yes / No / 空 / 脏数据) |
auth |
认证方式(No / `apiKey` / OAuth / HMAC / ...) |
cors |
CORS 支持(Yes / No / Unknown / 空) |
注意事项
- 数据是社区维护的,个别行的 HTTPS / Auth / CORS 列可能填错或列错位(例如把
`apiKey`写到了 HTTPS 列)。遇到"命中 0 条"或结果反常时,先看--list-categories,或去掉某个过滤条件重试;--refresh可以拿到最新版本。 - 本 skill 不做联网抓取,只在本地数据上搜索。想要真正调 API 时,agent 拿到的
url是官网/文档地址,需要自行访问。 --refresh拉取 GitHub raw README 后,只保留## Index到## License之间的正文(去掉开头 APILayer 广告和 MCP Servers 段),会覆盖本地references/apis.md。
目录结构
public-apis/
├── SKILL.md # 本文件
├── references/
│ └── apis.md # 数据源(从上游 README 抽取)
└── scripts/
└── search_api.py # 搜索脚本(纯 Python 标准库)