Validated results

Treat result validation as part of the request lifecycle.

A completed job means acquisition finished and a result is available; it does not establish that the result is correct for your application's purpose. Validate the returned shape, required fields, and any business rules before using it. Keep the request ID with the stored result for traceability.

StatusMeaningResult endpoint
pending, running, solving_captchaWork is still in progress.Do not call it yet.
completedThe request or extraction is ready.GET .../result returns 200.
failedWork ended without a usable result.Inspect error/user_error; resubmit if appropriate.
cancelledWork was cancelled.No successful result is available.

Recommended checks:

  • Confirm the terminal request state is successful before fetching the result.
  • Check the response content type and required fields.
  • Record request_id, timestamps, route mode, and any billing metadata.
  • Inspect result_meta.proxy_usage_billing for the separately settled measured traffic charge. A status of unavailable with null byte counts means usage could not be measured, not that usage was zero.
  • Handle 409 RESULT_NOT_READY by continuing the status poll and 410 RESULT_EXPIRED by resubmitting when appropriate. Results are retained for seven days after completion.

A failed scrape can still include a charge for an external CAPTCHA task that was successfully solved before a later scrape step failed. See billing for refund and traffic-settlement behavior; do not treat a terminal status or refunded base debit as proof that every separate charge was zero.

For typed output, see structured extraction. For billing behavior, see billing and the response schemas in the API reference.

Last updated on