Is crates.io down?
For agents
proceed
Proceed.
GET upbutler.com/status/crates/status.agent.json
MCP: upstream_status {"service":"crates"}
The Rust package registry.
What crates.io reports
Operational
Taken as is from crates.io's own status page API. Incident titles and component names below are theirs.
Open status.crates.ioUpButler's independent probe
There is no keyless endpoint of crates.io that says anything useful, so UpButler does not probe it. To check your own crates.io account, add a monitor with your key: it is yours alone and catches what a shared probe cannot.
crates.io components
2 operational
- crates.ioOperational
- docs.rsOperational
crates.io incidents, last 90 days
No finished incidents on record yet. UpButler keeps what crates.io publishes for 90 days from the day it starts tracking a service.
Tell your outage from crates.io's
Declare that your project depends on crates.io. When one of your monitors fails while crates.io has an incident that began around the same time, UpButler tags your incident "likely upstream" with their incident linked, says so in the alert and the AI report, and tells your on-call agent not to change code.
npx upbutler init finds the dependency from your env var names and packages. The catalog, dependencies and upstream-aware incidents are on every plan, including Free.
# upbutler.yaml
dependencies:
- cratescurl -s https://upbutler.com/status/crates/status.agent.json{
"schema": "upbutler.upstream-status/v1",
"service": "crates",
"verdict": "proceed",
"status": "operational",
"reason": "No incidents reported",
"retryAfterSec": null,
"incident": null,
"probe": null
}Questions
- Is crates.io down right now?
- No. As of 2026-10-10 05:10 UTC, crates.io is operational. This page reads the status again every 2 minutes.
- Where does this status come from?
- From crates.io's own status page API at https://status.crates.io. UpButler reads it once for everyone (not once per visitor) every 120 seconds with conditional requests, and shows it unchanged: incident titles and component names are crates.io's words.
- How can my agent or app check crates.io status?
- Fetch https://upbutler.com/status/crates/status.agent.json: a small JSON document with a verdict (proceed, retry, fallback or pause) and retryAfterSec. No key is needed. The same answer is an MCP tool, upstream_status {"service":"crates"}, on https://upbutler.com/mcp/public.
- How do I know whether an outage is mine or crates.io's?
- Add "crates" to the dependencies of your UpButler workspace. When one of your monitors fails while crates.io has an incident that began around the same time, your incident is tagged "likely upstream" with their incident linked, and your on-call agent is told not to change code.
More in code, packages and workflows
UpButler is not affiliated with crates.io. Status and incident text belong to crates.io and are read from their public status source; the probe result is UpButler's own measurement.