> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapio.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Get job status

> Poll the current status and metadata for an async job.



## OpenAPI

````yaml get /v1/jobs/{id}
openapi: 3.1.0
info:
  title: Scrapio
  version: 1.0.0
  description: >-
    Turn any URL into structured data. Fetch raw HTML, crawl sites, extract
    structured content, interact with dynamic pages, and search the web through
    one API.
  contact:
    name: Scrapio Support
    url: https://scrapio.dev
  license:
    name: Proprietary
servers:
  - url: https://api.scrapio.dev
    description: Production
security:
  - bearerAuth: []
tags:
  - name: System
  - name: Fetch
  - name: Crawl
  - name: Map
  - name: Interact
  - name: Search
  - name: Google
  - name: Fast Search
  - name: Jobs
  - name: YouTube
  - name: Amazon
  - name: Walmart
  - name: Booking
  - name: Agoda
  - name: Airbnb
  - name: ChatGPT
  - name: Perplexity
  - name: Gemini
  - name: Bing
  - name: Reddit
  - name: TikTok
  - name: Apple App Store
  - name: Target
  - name: Monitors
paths:
  /v1/jobs/{id}:
    get:
      tags:
        - Jobs
      summary: Get async job status
      description: >-
        Returns the current status and metadata for an async job. Poll this
        endpoint until `result_available` is `true` or the status is `failed` or
        `cancelled`, then call `GET /v1/jobs/{id}/result` to retrieve the
        output.
      operationId: getJob
      parameters:
        - name: id
          in: path
          required: true
          description: The job identifier returned when the job was created.
          schema:
            type: string
            example: job_abc123
      responses:
        '200':
          description: Job status and metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobResponse'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Job not found or expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl https://api.scrapio.dev/v1/jobs/job_abc123 \
              -H "Authorization: Bearer $SCRAPIO_API_KEY"
        - lang: Python
          label: Python
          source: >-
            import os, time, requests

            headers = {"Authorization": f"Bearer
            {os.environ['SCRAPIO_API_KEY']}"}

            while True:
                r = requests.get("https://api.scrapio.dev/v1/jobs/job_abc123", headers=headers).json()
                if r["result_available"] or r["status"] in ("failed", "cancelled"):
                    break
                time.sleep(3)
        - lang: JavaScript
          label: Node.js
          source: >-
            const headers = { Authorization: `Bearer
            ${process.env.SCRAPIO_API_KEY}` };

            let status;

            do {
              await new Promise(r => setTimeout(r, 3000));
              status = await fetch("https://api.scrapio.dev/v1/jobs/job_abc123", { headers }).then(r => r.json());
            } while (!status.result_available &&
            !["failed","cancelled"].includes(status.status));
components:
  schemas:
    JobResponse:
      anyOf:
        - type: object
          properties:
            request_id:
              type: string
            job_id:
              type: string
            job_type:
              type: string
              enum:
                - fetch
            status:
              type: string
              enum:
                - queued
                - running
                - completed
                - partial
                - failed
                - cancelled
            mode:
              type: string
              enum:
                - async
            created_at:
              type: string
            started_at:
              type: string
            completed_at:
              type: string
            result_available:
              type: boolean
            outputs:
              type: object
              properties:
                html:
                  type: string
                markdown:
                  type: string
                json:
                  type: object
                  propertyNames:
                    type: string
                  additionalProperties: {}
                screenshot:
                  type: object
                  properties:
                    url:
                      type: string
                      format: uri
                  required:
                    - url
              additionalProperties: false
            diagnostics:
              anyOf:
                - type: object
                  properties:
                    outcome:
                      type: string
                      enum:
                        - partial
                    output_failures:
                      type: array
                      items:
                        type: object
                        properties:
                          output:
                            type: string
                            enum:
                              - html
                              - markdown
                              - json
                              - screenshot
                            description: Which output formats to return
                          code:
                            type: string
                          message:
                            type: string
                        required:
                          - output
                          - code
                          - message
                        additionalProperties: false
                  required:
                    - outcome
                    - output_failures
                  additionalProperties: false
                - type: object
                  properties:
                    outcome:
                      type: string
                      enum:
                        - failed
                    retryable:
                      type: boolean
                    blocked:
                      type: boolean
                    timed_out:
                      type: boolean
                  required:
                    - outcome
                    - retryable
                  additionalProperties: false
            diagnostics_summary:
              type: string
            error:
              type: object
              properties:
                code:
                  type: string
                message:
                  type: string
                diagnostics:
                  type: object
                  properties:
                    outcome:
                      type: string
                      enum:
                        - failed
                    retryable:
                      type: boolean
                    blocked:
                      type: boolean
                    timed_out:
                      type: boolean
                  required:
                    - outcome
                    - retryable
                  additionalProperties: false
              required:
                - code
                - message
              additionalProperties: false
          required:
            - request_id
            - job_id
            - job_type
            - status
            - mode
            - created_at
            - result_available
          additionalProperties: false
        - type: object
          properties:
            request_id:
              type: string
            job_id:
              type: string
            job_type:
              type: string
              enum:
                - interact
                - search
                - crawl
                - map
            status:
              type: string
              enum:
                - queued
                - running
                - completed
                - partial
                - failed
                - cancelled
            mode:
              type: string
              enum:
                - async
            created_at:
              type: string
            started_at:
              type: string
            completed_at:
              type: string
            result_available:
              type: boolean
            result:
              type: object
              propertyNames:
                type: string
              additionalProperties: {}
            diagnostics_summary:
              type: string
            error:
              type: object
              properties:
                code:
                  type: string
                message:
                  type: string
                diagnostics:
                  type: object
                  properties:
                    outcome:
                      type: string
                      enum:
                        - failed
                    retryable:
                      type: boolean
                    blocked:
                      type: boolean
                    timed_out:
                      type: boolean
                  required:
                    - outcome
                    - retryable
                  additionalProperties: false
              required:
                - code
                - message
              additionalProperties: false
          required:
            - request_id
            - job_id
            - job_type
            - status
            - mode
            - created_at
            - result_available
          additionalProperties: false
        - type: object
          properties:
            request_id:
              type: string
            job_id:
              type: string
            job_type:
              type: string
              enum:
                - youtube_search_crawl
            status:
              type: string
              enum:
                - queued
                - running
                - completed
                - failed
                - cancelled
            mode:
              type: string
              enum:
                - async
            created_at:
              type: string
            started_at:
              type: string
            completed_at:
              type: string
            result_available:
              type: boolean
            result:
              type: object
              propertyNames:
                type: string
              additionalProperties: {}
            diagnostics_summary:
              type: string
            error:
              type: object
              properties:
                code:
                  type: string
                message:
                  type: string
                diagnostics:
                  type: object
                  properties:
                    outcome:
                      type: string
                      enum:
                        - failed
                    retryable:
                      type: boolean
                    blocked:
                      type: boolean
                    timed_out:
                      type: boolean
                  required:
                    - outcome
                    - retryable
                  additionalProperties: false
              required:
                - code
                - message
              additionalProperties: false
          required:
            - request_id
            - job_id
            - job_type
            - status
            - mode
            - created_at
            - result_available
          additionalProperties: false
    ErrorResponse:
      type: object
      properties:
        request_id:
          type: string
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
          required:
            - code
            - message
        diagnostics:
          type: object
          properties:
            outcome:
              type: string
              enum:
                - failed
            retryable:
              type: boolean
            blocked:
              type: boolean
            timed_out:
              type: boolean
          required:
            - outcome
            - retryable
          additionalProperties: false
      required:
        - request_id
        - error
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key

````