# down.guide > A free outage feed for people and agents. down.guide reads the official status pages of 404 cloud, SaaS and developer providers every minute, normalizes their incidents, and labels its own evidence (visitor reports) as its own. Built by Sazabi. Every page has a markdown copy: add .md to the URL (the homepage is https://down.guide/index.md) or send `Accept: text/markdown`. ## MCP - https://mcp.down.guide/mcp (also https://down.guide/mcp): Streamable HTTP, no auth. Tools: get_provider, list_feed, get_incident, search, check_stack, check_dependency, get_leaderboard, send_feedback, report_outage, report_affected. ## REST API (no key; JSON) - GET https://down.guide/api/v1/providers/: Get provider (MCP tool `get_provider`, same JSON) - GET https://down.guide/api/v1/incidents: List feed (MCP tool `list_feed`, same JSON) - GET https://down.guide/api/v1/incidents/: Get incident (MCP tool `get_incident`, same JSON) - GET https://down.guide/api/v1/search: Search (MCP tool `search`, same JSON) - POST https://down.guide/api/v1/check: Check stack (MCP tool `check_stack`, same JSON) - GET https://down.guide/api/v1/dependency: Check dependency (MCP tool `check_dependency`, same JSON) - GET https://down.guide/api/v1/leaderboard: Get leaderboard (MCP tool `get_leaderboard`, same JSON) - POST https://down.guide/api/v1/feedback: Send feedback (MCP tool `send_feedback`, same JSON) - POST https://down.guide/api/v1/reports: Report outage (MCP tool `report_outage`, same JSON) - POST https://down.guide/api/v1/reports/affected: Report affected (MCP tool `report_affected`, same JSON) - GET https://down.guide/api/v1/search: q takes free text and keys such as provider:, impact:major_outage, region:us-east-1, started:>30d, duration:>2h, has:rca, cause:dns and sort:relevance|started|duration|index. Terms are ANDed, commas OR values, a leading - excludes. Words match whole words and their English forms (errors finds error), a misspelled word also matches the indexed names closest to it (githb finds GitHub; match.text lists them as alsoAs), and "last week", "past month" or "today" read as a started: bound. A query with a problem (an unknown key or value) runs nothing and lists the problems - Typed search parameters, each ANDed with q (q is optional when one is given): provider, category, impact and level (comma lists or repeated), kind (incident, maintenance, all), state (active, resolved) and started (one bound each, e.g. started=>=2026-10-01&started=<2026-10-08). With no words, results are newest first - Each search result's match says why it matched: the fields each word hit (provider, title, summary, components, updates) and the key terms it meets. facets counts every match by provider, category, impact, level, kind and state (facets=false leaves it out). query echoes what ran - With no matches, suggestions lists broader queries that do match. An empty answer is not evidence that nothing happened - limit (1 to 100) and cursor (the next_cursor of the last page) page through the results; offset is a deprecated alias of cursor - POST https://down.guide/api/v1/check takes manifest_name (optional), manifest_content, providers or stack_id (JSON), or the raw file; input is a deprecated alias of manifest_content - POST https://down.guide/api/stack: save a stack from the same body; returns stack_id (keeps only provider slugs) for check_stack, https://down.guide/stack?stack_id= and the CLI - GET https://down.guide/api/v1/providers: the catalog with live state - GET https://down.guide/api/v1/status: one line per provider - GET https://down.guide/api/stats: catalog and usage numbers - OpenAPI: https://down.guide/openapi.json ## Feeds - https://down.guide/feed (RSS), ?format=atom, ?format=json. Filters: provider, category, impact, region, component, level, kind=all, state=active, filter=major. Example: https://down.guide/feed?provider=github,vercel&filter=major&format=json - Badges: https://down.guide/badge/.svg ## Pages - [What's down now](https://down.guide/index.md) - [Live](https://down.guide/live.md) - [Providers](https://down.guide/providers.md); one page per provider at https://down.guide/ ("Is down?"), history at //history - Incidents: https://down.guide// (also https://down.guide/) - [Down Index](https://down.guide/leaderboard.md), [methodology](https://down.guide/leaderboard/methodology.md), weekly archives at /leaderboard/ - [Rankings](https://down.guide/rankings.md), [Postmortems](https://down.guide/search?q=has%3Arca), [Cascades](https://down.guide/events.md), [Daily recaps](https://down.guide/recaps.md) at /recaps/ (RSS: https://down.guide/recaps/feed.xml) - [Check your stack](https://down.guide/stack.md), [About](https://down.guide/about.md), [Our own status](https://down.guide/status) ## Trust rules - Provider words are quoted verbatim and linked; down.guide's own evidence is always labeled as ours. - Denials are shown, never deleted. ## Corrections - Wrong data, a missing provider or mapping, or a probe false positive: open an issue at https://github.com/sazabi/down.guide (public docs and issue forms, no source code). Private notes: the send_feedback tool or POST https://down.guide/api/v1/feedback. ## Optional - [Full docs for agents](https://down.guide/llms-full.txt) - [Agent skill](https://down.guide/.well-known/agent-skills/down-guide/SKILL.md)