success even after HTTP 200. isPartial signals failed or incomplete outputs when at least one requested output succeeds; it is absent when all requested outputs fail.
Set a deadline
Send this body toPOST /web/scrape. See the Quickstart for authentication and SDK setup.
behavior: "fail". Deadlines range from 1 to 300,000 ms; return-partial requires at least 5,000 ms. Keep your client timeout longer than the API deadline.
fail returns 408 if the overall deadline is reached. Individual outputs can fail earlier while the request returns 200. return-partial permits the current page state and available outputs; check the outputs even if none succeeded. Neither behavior guarantees that all dynamic content finished rendering.
Fixed waits must total less than the capture budget. They are the wait actions plus the waitFor value: a number you set, or the default of 500 ms (2,000 ms with frames or an XML URL) when you omit it. A selector counts as 0 ms. The capture budget depends on behavior:
fail: the fulltimeoutOpts.milliseconds.return-partial: the deadline minus a response reserve. Withformats.json, the reserve first sets aside the smaller of 10,000 ms and a quarter of the deadline for extraction. It then holds back the smaller of 5,000 ms and a quarter of what remains.
Size limits
An oversized output fails with
data: null and CONTENT_TOO_LARGE. If the combined response is too large, the largest outputs are omitted until it fits.
Failed outputs
A failed output keepsdata: null and explains the failure:
Error handling
Keep
request_id and error_code for troubleshooting. A screenshot failure, unfinished image enrichment, failed product extraction, or near-empty Markdown from a text-heavy page (such as an app shell that never rendered) can set isPartial without discarding other outputs.