开发者数据接口
免费、无需密钥的 JSON API、一个 MCP 服务器、一个 Atom feed 和一个 iCalendar feed——不只为网页而生,更是为 agent 和机器人准备的。
接口列表
GET https://claudereset.org/api/v1/forecast.json— 当前的 p24/p48、置信度和全部输入值。GET https://claudereset.org/api/v1/timeline.json— 全部已记录事件。GET https://claudereset.org/api/v1/signals.json— 最新的状态 + issues 快照。GET https://claudereset.org/api/v1/banked.json— 当前有效的 Banked Reset。POST https://claudereset.org/mcp— MCP 服务器(JSON-RPC 2.0,Streamable HTTP)。https://claudereset.org/feed.xml— Atom feed。https://claudereset.org/calendar.ics— iCalendar feed(历史重置 + Banked Reset 到期提醒)。
欢迎注明来源:"Data: claudereset.org"。免费使用,边缘节点缓存 5 分钟,支持 CORS。
/api/v1/forecast.json —— 示例
{
"schema_version": 1,
"generated_at": "2026-09-23T10:09:51Z",
"source": "https://claudereset.org",
"available": true,
"reset_today": false,
"p24": 13,
"p48": 22,
"confidence": "low",
"confidence_reasons": [
"the selected rhythm model (memoryless) doesn't yet beat the climatology baseline in backtesting"
],
"inputs": {
"avg_gap_hours": 337.0,
"hours_since_last": 446.0,
"B": 0.0712,
"C": null,
"cad24": 0.0687,
"official_signal": 0.0,
"status_signal": 0.2683,
"issues_signal": 0.0528,
"S": 0.0671,
"global": true,
"rhythm_model": "memoryless"
},
"formula_version": "1",
"disclaimer": "Independent project, not affiliated with Anthropic. Anthropic has never published or promised a reset schedule \u2014 every reset recorded here was announced ad hoc. Percentages are estimates from past announcements, not a schedule.",
"freshness": {
"events_checked_at": "2026-09-23T10:03:55Z",
"signals_fetched_at": "2026-09-23T10:00:44Z",
"built_at": "2026-09-23T10:09:51Z"
}
}
/api/v1/timeline.json —— 示例(1 个事件)
{
"schema_version": 1,
"source": "https://claudereset.org",
"events": [
{
"id": "2102438800836489554",
"date": "2026-09-22",
"ts": "2026-09-22T16:44:06Z",
"scope": "Pro+Max+Team",
"kind": "banked",
"source": "ClaudeDevs",
"url": "https://x.com/ClaudeDevs/status/2102438800836489554",
"summary": "Opus 5.5 performs at the level of Fable 5.1, ~30% faster and ~40% cheaper than Opus 5 per task. In Claude Code: 5-hour session limits increase 20% today; Pro, Max, and Team users get a reset to use anytime (available in Settings \u2192 Usage, apply any time until Oct 22).",
"partial": false,
"global": false,
"origin": "official_post"
}
]
}
示例:curl
curl -s https://claudereset.org/api/v1/forecast.json | jq .p24
示例:JavaScript fetch
const r = await fetch("https://claudereset.org/api/v1/forecast.json").then(r => r.json());
console.log(`Next 24h: ${r.p24}% (confidence: ${r.confidence})`);
MCP 服务器
一个只读的Model Context Protocol服务器,地址为 https://claudereset.org/mcp:基于 HTTP POST 的无状态 JSON-RPC 2.0,无需 API 密钥,不提供任何写操作。
claude mcp add --transport http claudereset https://claudereset.org/mcp
工具列表
| 工具 | 参数 | 返回内容 |
|---|---|---|
get_reset_forecast | none | 当前 /api/v1/forecast.json 的数据。 |
list_claude_resets | limit(可选,默认 20),since(可选,ISO 日期) | 已记录事件,按时间倒序。 |
get_status_signals | none | 当前 /api/v1/signals.json 的数据。 |
更新频率与版本说明
本站按固定计划(而非持续实时)检查状态与 issue 信号——/api/v1/signals.json 中的 fetched_at 会告诉你确切的检查时间。破坏性的结构变更会以新的 /api/v2/ 路径发布;/api/v1/ 本身永远不会被原地修改。
Claude Code 状态栏脚本
在 Claude Code 状态栏中显示 5h: X% · 7d: Y% · reset odds 24h: Z%——读取 Claude Code 自身的 rate_limits.five_hour.used_percentage/rate_limits.seven_day.used_percentage,第三个数字来自本站的预测 API(本地缓存 10 分钟,路径 ~/.cache/claudereset-forecast.json,超时 2 秒)。也可在/usage-check/使用,带你自己粘贴用量 JSON 的解析器。
#!/bin/bash
# claudereset.org example Claude Code status line script.
# Install: save this as ~/.claude/statusline.sh (chmod +x), then set it as your status line
# command per https://code.claude.com/docs/en/statusline — Claude Code pipes the status line's
# JSON into this script's stdin on every prompt render.
#
# Shows your own Claude Code usage (5-hour and 7-day windows, straight from the status line's own
# `rate_limits` object) plus this site's live 24h global-reset-odds forecast. The forecast fetch
# is cached locally for 10 minutes (by file mtime) and capped at a 2-second timeout, so a slow or
# unreachable network never blocks your prompt — it just falls back to showing only the usage
# figures.
set -u
input=$(cat)
# rate_limits is only present for Pro/Max subscribers (or a spend-limited gateway), and only
# after the session's first API response — `// empty` makes jq print nothing rather than "null"
# when it's absent, per code.claude.com/docs/en/statusline's own example.
FIVE_H=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
WEEK=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
LINE=""
[ -n "$FIVE_H" ] && LINE="5h: $(printf '%.0f' "$FIVE_H")%"
[ -n "$WEEK" ] && LINE="${LINE}${LINE:+ · }7d: $(printf '%.0f' "$WEEK")%"
CACHE="$HOME/.cache/claudereset-forecast.json"
mkdir -p "$(dirname "$CACHE")" 2>/dev/null
# 10-minute local cache, judged by the cache file's own mtime (works with either BSD or GNU stat).
CACHE_AGE=999999
if [ -f "$CACHE" ]; then
MTIME=$(stat -f %m "$CACHE" 2>/dev/null || stat -c %Y "$CACHE" 2>/dev/null || echo "")
if [ -n "$MTIME" ]; then
CACHE_AGE=$(( $(date +%s) - MTIME ))
fi
fi
if [ "$CACHE_AGE" -ge 600 ]; then
if curl -s -m 2 https://claudereset.org/api/v1/forecast.json -o "$CACHE.tmp" 2>/dev/null; then
mv "$CACHE.tmp" "$CACHE" 2>/dev/null
else
rm -f "$CACHE.tmp" 2>/dev/null
fi
fi
P24=$(jq -r '.p24 // empty' "$CACHE" 2>/dev/null)
if [ -n "$P24" ]; then
LINE="${LINE}${LINE:+ · }reset odds 24h: ${P24}%"
fi
echo "$LINE"