公共 API 目录 apis-catalog:列出 458 个免密钥公共 API(含 slug/端点/描述)。适合发现可用 API、给项目选第三方服务。完全免费。支持统一处理流程。
---
name: apis-catalog
description: 公共 API 目录 apis-catalog:列出 458 个免密钥公共 API(含 slug/端点/描述)。适合发现可用 API、给项目选第三方服务。完全免费。
---
本 skill 的真实能力依赖平台后端工具。在网页 / chat 端点下,这些工具可能不可用:
此时**请勿轻信**,请改用 **agent / CLI 路径**运行本 skill 以获取真实结果。任何路径下都**严禁谎称「已调用 / 已搜索完成」而实际未执行**。
调 AIMS 平台 apis 工具,列出所有可用的免密钥公共 API。完全免费,适合 API 选型时快速浏览。
**场景 1:项目选第三方 API** —— 给项目选天气/汇率/翻译/天气等 API,apis-catalog 一次看 458 个候选。
**场景 2:API 调研** —— 看 mvp 平台接入了哪些公共 API,给某个垂直领域找数据源。
**场景 3:API 发现** —— 浏览"有什么公开 API 可用",按分类筛选(动物/艺术/日历/金融/图片/文学/天气 等)。
| 角色 | 典型用途 |
|------|----------|
| 后端开发 | 项目选第三方 API |
| 数据分析师 | 找免费数据源 |
| 产品经理 | 评估 API 可行性 |
| 学生 / 教学 | 学习 API 设计 |
python scripts/apis_catalog.py
返回示例:
{
"ok": true,
"total": 458,
"first_10": [
{"slug": "axolotl", "name": "Axolotl", "category": "Animals"},
{"slug": "openweather", "name": "OpenWeather", "category": "Weather"}
]
}
用户说"列出所有公共 API"、"有什么免密钥 API"、"API 目录"、"免费 API 列表"、"API 选型"时触发。
<!-- ===== 以下为内嵌脚本代码(agent 安装时按需落盘为 scripts/<name> 并 chmod +x) ===== -->
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""apis 公共 API 目录(catalog)—— 458 个免密钥公共 API。
用法:
python scripts/apis_catalog.py [--api-key aims_sk_xxx]
返回所有可用的公共 API 列表(含 slug / 端点 / 描述)。
"""
import argparse
import json
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parent.parent.parent / "_lib"))
from aims_functional_api import apis_catalog
def main():
ap = argparse.ArgumentParser(description="apis 公共 API 目录(catalog)")
ap.add_argument("--api-key", default=None)
args = ap.parse_args()
try:
result = apis_catalog(api_key=args.api_key)
apis = result.get("apis", result if isinstance(result, list) else [])
summary = {
"ok": True,
"total": len(apis) if isinstance(apis, list) else result.get("total", "?"),
"first_10": apis[:10] if isinstance(apis, list) else None,
"_raw": result,
}
print(json.dumps(summary, ensure_ascii=False, indent=2))
except Exception as e:
print(json.dumps({"ok": False, "error": str(e)}, ensure_ascii=False))
sys.exit(1)
if __name__ == "__main__":
main()