TIMEOUT[01]

TIMEOUT

The target site didn't respond within 15 seconds.

Code · HTTP status · Retryable?
TIMEOUT[504][Yes]

What this means

[02]

TIMEOUT fires when the page fetch runs past its 15-second budget. The DNS lookup happens before that clock starts. robots.txt has its own 5-second budget and the Onto SDK probe its own 8 seconds; neither causes TIMEOUT. Common causes are an overloaded origin, or a site that slows bots down instead of blocking them. Failed requests are refunded.

When you'll see it

[03]

HTTP 504. Body always includes code: "TIMEOUT". 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": "TIMEOUT",
  "message": "Target site took too long to respond"
}

How to handle

[05]

Retry once after a short pause. Errors are never cached, so the retry fetches the page again. If the same URL keeps timing out, the site is probably just slow; skip it.

Suggested handling in a Node client:

if (data.code === 'TIMEOUT') {
  // Retry once after a short pause, then give up on this URL.
  await sleep(2000);
  return retry();
}
Code · Status · What it means

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

TLS_ERROR[HTTP 502]

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

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