EXTRACTION_FAILED[01]

EXTRACTION_FAILED

The fetch or the parse failed: an origin error, an unreachable host, a redirect problem, or a page or PDF Onto couldn't parse.

Code · HTTP status · Retryable?
EXTRACTION_FAILED[500][Yes]

What this means

[02]

EXTRACTION_FAILED covers several failures. The origin answered with an error status other than 401, 403 or 404, such as a 500. The connection was refused or the host was unreachable. The site redirected more than 5 times, or sent a redirect Onto couldn't follow. Or the page or PDF couldn't be parsed. The message says which. Failed requests are refunded.

When you'll see it

[03]

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

Example response

[04]
example response[json]
{
  "status": "error",
  "code": "EXTRACTION_FAILED",
  "message": "Upstream returned HTTP 503"
}

How to handle

[05]

Retry once. Errors are never cached, so a retry fetches the page again. If it keeps failing, read the message: an origin 5xx or an unreachable host is the site's problem. If the page loads fine in a browser and still fails, email the URL to founder@buildonto.dev.

Suggested handling in a Node client:

if (data.code === 'EXTRACTION_FAILED') {
  // Often transient. Retry once — errors aren't cached.
  return retry();
}
Code · Status · What it means
TLS_ERROR[HTTP 502]

The target site's TLS certificate or handshake failed, so Onto couldn't connect securely.

TIMEOUT[HTTP 504]

The target site didn't respond within 15 seconds.

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