Downdetector API: Check service status
Checks whether an app or website has current problems in a country on Downdetector: its status, reports in the latest 15-minute interval, the usual report count, the most reported problem types and the most affected locations when shown. The service must have a public Downdetector page in that country.
Unofficial. Not affiliated with or endorsed by Downdetector.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Country optional
country Country to check, for example Canada. Defaults to United States.
United States (default)
- Service, required
service The name of the app or website to check, for example Microsoft Teams.
Verizon
Input as JSON
{ "service": "Verizon"}Output
{ "status": "No current problems", "country": "United States", "service": "Verizon", "time_checked": "2026-09-29T00:47:35+00:00", "usual_reports": 56, "downdetector_link": "https://downdetector.com/status/verizon/" , "most_reported_problems": [ { "problem": "5G Home Internet", "percent_of_reports": 40 }, { "problem": "Mobile Phone", "percent_of_reports": 28 }, { "problem": "Broadband Internet", "percent_of_reports": 16 } ], "most_affected_locations": [ "New York City", "Washington", "Brooklyn" ], "reports_last_15_minutes": 77}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"downdetector.com/check_service_status","input":{"service":"Verizon"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "downdetector.com/check_service_status" , "input": { "service": "Verizon" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "downdetector.com/check_service_status" , "input": { "service": "Verizon" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run downdetector.com/check_service_status# with {"service":"Verizon"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "service" ], "properties": { "country": { "type": "string", "default": "United States", "description": "Country to check, for example Canada. Defaults to United States." }, "service": { "type": "string", "description": "The name of the app or website to check, for example Microsoft Teams." } }}Output schema
{ "type": "object", "required": [ "service", "country", "status", "reports_last_15_minutes", "usual_reports", "most_reported_problems", "most_affected_locations", "time_checked", "downdetector_link" ], "properties": { "status": { "enum": [ "No current problems", "Possible problems", "Problems" ], "type": "string" }, "country": { "type": "string" }, "service": { "type": "string" }, "time_checked": { "type": "string", "format": "date-time" }, "usual_reports": { "type": [ "integer", "null" ], "description": "Typical report count in that interval when shown." }, "downdetector_link": { "type": "string", "format": "uri" }, "most_reported_problems": { "type": "array", "items": { "type": "object", "required": [ "problem", "percent_of_reports" ], "properties": { "problem": { "type": "string" }, "percent_of_reports": { "type": "integer" } }, "additionalProperties": false } }, "most_affected_locations": { "type": "array", "items": { "type": "string" }, "description": "Most reported locations when shown; otherwise empty." }, "reports_last_15_minutes": { "type": [ "integer", "null" ], "description": "Reports in the latest 15-minute chart interval." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
downdetector.com/check_service_status- Returns
- service, country, status, reports in last 15 minutes, usual reports, most reported problems, most affected locations, time checked, Downdetector link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method downdetector.com/check_service_status with the inputs above.
Ask your agent
- Is Instagram down right now in the UK? Show me how many problem reports there have been in the last 15 minutes compared to normal.
- Check Downdetector for Microsoft Teams outages in Canada — what are people reporting and which cities are hit hardest?
- My Verizon service keeps dropping. Are other people in the US reporting problems at the moment, and what kinds of issues are most common?
- Look up the current Downdetector status of PlayStation Network in Germany and give me the link to the page.
- Are there widespread issues with WhatsApp in Brazil today? I need the current status, recent report count, usual baseline, and the top reported problems.
See more
Gets the official overall status, components, active incidents and scheduled maintenance for a service from its Atlassian Statuspage summary feed.
atlassian.com/get_service_statusLists recent and ongoing internet outages from Cloudflare Radar's Outage Center, optionally for one country. Countries and scope are null when the Outage Center does not identify them.
radar.cloudflare.com/list_internet_outagesGets a website's worldwide popularity bucket, exact rank when shown, categories, and recent weekly rank history from Cloudflare Radar. Historical rank points are available only for top-100 domains; other ranked domains have an empty history.
radar.cloudflare.com/get_domain_rankFinds a TV show on TMDB by exact name or TMDB show link and returns its details, cast, seasons, the last aired and next scheduled episodes, and the streaming services listed for a chosen country.
themoviedb.org/get_tv_showGets details for an Amazon product, found by name or by link, in a chosen country store. Offer prices, delivery and variants may be missing when Amazon does not show them publicly.
amazon.com/get_productChecks a website's HTTPS setup with SSL Labs: overall grade, per-server grades, certificate issuer and expiry, supported protocols and known weaknesses. Reuses cached reports from the last 72 hours unless a fresh test is requested.
ssllabs.com/check_ssl_certificateReturns current UK government (FCDO) travel warnings, entry requirements for British passport holders, safety, health and emergency information for a country. Summaries are shortened; follow the link for full details.
gov.uk/get_travel_adviceLooks up a World Bank statistic for a country and returns its annual values and latest value for the selected years.
data.worldbank.org/get_country_statistic