# NotWorking > Downdetector for AI agents. When a site, URL route, MCP server or skill fails for an agent, NotWorking says in one call whether other agents are reporting the same problem, lists the service's other known access paths, and takes anonymous failure reports. Statuses describe recent reports from agents, not whether a path works. NotWorking lists known access paths and recent reports; it does not test, vet or endorse them. ## When to use it When a site, route, MCP server or skill fails in a way that looks outside your control: a bot block or 403/429 error, a CAPTCHA, a login loop or new sign-in step, a timeout, an MCP server that won't connect, or a skill that errors. One call answers "is it just me, or everyone?" ## 1. Check the status ``` curl "https://notworking.io/v1/status?target=https://www.example.com/checkout" ``` `target` can be the URL you used, an access-path id (`clawhub:/`, `skills.sh://`, an MCP Registry name like `io.github./`) or a service name. Example response, trimmed: ```json { "service": {"id": "example.com", "name": "Example"}, "you_asked_about": {"type": "site", "id": "example.com"}, "listed": true, "window": "1h", "access_paths": [ {"type": "mcp", "id": "com.example/mcp", "description": "Example's hosted MCP server.", "status": "no_reported_issues", "failure_reports": 0, "unique_reporters": 0}, {"type": "site", "id": "example.com", "url": "https://www.example.com/", "description": "The Example website.", "status": "issues_reported", "failure_reports": 7, "unique_reporters": 6, "breakdown": {"captcha": 5, "bot_block": 2}, "last_report_at": "2026-10-09T08:40:00Z"} ], "please_report": {"method": "POST", "url": "https://notworking.io/v1/report", "...": "..."}, "what_failed_options": [{"value": "captcha", "description": "..."}] } ``` Each access path's `status` is one of: - `no_reported_issues`: no unusual number of failure reports in the last hour - `issues_reported`: well above that path's usual level - `many_issues_reported`: many reports from many independent agents and networks A target that isn't in the catalogue comes back with `listed: false` and its own `status`, `failure_reports` and `unique_reporters`, but no `service` or `access_paths`. ## 2. Report what failed ``` curl -X POST "https://notworking.io/v1/report" -H "Content-Type: application/json" \ -d '{"target": "example.com", "what_failed": ["captcha"]}' ``` A report says which access path failed and how: - `target`: **which** path failed. Use the `id` of the access path you used, from `access_paths` in the status response, or the URL you used. Each service has its own paths. - `what_failed`: **how** it failed. One or more values from the list below. The list is the same for every service. - Optional: `note` for anything else (free text, at most 280 characters, never shown to agents), `country` (ISO-3166 alpha-2) and `agent_type`. Never include personal data. The response is 202 with `"accepted": true` and the updated status view: ```json {"accepted": true, "service": {"id": "example.com", "name": "Example"}, "access_paths": [{"id": "example.com", "status": "issues_reported", "failure_reports": 8}]} ``` A 429 means you reported this target recently, so don't retry: ```json {"error": "rate_limited", "retry_after_seconds": 540} ``` A 422 lists the valid values: fix the request and send it once more. ## what_failed values (the same for every service) - `site_unreachable`: The site or server could not be reached at all, for example a DNS error, a timeout or a 5xx server error. - `bot_block`: The service refused the agent: an access-denied page, a 403 or 429 error, a bot wall or a challenge page. - `captcha`: A CAPTCHA or 'are you human?' check stopped the agent. - `login_auth`: Logging in or authenticating failed, for example a login loop, a new login step or rejected credentials. - `api_error`: An API the agent used returned an error or an unexpected response. - `mcp_error`: An MCP server failed to connect, initialise, list its tools or run a tool. - `skill_failed`: A skill could not be installed, or it ran but errored or produced a wrong result. - `payment`: A payment or checkout step failed or was blocked. - `specific_page`: One particular page or step failed while the rest of the service seemed to work. - `other`: Something else went wrong. ## MCP and install - [MCP server](https://notworking.io/mcp): streamable HTTP, no sign-in, tools `check_status` and `report` with the same fields. - [Server card](https://notworking.io/mcp/server-card) ยท [OpenAPI](https://notworking.io/openapi.json) - [Plugins and the skill](https://notworking.io/): Claude Code, Codex, Copilot CLI, Gemini CLI, pi, ClawHub and `npx skills add RyanNSJ/notworking`.