> ## 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

> [BETA] The `GET /extract` method, without extract task identifier, lists all created extract tasks for the authenticated organization, with pagination.

<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 existing extract tasks. 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
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:
    get:
      tags:
        - Extract
      summary: /extract
      description: >-
        [BETA] The `GET /extract` method, without extract task identifier, lists
        all created extract tasks for the authenticated organization, with
        pagination.
      operationId: listExtract
      parameters:
        - name: page
          required: false
          in: query
          schema:
            default: 1
            minimum: 1
            type: integer
        - name: pageSize
          required: false
          in: query
          schema:
            default: 10
            maximum: 100
            minimum: 1
            type: integer
        - name: sortBy
          required: false
          in: query
          schema:
            enum:
              - createdAt
              - updatedAt
            type: string
        - name: sortDirection
          required: false
          in: query
          schema:
            default: asc
            enum:
              - asc
              - desc
            type: string
      responses:
        '200':
          description: Paginated list of extract tasks.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExtractOutput'
        '401':
          description: Unauthorized - Invalid or missing API key
      security:
        - bearer: []
components:
  schemas:
    ListExtractOutput:
      type: object
      properties:
        metadata:
          type: object
          properties:
            page:
              type: number
            pageSize:
              type: number
            total:
              type: number
            totalPages:
              type: number
          required:
            - page
            - pageSize
            - total
            - totalPages
        data:
          type: array
          items:
            $ref: '#/components/schemas/ExtractTaskOutput'
      required:
        - metadata
        - data
      id: ListExtractOutput
    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

````