Skip to main content
GET
/
parse
/
{job_id}
curl -X 'GET' \
  'https://prod.visionapi.unsiloed.ai/parse/04a7a6d8-5ef7-465a-b22a-8a98e7104dd9' \
  -H 'accept: application/json' \
  -H 'api-key: your-api-key'
{
  "job_id": "04a7a6d8-5ef7-465a-b22a-8a98e7104dd9",
  "status": "Starting",
  "created_at": "2025-10-22T06:51:16.870302Z"
}

Overview

The Get Parse Job Status endpoint allows you to check the current status of parsing jobs and retrieve the complete results when processing is complete. This endpoint is specifically designed for the parsing API and returns comprehensive document analysis including text extraction, image recognition, table parsing, and OCR data.
Parsing jobs are processed asynchronously. Use this endpoint to poll for completion and retrieve results when the job status is “Succeeded”.

Response

job_id
string
Unique identifier for the parsing job
status
string
Current job status: “Starting”, “Processing”, “Succeeded”, or “Failed”
created_at
string
Timestamp when the job was created
started_at
string
Timestamp when processing started (only present when status is not “Starting”)
finished_at
string
Timestamp when processing completed (only present when status is “Succeeded” or “Failed”)
total_chunks
number
Number of chunks in the document (only present when status is “Succeeded”)
chunks
array
Array of document chunks with detailed analysis (only present when status is “Succeeded”)
curl -X 'GET' \
  'https://prod.visionapi.unsiloed.ai/parse/04a7a6d8-5ef7-465a-b22a-8a98e7104dd9' \
  -H 'accept: application/json' \
  -H 'api-key: your-api-key'
{
  "job_id": "04a7a6d8-5ef7-465a-b22a-8a98e7104dd9",
  "status": "Starting",
  "created_at": "2025-10-22T06:51:16.870302Z"
}

Job Status Values

Job has been created and is waiting to be processed. This is the initial status when a parsing job is first created.
Job is currently being processed. This includes PDF parsing, text extraction, image analysis, table detection, and OCR processing.
Job has completed successfully. The response includes the complete analysis results with all extracted data, images, and metadata.
Job failed during processing. Check the message field for details about what went wrong.

Polling Strategy

For long-running parsing jobs, implement a polling strategy to check status periodically:
import requests
import time

def poll_parse_job(job_id, api_key, max_wait_time=300, poll_interval=5):
    """Poll a parsing job until completion or timeout"""
    
    start_time = time.time()
    headers = {"api-key": api_key}
    
    while time.time() - start_time < max_wait_time:
        response = requests.get(
            f"https://prod.visionapi.unsiloed.ai/parse/{job_id}",
            headers=headers
        )
        
        if response.status_code == 200:
            job = response.json()
            
            if job['status'] == 'Succeeded':
                return job
            elif job['status'] == 'Failed':
                raise Exception(f"Job failed: {job.get('message', 'Unknown error')}")
            elif job['status'] in ['Starting', 'Processing']:
                print(f"Job status: {job['status']} - waiting...")
                time.sleep(poll_interval)
            else:
                print(f"Unknown status: {job['status']}")
                time.sleep(poll_interval)
        else:
            print(f"Error checking status: {response.status_code}")
            time.sleep(poll_interval)
    
    raise Exception("Job polling timed out")

# Usage
try:
    result = poll_parse_job("04a7a6d8-5ef7-465a-b22a-8a98e7104dd9", "your-api-key")
    print("Job completed successfully!")
    print(f"Total chunks: {result['total_chunks']}")
except Exception as e:
    print(f"Error: {e}")

Segment Types

When a job succeeds, the response includes detailed analysis of different document segments:

Picture

Images and graphics within the document, including logos, charts, and illustrations.

SectionHeader

Document headers and titles that define section boundaries.

Text

Regular text content including paragraphs, sentences, and individual text elements.

Table

Tabular data with structured rows and columns.

Caption

Text captions associated with images or figures. Each segment includes:
  • segment_type: Type of content detected
  • content: Extracted text content
  • image: URL to extracted image (if applicable)
  • page_number: Page where the segment appears
  • confidence: Confidence score for the extraction
  • bbox: Precise coordinates of the segment
  • html: HTML-formatted content
  • markdown: Markdown-formatted content
  • ocr: Detailed OCR data with individual text elements

Error Handling

Common Error Scenarios

  1. Job Not Found: Invalid or expired job ID
  2. Invalid API Key: Authentication failed
  3. Processing Timeout: Job took too long to complete
  4. Server Error: Internal processing error

Best Practices

  • Polling Frequency: Check status every 5-10 seconds for long-running jobs
  • Timeout Handling: Implement reasonable timeouts to prevent infinite polling
  • Error Recovery: Handle failed jobs gracefully with retry logic
  • API Key Security: Keep your API key secure and never expose it in client-side code

Rate Limits

  • Status Checks: Rate limits apply to prevent abuse
  • Concurrent Jobs: Limited number of active parsing jobs per API key
  • Request Frequency: Avoid excessive polling (recommended: 5-10 second intervals)
Check your API plan for specific limits and quotas.

Authorizations

api-key
string
header
required

Path Parameters

job_id
string
required

The unique identifier of the parsing job to check

Response

Job status retrieved successfully

job_id
string

Unique identifier for the parsing job

status
string

Current job status: Starting, Processing, Succeeded, or Failed

created_at
string

Timestamp when the job was created

started_at
string

Timestamp when processing started

finished_at
string

Timestamp when processing completed

total_chunks
number

Number of chunks in the document

chunks
any[]

Array of document chunks with detailed analysis