公共 API 目录

Model: qwen-plus | ¥0.02/call
API 目录公共 API免密钥 APIapisAPI 调研

公共 API 目录 apis-catalog:列出 458 个免密钥公共 API(含 slug/端点/描述)。适合发现可用 API、给项目选第三方服务。完全免费。支持统一处理流程。

Skill Documentation

---

name: apis-catalog

description: 公共 API 目录 apis-catalog:列出 458 个免密钥公共 API(含 slug/端点/描述)。适合发现可用 API、给项目选第三方服务。完全免费。

---

⚠️ chat 模式使用须知(重要)

本 skill 的真实能力依赖平台后端工具。在网页 / chat 端点下,这些工具可能不可用:

此时**请勿轻信**,请改用 **agent / CLI 路径**运行本 skill 以获取真实结果。任何路径下都**严禁谎称「已调用 / 已搜索完成」而实际未执行**。

公共 API 目录(apis-catalog)

调 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"}
  ]
}

为什么选 apis-catalog

触发条件

用户说"列出所有公共 API"、"有什么免密钥 API"、"API 目录"、"免费 API 列表"、"API 选型"时触发。

<!-- ===== 以下为内嵌脚本代码(agent 安装时按需落盘为 scripts/<name> 并 chmod +x) ===== -->

文件:scripts/apis_catalog.py

#!/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()