URL_NOT_FOUND

The target URL returned 404 — the page doesn't exist on the origin.

CodeHTTP statusRetryable?
URL_NOT_FOUND404No

What this means

URL_NOT_FOUND is a passthrough of the origin's 404. Onto attempted the fetch, the origin returned 404 Not Found, and Onto preserves that signal back to you. This is distinct from ROBOTS_BLOCKED (site refused before fetch) and WAF_BLOCKED (site refused at fetch time) — here the site responded normally, the URL just doesn't exist.

When you'll see it

HTTP 404. Body always includes code: "URL_NOT_FOUND". Branch on code, never on the human-readable message — wording can change without notice; the code is the stable contract.

Example response

json
{
  "status": "error",
  "code": "URL_NOT_FOUND",
  "message": "Target URL returned 404"
}

How to handle

Check the URL is current. Many sites change URL structure on relaunches; if you're following a stale aggregator link, the canonical URL has probably moved. If you control the input, validate that the URL was reachable when it entered your system. If the URL was historically valid, the Wayback Machine may have an archived copy you can read instead.

Do NOT retry blindly. The page is gone. Skip and surface a clear message to your caller.

Suggested handling in a Node client:

ts
if (data.code === 'URL_NOT_FOUND') {
  // The page is gone; skip this URL.
  return null;
}
CodeStatusWhat it means
INVALID_URLHTTP 400The request body wasn't valid JSON, or the url field was missing or unparseable as a URL.
WAF_BLOCKEDHTTP 403The target site's WAF or CDN refused the Onto crawler (origin returned 401 / 403).

See the full error index for the complete catalog with the handling switch statement covering every code at once.