AGY Resets API
Read-only access to Gemini quota resets in Google Antigravity, as announced on X by the Antigravity team and sorted by an AI classifier. The reset watch is a rule-based heuristic, not a forecast. Not affiliated with Google.
Free to use — please link back. The API and the MCP server are free and need no key. In return, please credit
agyresets.com with a link wherever you show this data, e.g.
Data from <a href="https://www.agyresets.com/">AGY Resets</a>
Base URL https://www.agyresets.com. JSON, CORS open. Machine-readable spec: /api/openapi.json.
GET /api/v1/status
Latest reset, open promise, active watch and stats. Try it.
200 Current status: StatusResponse
GET /api/v1/resets
Published resets, newest first. Try it.
| Query parameter | Meaning |
|---|
limit | Page size, 1 to 100 (default 20). |
cursor | next_cursor from the previous page. |
from | Only resets announced at or after this ISO 8601 date or time. |
to | Only resets announced before this ISO 8601 date or time. |
200 A page of resets: ResetsResponse400 Invalid parameter: Error
MCP server
Remote MCP server (Streamable HTTP): https://www.agyresets.com/mcp. No key needed.
get_status: the latest reset, an open promise, the active reset watch and the stats.
list_resets: published resets, newest first; arguments limit, cursor, from, to, as in GET /api/v1/resets.
Example client configuration:
{ "mcpServers": { "agyresets": { "type": "http", "url": "https://www.agyresets.com/mcp" } } }
Schemas
Source
A post linked to a reset. role: primary (the announcement), echo (another account repeating it), follow_up (adds rollout or scope details), promise (announced before it happened).
| Field | Type | |
|---|
id | string | |
author | string | |
url | string (uri) | |
posted_at | string (date-time) | |
role | "primary" | "echo" | "follow_up" | "promise" | |
Reset
| Field | Type | |
|---|
id | string | The X post id of the announcement. |
announced_at | string (date-time) | |
kind | "weekly" | "rate_limit" | "unspecified" | |
models | array of string | Model quota pools, e.g. ["gemini"], ["argon", "gemini"], ["all"]. |
plans | array of string | Plans covered, e.g. ["all"], ["paid"], ["unspecified"]. |
trigger | "model_launch" | "load" | "incident" | "backlash" | "product_release" | "none" | |
limit_change | string or null | |
note | string or null | |
text | string | |
source | object | |
sources | array of Source | |
ScheduledReset
A reset a tracked account promised that has not happened yet.
| Field | Type | |
|---|
id | string | |
status | "scheduled" | |
announced_at | string (date-time) | |
text | string | |
source | object | |
Watch
A rule-based reset watch signal with its rule and track record. reset_chance_percent is always null: there is no probability model.
| Field | Type | |
|---|
level | "elevated" | "strong" | |
reason | "model_launch" | "load" | "incident" | "promise" | |
reset_chance_percent | null | |
observed_at | string (date-time) | |
expires_at | string (date-time) | |
rule | string | |
track_record | string | |
text | string | |
source | object | |
Stats
| Field | Type | |
|---|
total | integer | |
last_reset_at | string or null | |
days_since_last | number or null | |
avg_interval_days | number or null | |
median_interval_days | number or null | |
longest_gap_days | number or null | |
| Field | Type | |
|---|
api_version | "v1" | |
generated_at | string (date-time) | |
StatusResponse
| Field | Type | |
|---|
data | object | |
meta | Meta | |
ResetsResponse
| Field | Type | |
|---|
data | array of Reset | |
pagination | object | |
meta | Meta | |
Error