Claude Platform Docs
管理监控

Claude Code Analytics API

使用 Claude Code Analytics Admin API 以编程方式访问您组织的 Claude Code 使用情况分析和生产力指标。

Claude Code Analytics Admin API 提供对 Claude Code 用户每日聚合使用指标的编程访问,使组织能够分析开发者生产力并构建自定义仪表板。此 API 比基础的分析仪表板提供更多细节,同时又没有 OpenTelemetry 集成的复杂性。

此 API 使您能够更好地监控、分析和优化您的 Claude Code 采用情况:

  • 开发者生产力分析: 跟踪使用 Claude Code 的会话数、添加/删除的代码行数、提交数以及创建的拉取请求数
  • 工具使用指标: 监控不同 Claude Code 工具(Edit、MultiEdit、Write、NotebookEdit)的接受率和拒绝率
  • 成本分析: 查看按 Claude 模型细分的估算成本和令牌使用量
  • 自定义报告: 导出数据,为管理团队构建高管仪表板和报告
  • 使用合理性论证: 提供指标以在内部论证并扩大 Claude Code 的采用

快速开始

获取您组织在特定日期的 Claude Code 分析数据:

cURL
curl "https://api.anthropic.com/v1/organizations/usage_report/claude_code?\
starting_at=2025-09-08&\
limit=20" \
  -H "anthropic-version: 2023-06-01" \
  -H "x-api-key: $ANTHROPIC_ADMIN_KEY"

Claude Code Analytics API

使用 /v1/organizations/usage_report/claude_code 端点跟踪整个组织的 Claude Code 使用情况、生产力指标和开发者活动。

关键概念

  • 每日聚合: 返回由 starting_at 参数指定的单日指标
  • 用户级数据: 每条记录代表一位用户在指定日期的活动
  • 生产力指标: 跟踪会话数、代码行数、提交数、拉取请求数和工具使用情况
  • 令牌和成本数据: 监控按 Claude 模型细分的使用量和估算成本
  • 基于游标的分页: 使用不透明游标以稳定的分页方式处理大型数据集
  • 数据新鲜度: 为保证一致性,指标最多有 1 小时的延迟

有关完整的参数详情和响应模式,请参阅 Claude Code Analytics API 参考

基本示例

获取特定日期的分析数据

cURL
curl "https://api.anthropic.com/v1/organizations/usage_report/claude_code?\
starting_at=2025-09-08" \
  -H "anthropic-version: 2023-06-01" \
  -H "x-api-key: $ANTHROPIC_ADMIN_KEY"

使用分页获取分析数据

cURL
# 第一个请求
curl "https://api.anthropic.com/v1/organizations/usage_report/claude_code?\
starting_at=2025-09-08&\
limit=20" \
  -H "anthropic-version: 2023-06-01" \
  -H "x-api-key: $ANTHROPIC_ADMIN_KEY"

# 使用响应中的游标发起后续请求
curl "https://api.anthropic.com/v1/organizations/usage_report/claude_code?\
starting_at=2025-09-08&\
page=page_MjAyNS0wNS0xNFQwMDowMDowMFo=" \
  -H "anthropic-version: 2023-06-01" \
  -H "x-api-key: $ANTHROPIC_ADMIN_KEY"

请求参数

参数类型必填描述
starting_atstringYYYY-MM-DD 格式的 UTC 日期;仅返回该单日的指标
limitinteger每页记录数(默认:20,最大:1000)
pagestring来自上一次响应 next_page 字段的不透明游标令牌

可用指标

每条响应记录包含单个用户在单日的以下指标:

维度

  • date: RFC 3339 格式的日期(UTC 时间戳)
  • actor: 执行 Claude Code 操作的用户或 API 密钥(带有 email_addressuser_actor,或带有 api_key_nameapi_actor
  • organization_id: 组织 UUID
  • customer_type: 客户账户类型(api 表示 API 客户,subscription 表示 Pro/Team 客户)
  • terminal_type: 使用 Claude Code 的终端或环境类型(例如 vscodeiTerm.apptmux

核心指标

  • num_sessions: 此 actor 发起的不同 Claude Code 会话数
  • lines_of_code.added: Claude Code 在所有文件中添加的代码总行数
  • lines_of_code.removed: Claude Code 在所有文件中删除的代码总行数
  • commits_by_claude_code: 通过 Claude Code 的提交功能创建的 git 提交数
  • pull_requests_by_claude_code: 通过 Claude Code 的 PR 功能创建的拉取请求数

工具操作指标

按工具类型细分的工具操作接受率和拒绝率:

  • edit_tool.accepted/rejected: 用户接受/拒绝的 Edit 工具提议数
  • multi_edit_tool.accepted/rejected: 用户接受/拒绝的 MultiEdit 工具提议数
  • write_tool.accepted/rejected: 用户接受/拒绝的 Write 工具提议数
  • notebook_edit_tool.accepted/rejected: 用户接受/拒绝的 NotebookEdit 工具提议数

模型细分

对于所使用的每个 Claude 模型:

  • model: Claude 模型标识符(例如 claude-opus-5
  • tokens.input/output: 此模型的输入和输出令牌数
  • tokens.cache_read/cache_creation: 此模型与缓存相关的令牌使用量
  • estimated_cost.amount: 此模型的估算成本(以美分计)
  • estimated_cost.currency: 成本金额的货币代码(目前始终为 USD

响应结构

API 以以下格式返回数据:

{
  "data": [
    {
      "date": "2025-09-08T00:00:00Z",
      "actor": {
        "type": "user_actor",
        "email_address": "developer@company.com"
      },
      "organization_id": "dc9f6c26-b22c-4831-8d01-0446bada88f1",
      "customer_type": "api",
      "terminal_type": "vscode",
      "core_metrics": {
        "num_sessions": 5,
        "lines_of_code": {
          "added": 1543,
          "removed": 892
        },
        "commits_by_claude_code": 12,
        "pull_requests_by_claude_code": 2
      },
      "tool_actions": {
        "edit_tool": {
          "accepted": 45,
          "rejected": 5
        },
        "multi_edit_tool": {
          "accepted": 12,
          "rejected": 2
        },
        "write_tool": {
          "accepted": 8,
          "rejected": 1
        },
        "notebook_edit_tool": {
          "accepted": 3,
          "rejected": 0
        }
      },
      "model_breakdown": [
        {
          "model": "claude-opus-5",
          "tokens": {
            "input": 100000,
            "output": 35000,
            "cache_read": 10000,
            "cache_creation": 5000
          },
          "estimated_cost": {
            "currency": "USD",
            "amount": 141
          }
        }
      ]
    }
  ],
  "has_more": false,
  "next_page": null
}

分页

对于拥有大量用户的组织,API 支持基于游标的分页:

  1. 使用可选的 limit 参数发出初始请求。
  2. 如果响应中的 has_moretrue,请在下一次请求中使用 next_page 值。
  3. 持续进行,直到 has_morefalse

游标对最后一条记录的位置进行编码,即使有新数据到达也能确保稳定的分页。每个分页会话都维护一致的数据边界,以确保您不会遗漏或重复记录。

常见用例

  • 高管仪表板: 创建高层级报告,展示 Claude Code 对开发速度的影响
  • AI 工具比较: 导出指标,将 Claude Code 与 Copilot 和 Cursor 等其他 AI 编码工具进行比较
  • 开发者生产力分析: 跟踪个人和团队随时间变化的生产力指标
  • 成本跟踪和分摊: 监控支出模式并按团队或项目分摊成本
  • 采用情况监控: 识别哪些团队和用户从 Claude Code 中获得了最大价值
  • ROI 论证: 提供具体指标以在内部论证并扩大 Claude Code 的采用

常见问题

分析数据的新鲜度如何?

Claude Code 分析数据通常在用户活动完成后 1 小时内出现。为确保分页结果一致,响应中仅包含超过 1 小时的数据。

我可以获取实时指标吗?

不可以,此 API 仅提供每日聚合指标。如需实时监控,请考虑使用 OpenTelemetry 集成

数据中如何识别用户?

用户通过 actor 字段以两种方式识别:

  • user_actor 包含通过 OAuth 进行身份验证的用户的 email_address(最常见)
  • api_actor 包含使用 API 密钥进行身份验证的用户的 api_key_name

customer_type 字段指示使用量来自 api 客户(按量付费 API)还是 subscription 客户(Pro/Team 套餐)。

数据保留期是多久?

历史 Claude Code 分析数据会被保留并可通过 API 访问。此数据没有指定的删除期限。

支持哪些 Claude Code 部署?

此 API 仅跟踪 Claude API 上的 Claude Code 使用情况。通过 Claude in Amazon BedrockClaude in Microsoft FoundryClaude on Google CloudClaude Platform on AWS 的使用不包括在内。

使用此 API 的费用是多少?

Claude Code Analytics API 对所有有权访问 Admin API 的组织免费使用。

如何计算工具接受率?

对于每种工具类型,工具接受率 = accepted / (accepted + rejected)。例如,如果 edit 工具显示 45 次接受和 5 次拒绝,则接受率为 90%。

日期参数使用什么时区?

所有日期均为 UTC。starting_at 参数应为 YYYY-MM-DD 格式,表示该日的 UTC 午夜。

另请参阅

Claude Code Analytics API 帮助您了解和优化团队的开发工作流程。了解更多相关功能:

Was this page helpful?