Skip to main content
GET
Get asynchronous job status

Overview

Check the status and retrieve results of an asynchronous job (e.g., submitted via /extract with async: true). Poll this endpoint periodically until the job reaches a terminal state (completed, failed, canceled, or expired).

Response

The response includes job metadata and, when completed, the full extraction results.

Response Fields

Job Status Values

Large Results (is_url)

When the output is large (at or above 5 MB), or when a spreadsheet extraction uses default URL delivery, result is replaced with a pointer instead of inline data. Fetch url to download the full result JSON; the downloaded payload has the normal result shape.

Polling Strategy

We recommend polling with exponential backoff:

Example Usage

Check Job Status

Complete Async Workflow

For webhook-based notifications instead of polling, see the Webhooks documentation.

Authorizations

x-api-key
string
header
required

Path Parameters

jobId
string
required

Identifier returned from an async job submission.

Response

Current job status payload

Current status and metadata for an asynchronous job.

job_id
string
required

Identifier assigned to the asynchronous job.

status
enum<string>
required

Lifecycle status for an asynchronous job.

Available options:
pending,
processing,
completed,
failed,
canceled
created_at
string<date-time>
required

Timestamp when the job was accepted.

updated_at
string<date-time>

Timestamp of the last status update, if available.

result
object

Structured payload returned when the job completes. For large extractions and spreadsheet default URL delivery this object contains is_url: true and a single-use url to download the full result via GET /results/{jobId}.

error
string

Error message describing why the job failed, if applicable.