Is Heroku down?
For agents
proceed
Proceed.
GET upbutler.com/status/heroku/status.agent.json
MCP: upstream_status {"service":"heroku"}
Dynos, Heroku Postgres and the platform tools.
What Heroku reports
Operational
Taken as is from Heroku's own status API. Incident titles and component names below are theirs.
Open status.heroku.comUpButler's independent probe
There is no keyless endpoint of Heroku that says anything useful, so UpButler does not probe it. To check your own Heroku account, add a monitor with your key: it is yours alone and catches what a shared probe cannot.
Open at Heroku
- Heroku Platform Maintenancescheduled maintenance
Starts · Apps
Maintenance is complete
Text written by Heroku, shown unchanged.
Heroku components
3 operational
- AppsOperational
- DataOperational
- ToolsOperational
Heroku incidents, last 90 days
No finished incidents on record yet since 2026-10-10. UpButler keeps what Heroku publishes for 90 days from the day it starts tracking a service.
Tell your outage from Heroku's
Declare that your project depends on Heroku. When one of your monitors fails while Heroku 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:
- herokucurl -s https://upbutler.com/status/heroku/status.agent.json{
"schema": "upbutler.upstream-status/v1",
"service": "heroku",
"verdict": "proceed",
"status": "operational",
"reason": "No incidents reported",
"retryAfterSec": null,
"incident": null,
"probe": null
}Questions
- Is Heroku down right now?
- No. As of 2026-10-10 05:08 UTC, Heroku is operational. This page reads the status again every 5 minutes.
- Where does this status come from?
- From Heroku's own status API at https://status.heroku.com. UpButler reads it once for everyone (not once per visitor) every 300 seconds with conditional requests, and shows it unchanged: incident titles and component names are Heroku's words.
- How can my agent or app check Heroku status?
- Fetch https://upbutler.com/status/heroku/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":"heroku"}, on https://upbutler.com/mcp/public.
- How do I know whether an outage is mine or Heroku's?
- Add "heroku" to the dependencies of your UpButler workspace. When one of your monitors fails while Heroku 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 hosting and compute
UpButler is not affiliated with Heroku. Status and incident text belong to Heroku and are read from their public status source; the probe result is UpButler's own measurement.