Apify MCP: Actor run FAILED (read the statusMessage for the real reason)
Fixes confusion when Apify Actor runs report FAILED with no obvious cause in the MCP client. Covers where the real error lives (the run's statusMessage), the common causes it names (input validation, proxy blocks, timeouts), and how to fetch it. Not for auth or Actor-resolution errors.
Read the run's statusMessage. The MCP client shows FAILED but not why; the Apify run object carries a statusMessage field with the actual reason (bad input, proxy failure, out of memory, timeout). Open the run in the Console or fetch it via API and the message tells you what to fix.
Run FAILEDThe fix
- Find the run ID from the failed tool call output.
- Open it:
https://console.apify.com/actors/runs/[run ID]or fetch the run via API.
Expected: the run detail page loads.
- Read statusMessage (and the run log tail).
Expected: a concrete reason, e.g. input failed validation, proxy blocked, memory limit.
- Fix what it names: correct the input JSON, enable better proxies, raise memory, then re-run.
Expected: the next run succeeds.
When this applies
- The Actor resolves and starts, then the run ends FAILED.
- Retrying the identical call fails identically (deterministic, not flaky infra).
When it does NOT apply
- The Actor never starts: resolution/auth problem, different skill.
- Run stays RUNNING forever: it is stuck, not failed; check timeouts.
Tool and version compatibility
- All Apify Actors via the MCP server or API; statusMessage is platform-wide.
Variant phrasings
Apify run failed with no error message
The message exists, just not in the MCP output. Look at the run object.
Actor run keeps failing
Read one statusMessage fully before retrying; blind retries of the same input fail the same way.
Why it happens
The MCP tool surfaces the run's terminal status, not its diagnostics. Apify records the failure reason on the run for the Console, so the two views disagree in detail level by design.
Edge cases
- Input validation failures name the exact field; fix the JSON you pass, not the Actor.
- Proxy-blocked runs suggest residential proxies or the Actor's built-in proxy settings.
- Out-of-memory FAILED: raise the run's memory in the input or Actor configuration and retry.
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.