Codex / Claude 额度重置数据 API

免费、无需密钥、支持 CORS 的 JSON 接口,外加 Atom 订阅和 ICS 日历订阅——统计我们自己追踪到的每一次官方重置公告,给机器人、状态页、菜单栏小工具和 AI Agent 用。

接口一览

接口用途更新频率缓存
/api/resets.json上游数据原样转发(向后兼容,字段最少)官方发布新公告时5 分钟
/api/v1/resets.json本站增强版:统计、预估、概率、每条事件详情页链接等结构化字段官方发布新公告时5 分钟
/api/v1/latest.json每个产品只含最新一条事件 + 统计 + 预告 + 参考日(next_estimate),体积小,给轮询用官方发布新公告时5 分钟
/api/forecast(?product=claude 同理)实验性接口:24/48 小时重置概率(实时计算),附经过真实历史回测验证的 Brier 分数——不是预测,方法论见回测页实时计算5 分钟
https://whenreset.app/feed.xml / /codex/feed.xml / /claude/feed.xmlAtom 订阅(合并 / 各产品)官方发布新公告时—
/reset.ics / /codex/reset.ics / /claude/reset.icsICS 日历订阅(Apple / Google 日历可直接订阅)官方发布新公告时—

字段含义

示例

curl

curl https://whenreset.app/api/v1/latest.json

Python

import requests
r = requests.get("https://whenreset.app/api/v1/latest.json").json()
codex = r["products"]["codex"]
print(codex["latest_event"]["date"], codex["stats"]["median_gap"])

注意:用 Python 标准库 urllib 时请自己带一个 User-Agent 请求头(例如 {"User-Agent": "my-app/1.0"})——它的默认 UA Python-urllib/… 会被 Cloudflare 拦成 403。requests、curl、浏览器和 Node 的 fetch 不受影响。

JavaScript

const r = await fetch("https://whenreset.app/api/v1/resets.json").then(r => r.json());
const codex = r.products.codex;
console.log(codex.events[0].date, codex.stats.median_gap);

给 AI Agent 用

如果你在给 Agent 接一个「查额度重置」的工具,直接把 /api/v1/latest.json 当作那个工具的返回值即可:每个产品只有一条最新事件、一份统计、一个预告状态,字段是扁平结构,不用先解析上游嵌套的 resets.json。轮询间隔建议不小于 5 分钟,跟 Cache-Control 一致。

不想自己接?两种方式都能用同样的五个工具(最新重置、历史列表、统计、预告、搜索):

数据口径

本站只收录官方账号——OpenAI Codex 负责人 Tibo(@thsottiaux)、Anthropic @ClaudeDevs 及 Claude Code 团队——公开发布的重置公告原文,不手动填写,也不做预测。next_estimate、odds 都只是对历史间隔的统计推算,两家官方都从未承诺过重置节奏。

数据来源说明:早期历史记录(2026-09-10 以前的档案)导入自 codex-resets.com 与 claude-resets.com 的公开档案,感谢两站开放数据;之后的记录由本站监控官方账号实时收录。转载或展示本站数据时,也请保留这两处来源链接。

变更政策

/api/v1/ 下的字段只增不删:已有字段的名字和含义不会变化。如果将来需要做不兼容的结构调整,会发布新的版本路径(例如 /api/v2/),旧路径继续保留一段时间。

v1 数据样例

/api/v1/resets.json(节选)

{
  "schema": "whenreset/v1",
  "generated_at": "2026-10-26T05:42:00Z",
  "source": "https://whenreset.app/api/",
  "products": {
    "codex": {
      "name": "Codex",
      "vendor": "OpenAI",
      "sources": [
        "thsottiaux",
        "OpenAIDevs"
      ],
      "stats": {
        "total": 56,
        "last_date": "2026-10-26",
        "last30d": 8,
        "median_gap": 3,
        "max_gap": 68,
        "last_regular_date": "2026-10-26",
        "last_banked_date": "2026-10-07",
        "banked_count": 8
      },
      "next_estimate": "2026-10-29",
      "scheduled": null,
      "odds": {
        "result": {
          "1": 0.1273,
          "2": 0.2909,
          "7": 0.7273,
          "n": 55
        },
        "reason": null,
        "model": "climatology"
      },
      "events": [
        {
          "id": "2114588174249071102",
          "date": "2026-10-26",
          "ts": "2026-10-26T05:21:22Z",
          "type": "reset",
          "kind": "regular",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2114588174249071102",
          "summary": "Day 21/ Wonder what happens the remaining seven days. But today is a reset.",
          "summary_zh": "官方宣布今天进行额度重置,这已经是连续第 21 天",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-10-26/"
        },
        {
          "id": "2113492187770175603",
          "date": "2026-10-23",
          "ts": "2026-10-23T04:46:19Z",
          "type": "reset",
          "kind": "regular",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2113492187770175603",
          "summary": "Day 18/ Decisions API is GA, OpenResponses joined the Linux Foundation, we shipped some performance improvements and Uber is going all-in on codex & work. But yes… that’s a reset!",
          "summary_zh": "Codex 第 18 天为所有用户重置使用额度,同期 Decisions API 正式 GA",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-10-23/"
        },
        {
          "id": "2111492673890824348",
          "date": "2026-10-17",
          "ts": "2026-10-17T16:20:57Z",
          "type": "reset",
          "kind": "regular",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2111492673890824348",
          "summary": "Day 13/ Le limit reset https://t.co/zXd2DIH5xf",
          "summary_zh": "官方宣布第 13 天额度重置,用户使用限额已重置",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-10-17/"
        },
        {
          "id": "2109812216212099456",
          "date": "2026-10-13",
          "ts": "2026-10-13T01:03:25Z",
          "type": "reset",
          "kind": "regular",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2109812216212099456",
          "summary": "Day 8/ Reset — Global reset landing by EOD PST time. Enjoy",
          "summary_zh": "活动第 8 天:全局重置,太平洋时间当天内到账。",
          "delivered_at": "2026-10-13T05:06:06Z",
          "delivered_source": "thsottiaux",
          "delivered_source_url": "https://x.com/thsottiaux/status/2109873287853707513",
          "delivery_note": "What would you like with your side of reset? It's done.",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-10-13/"
        },
        {
          "id": "2109045220411351517",
          "date": "2026-10-10",
          "ts": "2026-10-10T22:15:39Z",
          "type": "reset",
          "kind": "regular",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2109045220411351517",
          "summary": "Day 6/ Reset — Global reset by EOD. May the tokens do good things for you.",
          "summary_zh": "活动第 6 天:全局重置,当天内对全部用户到账。",
          "delivered_at": "2026-10-11T04:01:09Z",
          "delivered_source": "thsottiaux",
          "delivered_source_url": "https://x.com/thsottiaux/status/2109132167112782291",
          "delivery_note": "Put the reset in the bag. All propagated.",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-10-10/"
        },
        {
          "id": "2107913674593644711",
          "date": "2026-10-07",
          "ts": "2026-10-07T19:19:17Z",
          "type": "reset",
          "kind": "banked",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2107913674593644711",
          "summary": "Day 3/ The big one is GPT-6 in Chat, but today is also a little celebration day with a new high of 40M active users across Codex and ChatGPT Work. Loading a banked reset in everyone's paid accounts. See you again tomorrow!",
          "summary_zh": "活动第 3 天:庆祝 Codex 与 ChatGPT Work 活跃用户达 4000 万,向全部付费账户发放一次储备重置。",
          "delivered_at": "2026-10-08T03:44:55Z",
          "delivered_source": "thsottiaux",
          "delivered_source_url": "https://x.com/thsottiaux/status/2108040921044639779",
          "delivery_note": "官方 10-08 03:44Z 确认帖「Confirmed landed across all accounts.」",
          "kind_label": "重置次数",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-10-07/"
        },
        {
          "id": "2107676072871600470",
          "date": "2026-10-07",
          "ts": "2026-10-07T03:35:09Z",
          "type": "reset",
          "kind": "regular",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2107676072871600470",
          "summary": "We shipped four things that were deemed good to great and some math proofs, but the vote is clear and the community demands a reset. I did calibrate it and it *seems* that the game is rigged in reset's favor, but such are the rules at the moment. Therefore ... the reset has been ",
          "summary_zh": "社区投票结果明确要求重置,官方按现行规则宣布已执行额度重置。",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-10-07/"
        },
        {
          "id": "2105843926221660585",
          "date": "2026-10-02",
          "ts": "2026-10-02T02:14:51Z",
          "type": "reset",
          "kind": "regular",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2105843926221660585",
          "summary": "Global reset landing tomorrow 10am PST for all paid ChatGPT accounts. Apologies for the slow start with GPT-6.1 Sol, it's now back to running at expected speeds after the massive load spike in the first two days.",
          "summary_zh": "全局重置:对全部付费 ChatGPT 账户生效;并为 GPT-6.1 Sol 起步缓慢致歉、称已恢复预期速度。",
          "delivery_note": "官方 10-02 21:18Z 确认帖「Reset all propagated. Enjoy.」",
          "delivered_at": "2026-10-02T21:18:48Z",
          "delivered_source": "thsottiaux",
          "delivered_source_url": "https://x.com/thsottiaux/status/2106131810921136451",
          "kind_label": "额度重置",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-10-02/"
        },
        {
          "id": "2103637477760311522",
          "date": "2026-09-26",
          "ts": "2026-09-26T00:07:13Z",
          "type": "reset",
          "kind": "regular",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2103637477760311522",
          "summary": "o yes… we’re back in action and we’ll reset usage limits for all paid users across codex and ChatGPT work sorry about the brief disruption! (and yes we have a special spare codex when things are down to help us out)",
          "delivery_note": "宣布后按套餐分批到账,约 18 小时后官方确认全部到账",
          "delivered_at": "2026-09-26T18:17:54Z",
          "delivered_source": "https://x.com/thsottiaux/status/2103911959544610829(Tibo「Resets all propagated」,X syndication 核实作者 @thsottiaux)",
          "delivered_source_url": "https://x.com/thsottiaux/status/2103911959544610829",
          "delivery_note_en": "Announced at 00:07 UTC; @thsottiaux confirmed \"Resets all propagated\" at 18:17 UTC. Rolled out in batches by plan.",
          "summary_zh": "服务短暂中断恢复后,Codex 与 ChatGPT Work 全部付费用户额度重置",
          "kind_label": "额度重置",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-09-26/"
        },
        {
          "id": "2102463847714247142",
          "date": "2026-09-22",
          "ts": "2026-09-22T18:23:37Z",
          "type": "reset",
          "scope": "Plus+Pro+Business",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2102463847714247142",
          "summary": "GPT-6 Sol and Luna are out — a significant improvement across the board, including writing quality. We are also permanently reducing the API price by 50%. And one more thing: we are loading a banked reset into all accounts of our Plus, Pro and Business users. Let's go!",
          "kind": "banked",
          "summary_zh": "GPT-6 Sol 与 Luna 发布,API 价格永久下调 50%;同时给 Plus/Pro/Business 用户账户里存入一次储备重置。",
          "kind_label": "重置次数",
          "scope_label": "Plus/Pro/Business 用户",
          "page": "https://whenreset.app/codex/2026-09-22/"
        },
        {
          "id": "2098612714704891959",
          "date": "2026-09-12",
          "ts": "2026-09-12T03:20:36Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2098612714704891959",
          "summary": "Hi Astra users. A reset and a quick update on quality issues that have been posted around. Working with some of you, we have found and fixed the following issues: - Some skills written for previous mo",
          "summary_zh": "全员重置,并通报 Astra 近期质量问题的修复:旧技能误触发、上下文管理实验(约 4-5 千用户受影响,已关闭)、配置不当的引擎均已处理",
          "kind": "regular",
          "delivered_at": "2026-09-12T08:09:00Z",
          "delivered_source": "codex-resets 公开数据",
          "delivered_source_url": "https://codex-resets.com",
          "delivery_note_en": "Announced at 03:20 UTC; delivery observed at 08:09 UTC (codex-resets.com public data).",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-09-12/"
        },
        {
          "id": "2097752790177370535",
          "date": "2026-09-09",
          "ts": "2026-09-09T18:23:34Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2097752790177370535",
          "summary": "Banked reset compensation for users affected by incomplete reset application in ChatGPT Work and Codex",
          "summary_zh": "为 ChatGPT Work 和 Codex 中重置未完全生效的受影响用户补发储备重置",
          "kind": "banked",
          "kind_label": "重置次数",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-09-09/"
        },
        {
          "id": "2097174560412246215",
          "date": "2026-09-08",
          "ts": "2026-09-08T04:05:53Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2097174560412246215",
          "summary": "Full reset for all users to enjoy the week with Astra",
          "summary_zh": "全量重置:让所有用户跟 Astra 一起享受这一周",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-09-08/"
        },
        {
          "id": "2097043464538264003",
          "date": "2026-09-07",
          "ts": "2026-09-07T19:24:57Z",
          "type": "reset",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2097043464538264003",
          "summary": "Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you Thanks for reading. We will ",
          "summary_zh": "官方发了一段 Rickroll 歌词玩梗,随后为付费用户重置额度",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-09-07/"
        },
        {
          "id": "2096035437299237298",
          "date": "2026-09-05",
          "ts": "2026-09-05T00:39:25Z",
          "type": "reset",
          "scope": "Plus+Pro+Business",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2096035437299237298",
          "summary": "Full banked reset for Plus, Pro and Business users celebrating early Astra rollout",
          "summary_zh": "庆祝 Astra 提前上线:Plus/Pro/Business 用户获全额储备重置",
          "kind": "banked",
          "kind_label": "重置次数",
          "scope_label": "Plus/Pro/Business 用户",
          "page": "https://whenreset.app/codex/2026-09-05/"
        },
        {
          "id": "2095651088502591861",
          "date": "2026-09-03",
          "ts": "2026-09-03T23:12:09Z",
          "type": "reset",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2095651088502591861",
          "summary": "One banked reset daily for users without Astra access on paid plans",
          "summary_zh": "付费计划中暂无 Astra 权限的用户每天获一次储备重置",
          "kind": "banked",
          "kind_label": "重置次数",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-09-03/"
        },
        {
          "id": "2094251180121854309",
          "date": "2026-08-31",
          "ts": "2026-08-31T02:29:25Z",
          "type": "reset",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2094251180121854309",
          "summary": "Usage reset for all paid subscriptions celebrating 25M active users milestone",
          "summary_zh": "庆祝活跃用户突破 2500 万:全部付费订阅额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-08-31/"
        },
        {
          "id": "2093801758665715784",
          "date": "2026-08-29",
          "ts": "2026-08-29T20:43:34Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2093801758665715784",
          "summary": "Usage reset with detailed fix report: compaction, memory, goals, automations, subagents, MCP issues resolved",
          "summary_zh": "额度重置并附详细修复报告:压缩、记忆、目标、自动化、子代理、MCP 问题均已解决",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-29/"
        },
        {
          "id": "2093014447833116908",
          "date": "2026-08-27",
          "ts": "2026-08-27T16:35:05Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2093014447833116908",
          "summary": "Reset for ChatGPT Work and Codex users",
          "summary_zh": "ChatGPT Work 与 Codex 用户额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-27/"
        },
        {
          "id": "2091688655828246890",
          "date": "2026-08-24",
          "ts": "2026-08-24T00:46:51Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2091688655828246890",
          "summary": "Reset with usage fixes landing Sunday",
          "summary_zh": "额度重置,用量计费修复将于周日上线",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-24/"
        },
        {
          "id": "2090766694897619318",
          "date": "2026-08-21",
          "ts": "2026-08-21T11:43:19Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2090766694897619318",
          "summary": "Banked reset for all users celebrating 20M active users milestone",
          "summary_zh": "庆祝活跃用户突破 2000 万:全员储备重置",
          "kind": "banked",
          "kind_label": "重置次数",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-21/"
        },
        {
          "id": "2087706104814023111",
          "date": "2026-08-13",
          "ts": "2026-08-13T01:01:37Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2087706104814023111",
          "summary": "Reset for 15M active users milestone achievement",
          "summary_zh": "庆祝活跃用户突破 1500 万:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-13/"
        },
        {
          "id": "2086972802457063486",
          "date": "2026-08-11",
          "ts": "2026-08-11T00:27:44Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2086972802457063486",
          "summary": "Usage limit reset announcement",
          "summary_zh": "用量额度重置公告",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-11/"
        },
        {
          "id": "2086188036493344823",
          "date": "2026-08-08",
          "ts": "2026-08-08T20:29:22Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2086188036493344823",
          "summary": "Reset to celebrate GPT-5.6 Sol availability in CC harness",
          "summary_zh": "庆祝 GPT-5.6 Sol 可在 CC 环境使用:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-08/"
        },
        {
          "id": "2083395449814229287",
          "date": "2026-08-01",
          "ts": "2026-08-01T03:32:37Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2083395449814229287",
          "summary": "Reset to support weekend Luna thread operations",
          "summary_zh": "为周末 Luna 线程使用保驾护航:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-08-01/"
        },
        {
          "id": "2082317452755751098",
          "date": "2026-07-29",
          "ts": "2026-07-29T04:09:02Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2082317452755751098",
          "summary": "Reset with update on GPT-5.6 Sol usage consumption rates",
          "summary_zh": "额度重置,并说明 GPT-5.6 Sol 的用量消耗率调整",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-29/"
        },
        {
          "id": "2081940052154933696",
          "date": "2026-07-28",
          "ts": "2026-07-28T03:09:23Z",
          "type": "reset",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2081940052154933696",
          "summary": "Usage reset for all paid Codex and ChatGPT Work users",
          "summary_zh": "全部付费 Codex 与 ChatGPT Work 用户额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-07-28/"
        },
        {
          "id": "2081096447718723984",
          "date": "2026-07-25",
          "ts": "2026-07-25T19:17:12Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2081096447718723984",
          "summary": "Reset after global outage recovery (2-4am)",
          "summary_zh": "凌晨 2-4 点全球故障恢复后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-25/"
        },
        {
          "id": "2079609157934886975",
          "date": "2026-07-21",
          "ts": "2026-07-21T16:47:15Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2079609157934886975",
          "summary": "Reset celebrating 10M active users milestone",
          "summary_zh": "庆祝活跃用户突破 1000 万:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-21/"
        },
        {
          "id": "2078320950488297917",
          "date": "2026-07-18",
          "ts": "2026-07-18T03:28:22Z",
          "type": "reset",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2078320950488297917",
          "summary": "Reset for paid Codex and ChatGPT Work users",
          "summary_zh": "付费 Codex 与 ChatGPT Work 用户额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-07-18/"
        },
        {
          "id": "2077607697487188198",
          "date": "2026-07-16",
          "ts": "2026-07-16T04:14:09Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2077607697487188198",
          "summary": "Reset after 9M active users milestone achieved",
          "summary_zh": "活跃用户突破 900 万后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-16/"
        },
        {
          "id": "2077114635308986427",
          "date": "2026-07-14",
          "ts": "2026-07-14T19:34:54Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2077114635308986427",
          "summary": "Reset for 8M active users; no 5h rate limit maintained",
          "summary_zh": "庆祝 800 万活跃用户:额度重置,继续不设 5 小时限速",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-14/"
        },
        {
          "id": "2076735790567338203",
          "date": "2026-07-13",
          "ts": "2026-07-13T18:29:31Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2076735790567338203",
          "summary": "Banked reset added celebrating 7M active users",
          "summary_zh": "庆祝 700 万活跃用户:追加储备重置",
          "kind": "banked",
          "kind_label": "重置次数",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-13/"
        },
        {
          "id": "2076418567143408112",
          "date": "2026-07-12",
          "ts": "2026-07-12T21:28:59Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2076418567143408112",
          "summary": "Banked reset for 500k users; web/mobile reset ability added",
          "summary_zh": "为 50 万用户储备重置;网页/移动端新增自助重置能力",
          "kind": "banked",
          "kind_label": "重置次数",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-12/"
        },
        {
          "id": "2075820987833274448",
          "date": "2026-07-11",
          "ts": "2026-07-11T05:54:25Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2075820987833274448",
          "summary": "Weekend reset for all ChatGPT Work and Codex users",
          "summary_zh": "周末全员重置(ChatGPT Work 与 Codex)",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-11/"
        },
        {
          "id": "2075641131002700120",
          "date": "2026-07-10",
          "ts": "2026-07-10T17:59:43Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2075641131002700120",
          "summary": "Reset with additional one coming later today",
          "summary_zh": "额度重置,今天晚些时候还有一次",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-10/"
        },
        {
          "id": "2075330198887940337",
          "date": "2026-07-09",
          "ts": "2026-07-09T21:24:11Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2075330198887940337",
          "summary": "Full usage limit reset propagating within hour",
          "summary_zh": "全量额度重置,一小时内生效",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-07-09/"
        },
        {
          "id": "2071740419030053227",
          "date": "2026-06-29",
          "ts": "2026-06-29T23:39:41Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2071740419030053227",
          "summary": "Full reset plus additional banked reset for unexpected consumption investigation",
          "summary_zh": "全量重置 + 额外储备重置,同时调查异常消耗问题",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-06-29/"
        },
        {
          "id": "2071381664853319742",
          "date": "2026-06-28",
          "ts": "2026-06-28T23:54:07Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2071381664853319742",
          "summary": "Hard reset during OpenAI RESET week",
          "summary_zh": "OpenAI RESET 周期间硬重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-06-28/"
        },
        {
          "id": "2070653282440405046",
          "date": "2026-06-26",
          "ts": "2026-06-26T23:39:48Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2070653282440405046",
          "summary": "Free usage reset while investigating consumption reports",
          "summary_zh": "调查用量异常反馈期间免费重置额度",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-06-26/"
        },
        {
          "id": "2067399435009622521",
          "date": "2026-06-18",
          "ts": "2026-06-18T00:10:10Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2067399435009622521",
          "summary": "Double reset: immediate plus banked for leisure use",
          "summary_zh": "双重重置:立即生效一次 + 储备一次供闲时使用",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-06-18/"
        },
        {
          "id": "2062329981548802523",
          "date": "2026-06-04",
          "ts": "2026-06-04T00:25:58Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2062329981548802523",
          "summary": "Reset after three reliability incidents within 24 hours",
          "summary_zh": "24 小时内三次可靠性事故后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-06-04/"
        },
        {
          "id": "2061106703446450392",
          "date": "2026-05-31",
          "ts": "2026-05-31T15:25:06Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2061106703446450392",
          "summary": "Full reset restoring 100% weekly and hourly limits",
          "summary_zh": "全量重置:周限与小时限恢复 100%",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-05-31/"
        },
        {
          "id": "2058280452851638313",
          "date": "2026-05-23",
          "ts": "2026-05-23T20:14:35Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2058280452851638313",
          "summary": "Reset after fixing cache optimization rollback issue",
          "summary_zh": "修复缓存优化回滚问题后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-05-23/"
        },
        {
          "id": "2055707616605835333",
          "date": "2026-05-16",
          "ts": "2026-05-16T17:51:03Z",
          "type": "reset",
          "scope": "paid",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2055707616605835333",
          "summary": "Weekend reset across all paid plans",
          "summary_zh": "全部付费计划周末重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "付费用户",
          "page": "https://whenreset.app/codex/2026-05-16/"
        },
        {
          "id": "2048997818673537399",
          "date": "2026-04-28",
          "ts": "2026-04-28T05:28:43Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2048997818673537399",
          "summary": "Reset celebrating good week with GPT-5.5 availability",
          "summary_zh": "庆祝 GPT-5.5 上线的美好一周:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-04-28/"
        },
        {
          "id": "2046367145588916687",
          "date": "2026-04-20",
          "ts": "2026-04-20T23:15:21Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2046367145588916687",
          "summary": "Reset after 10-minute incident mitigation",
          "summary_zh": "10 分钟故障处置后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-04-20/"
        },
        {
          "id": "2044943514832871564",
          "date": "2026-04-17",
          "ts": "2026-04-17T00:58:21Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2044943514832871564",
          "summary": "Reset for Codex 1-year anniversary",
          "summary_zh": "Codex 一周年纪念:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-04-17/"
        },
        {
          "id": "2042299371602264319",
          "date": "2026-04-09",
          "ts": "2026-04-09T17:51:28Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2042299371602264319",
          "summary": "Reset celebrating $100 plan launch",
          "summary_zh": "庆祝 $100 档计划上线:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-04-09/"
        },
        {
          "id": "2041655710346572085",
          "date": "2026-04-07",
          "ts": "2026-04-07T23:13:48Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2041655710346572085",
          "summary": "Reset celebrating 3M weekly users (up from 2M in one month)",
          "summary_zh": "庆祝周活用户 300 万(一个月内从 200 万涨来):额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-04-07/"
        },
        {
          "id": "2039248564967424483",
          "date": "2026-04-01",
          "ts": "2026-04-01T07:48:39Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2039248564967424483",
          "summary": "Cautious reset after increased rate limit hits observed",
          "summary_zh": "观察到限速触发增多后谨慎重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-04-01/"
        },
        {
          "id": "2037346989244096581",
          "date": "2026-03-27",
          "ts": "2026-03-27T01:52:28Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2037346989244096581",
          "summary": "Reset for new plugin experimentation",
          "summary_zh": "鼓励尝试新插件:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-03-27/"
        },
        {
          "id": "2031605592352313567",
          "date": "2026-03-11",
          "ts": "2026-03-11T05:38:13Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2031605592352313567",
          "summary": "Reset after stability recovery",
          "summary_zh": "稳定性恢复后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-03-11/"
        },
        {
          "id": "2031216405266481489",
          "date": "2026-03-10",
          "ts": "2026-03-10T03:51:43Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2031216405266481489",
          "summary": "Reset after resolution and stability confirmation",
          "summary_zh": "问题解决并确认稳定后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-03-10/"
        },
        {
          "id": "2030474136024400173",
          "date": "2026-03-08",
          "ts": "2026-03-08T02:42:13Z",
          "type": "reset",
          "scope": "Plus+Pro",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2030474136024400173",
          "summary": "Reset for Plus & Pro while investigating consumption reports",
          "summary_zh": "调查用量异常期间为 Plus 与 Pro 用户重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "Plus/Pro 用户",
          "page": "https://whenreset.app/codex/2026-03-08/"
        },
        {
          "id": "2029308599835738218",
          "date": "2026-03-04",
          "ts": "2026-03-04T21:30:47Z",
          "type": "reset",
          "scope": "affected",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2029308599835738218",
          "summary": "Reset compensating 9% of users missing 2X promotional limit increase",
          "summary_zh": "为未享受到 2 倍限额活动的 9% 用户补偿重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "受影响用户",
          "page": "https://whenreset.app/codex/2026-03-04/"
        },
        {
          "id": "2028649088594436225",
          "date": "2026-03-03",
          "ts": "2026-03-03T01:50:07Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2028649088594436225",
          "summary": "Reset after ~8 minute outage from cyber risk blocking issue",
          "summary_zh": "网络风险拦截误伤导致约 8 分钟故障,恢复后重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2026-03-03/"
        },
        {
          "id": "2004100061933064395",
          "date": "2025-12-25",
          "ts": "2025-12-25T08:01:03Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2004100061933064395",
          "summary": "Reset plus 2X limit increase until January 1st holiday gift",
          "summary_zh": "节日礼物:额度重置 + 限额翻倍至 1 月 1 日",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2025-12-25/"
        },
        {
          "id": "2002137269134819610",
          "date": "2025-12-19",
          "ts": "2025-12-19T22:01:37Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2002137269134819610",
          "summary": "Reset after rewriting underlying usage tracking system",
          "summary_zh": "重写底层用量统计系统后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2025-12-19/"
        },
        {
          "id": "2001114683047317723",
          "date": "2025-12-17",
          "ts": "2025-12-17T02:18:14Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2001114683047317723",
          "summary": "Reset for disruption mitigation",
          "summary_zh": "服务中断补偿:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2025-12-17/"
        },
        {
          "id": "1995988609896513743",
          "date": "2025-12-02",
          "ts": "2025-12-02T22:49:02Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/1995988609896513743",
          "summary": "Reset while addressing underlying issue; propagation within 10 mins",
          "summary_zh": "处理底层问题期间重置,10 分钟内生效",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2025-12-02/"
        },
        {
          "id": "1992370994028388670",
          "date": "2025-11-22",
          "ts": "2025-11-22T23:13:56Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/1992370994028388670",
          "summary": "Reset compensating for unusual US latencies",
          "summary_zh": "补偿美区异常延迟:额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2025-11-22/"
        },
        {
          "id": "1986166501435711936",
          "date": "2025-11-05",
          "ts": "2025-11-05T20:19:29Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/1986166501435711936",
          "summary": "Reset after 45-minute minor outage becoming 30-minute global outage",
          "summary_zh": "小故障演变为 30 分钟全球故障后额度重置",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2025-11-05/"
        },
        {
          "id": "1968163721034994139",
          "date": "2025-09-17",
          "ts": "2025-09-17T04:02:52Z",
          "type": "reset",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/1968163721034994139",
          "summary": "Reset celebrating gpt-5-codex launch; GPU provisioning continuing",
          "summary_zh": "庆祝 gpt-5-codex 发布:额度重置,GPU 扩容进行中",
          "kind": "regular",
          "kind_label": "额度重置",
          "scope_label": "全部用户",
          "page": "https://whenreset.app/codex/2025-09-17/"
        }
      ]
    },
    "claude": {
      "...": "..."
    }
  }
}

/api/v1/latest.json

{
  "schema": "whenreset/v1",
  "generated_at": "2026-10-26T05:42:00Z",
  "source": "https://whenreset.app/api/",
  "products": {
    "codex": {
      "name": "Codex",
      "vendor": "OpenAI",
      "latest_event": {
        "id": "2114588174249071102",
        "date": "2026-10-26",
        "ts": "2026-10-26T05:21:22Z",
        "type": "reset",
        "kind": "regular",
        "scope": "all",
        "source": "thsottiaux",
        "url": "https://x.com/thsottiaux/status/2114588174249071102",
        "summary": "Day 21/ Wonder what happens the remaining seven days. But today is a reset.",
        "summary_zh": "官方宣布今天进行额度重置,这已经是连续第 21 天",
        "kind_label": "额度重置",
        "scope_label": "全部用户",
        "page": "https://whenreset.app/codex/2026-10-26/"
      },
      "stats": {
        "total": 56,
        "last_date": "2026-10-26",
        "last30d": 8,
        "median_gap": 3,
        "max_gap": 68,
        "last_regular_date": "2026-10-26",
        "last_banked_date": "2026-10-07",
        "banked_count": 8
      },
      "scheduled": null,
      "next_estimate": "2026-10-29"
    },
    "claude": {
      "name": "Claude",
      "vendor": "Anthropic",
      "latest_event": {
        "id": "2113007239476977744",
        "date": "2026-10-21",
        "ts": "2026-10-21T20:39:18Z",
        "type": "reset",
        "kind": "regular",
        "scope": "all",
        "source": "lydiahallie",
        "url": "https://x.com/lydiahallie/status/2113007239476977744",
        "summary": "Quick reminder that the free limit reset from last month expires tomorrow at 9am PT! 🙏 If you haven't used yours yet, it's still waiting for you in Settings > Usage (or https://t.co/qXOsTIAjRH) https://t.co/XxdYce2x4v",
        "summary_zh": "上月发放的免费额度重置将于明天太平洋时间上午 9 点到期,未使用的用户可在 Settings > Usage 中使用",
        "kind_label": "额度重置",
        "scope_label": "全部用户",
        "page": "https://whenreset.app/claude/2026-10-21/"
      },
      "stats": {
        "total": 14,
        "last_date": "2026-10-21",
        "last30d": 1,
        "median_gap": 8,
        "max_gap": 47,
        "last_regular_date": "2026-10-21",
        "last_banked_date": "2026-09-22",
        "banked_count": 1
      },
      "scheduled": null,
      "next_estimate": "2026-10-29"
    }
  }
}

/api/resets.json 数据样例

{
  "schema": 1,
  "updated_at": "2026-10-26T05:33:40Z",
  "products": {
    "codex": {
      "name": "Codex",
      "vendor": "OpenAI",
      "sources": [
        "thsottiaux",
        "OpenAIDevs"
      ],
      "events": [
        {
          "id": "2114588174249071102",
          "date": "2026-10-26",
          "ts": "2026-10-26T05:21:22Z",
          "type": "reset",
          "kind": "regular",
          "scope": "all",
          "source": "thsottiaux",
          "url": "https://x.com/thsottiaux/status/2114588174249071102",
          "summary": "Day 21/ Wonder what happens the remaining seven days. But today is a reset.",
          "summary_zh": "\u5b98\u65b9\u5ba3\u5e03\u4eca\u5929\u8fdb\u884c\u989d\u5ea6\u91cd\u7f6e\uff0c\u8fd9\u5df2\u7ecf\u662f\u8fde\u7eed\u7b2c 21 \u5929"
        }
      ]
    },
    "claude": {
      "...": "..."
    }
  }
}

欢迎注明来源:回链到 whenreset.app。仅限合理使用——请做好缓存,不要频繁请求。

常见问题

这个 API 需要注册或密钥吗?

不需要。/api/resets.json、/api/v1/resets.json、/api/v1/latest.json 都是公开只读 JSON,支持 CORS,无需注册、无需密钥,可以直接从浏览器里 fetch。

resets.json 和 v1/resets.json 有什么区别?

/api/resets.json 是上游数据的原样转发,字段最少,长期保持向后兼容;/api/v1/resets.json 在此基础上加了统计(median_gap 等)、下次重置的预估时间、重置概率、每条事件的详情页链接等结构化字段,供需要更多上下文的场景使用。

v1 的字段以后会不会改?

只增不删——已有字段的名字和含义不会变化。如果将来需要做不兼容的结构调整,会发布新的版本路径(比如 /api/v2/),不会直接改动 v1。

可以用这个数据做什么?

可以用来做菜单栏小工具、Slack/Telegram 机器人、状态页,或者给 AI Agent 当一个「查额度重置」工具的数据源——/api/v1/latest.json 就是为轮询场景做的精简版。