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

# /extract/:id

> [BETA] The `GET /extract/:id` method, with extract task identifier, retrieves a specific extract task information.

<Card title="Get your API key" icon="key" href="https://app.linkup.so" horizontal="True">
  Create a Linkup account for free to get your API key.
</Card>

<Note>This endpoint only retrieves data from an existing extract task. It does not create a new
extract task. To create a new task, use
[`POST /extract`](/pages/documentation/endpoints/extract/post).</Note>


## OpenAPI

````yaml https://api.linkup.so/v1/openapi.json GET /v1/extract/{id}
openapi: 3.1.0
info:
  title: Linkup API
  description: >-
    Search the web in real time to get trustworthy, source-backed answers. Find
    the latest news and comprehensive results from the most relevant sources.
    Use natural language queries to quickly gather facts, citations, and
    context.
  version: '1.0'
  contact: {}
servers:
  - url: https://api.linkup.so
security: []
tags: []
paths:
  /v1/extract/{id}:
    get:
      tags:
        - Extract
      summary: /extract/:id
      description: >-
        [BETA] The `GET /extract/:id` method, with extract task identifier,
        retrieves a specific extract task information.
      operationId: getExtract
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      responses:
        '200':
          description: Extract task details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractTaskOutput'
        '400':
          description: Bad Request - Invalid parameters
        '401':
          description: Unauthorized - Invalid or missing API key
      security:
        - bearer: []
components:
  schemas:
    ExtractTaskOutput:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          description: The date and time when the task was created.
          example: '2026-01-01T00:00:00.000Z'
        error:
          anyOf:
            - type: string
            - type: 'null'
          description: The error message if the task failed.
        id:
          type: string
          description: The unique identifier of the task.
          example: 01234-abcd-56789
        status:
          type: string
          enum:
            - completed
            - failed
            - pending
            - processing
          description: The current status of the task.
          example: completed
        updatedAt:
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
          description: The date and time when the task status was last updated.
          example: '2026-01-01T00:00:00.000Z'
        input:
          $ref: '#/components/schemas/ExtractTaskInput'
        output:
          anyOf:
            - $ref: '#/components/schemas/ExtractOutput'
            - type: 'null'
        type:
          type: string
          const: extract
      required:
        - createdAt
        - error
        - id
        - status
        - updatedAt
        - input
        - output
        - type
      description: >-
        [BETA] Extract task output. The extract task type is in beta; its
        behavior and response shape may change.
      id: ExtractTaskOutput
    ExtractTaskInput:
      type: object
      properties:
        q:
          description: >-
            [BETA] The natural-language query describing which rows to extract
            and what each row should contain.
          type: string
        schema:
          default: null
          format: json
          description: >-
            [BETA] Optional JSON schema describing a single extracted row. When
            provided, every returned row must match this schema.
        url:
          description: '[BETA] The seed URL the extract task should start from.'
          example: https://example.com/team
          format: uri
          type: string
        verifyUrls:
          default: false
          description: >-
            [BETA] Defines whether URLs found in extracted rows should be
            checked for reachability after extraction. Defaults to false.
          type: boolean
      required:
        - q
        - url
      description: >-
        [BETA] Input for an extract task. The extract task type is in beta; its
        behavior and response shape may change.
      id: ExtractTaskInput
    ExtractOutput:
      type: object
      properties:
        creditsUsed:
          type: number
          minimum: 0
          description: '[BETA] Credits used by this extract task.'
        resultUrl:
          type: string
          format: uri
          description: >-
            [BETA] URL to download the extracted rows as a newline-delimited
            JSON (NDJSON) file. The URL remains valid for 24 hours.
        rowsReturned:
          type: integer
          minimum: 0
          maximum: 9007199254740991
      required:
        - creditsUsed
        - resultUrl
        - rowsReturned
      description: >-
        [BETA] Output for an extract task. The extracted rows are stored as an
        NDJSON file and exposed through a time-limited URL. The extract task
        type is in beta; its behavior and response shape may change.
      id: ExtractOutput
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````