Skip to content

Is Heroku down?

Right now

No. Heroku is operational.

No incidents reported.

Read from status.heroku.com · every 300s

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.com

UpButler'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

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
# upbutler.yaml
dependencies:
  - heroku
Ask before you retry
curl -s https://upbutler.com/status/heroku/status.agent.json
status.agent.json (live)
{
  "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.