---
title: "/tasks"
method: POST
path: "/v1/tasks"
tags: ["Tasks"]
---

# /tasks

`POST /v1/tasks`

The `POST /tasks` method creates a list of tasks.

## Request body

- TaskInput[]
  - union
    - object
      - `input` SearchTaskInput, required
        - `excludeDomains` string[] — The domains you want to exclude of the search. By default, don't restrict the search.
        - `fromDate` string, nullable — The date from which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be before `toDate`, if provided, and later than 1970-01-01.
        - `includeDomains` string[] — The domains you want to search on. By default, don't restrict the search. You can provide up to 100 domains.
        - `q` string, required — The natural language question for which you want to retrieve context.
        - `structuredOutputSchema` unknown
        - `toDate` string, nullable — The date until which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be later than `fromDate`, if provided, or than 1970-01-01.
        - `depth` 'deep' | 'fast' | 'standard', required — Defines the precision of the search. [BETA] `fast` is a sub-second search mode optimized for simple, focused queries; `standard` leverages agentic search to handle broader queries spanning multiple topics or sources, while remaining fast; `deep` leverages several iterations of agentic search to return comprehensive results, optimizing for coverage.
        - `includeImages` union — Defines whether the API should include images in its results.
          - boolean
          - string
        - `includeInlineCitations` union — Relevant only when `outputType` is `sourcedAnswer`. Defines whether the answer should include inline citations.
          - boolean
          - string
        - `includeSources` union — Relevant only when `outputType` is `structured`. Defines whether the response should include sources. **Please note that it modifies the schema of the response, see below**
          - boolean
          - string
        - `maxResults` number — The maximum number of results to return. The number of results will always be ≤ to maxResults.
        - `outputType` 'searchResults' | 'sourcedAnswer' | 'structured', required — The type of output you want to get. Use `structured` for a custom-formatted response defined by `structuredOutputSchema`.
      - `type` 'search', required
    - object
      - `input` FetchTaskInput, required
        - `extractImages` union — Defines whether the API should extract the images from the webpage in its response.
          - boolean
          - string
        - `includeRawHtml` union — Defines whether the API should include the raw HTML of the webpage in its response.
          - boolean
          - string
        - `renderJs` union — Defines whether the API should render the JavaScript of the webpage.
          - boolean
          - string
        - `url` string, uri, required — The URL of the webpage you want to fetch.
      - `type` 'fetch', required
    - object
      - `input` ResearchTaskInput, required
        - `excludeDomains` string[] — The domains you want to exclude of the search. By default, don't restrict the search.
        - `fromDate` string, nullable — The date from which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be before `toDate`, if provided, and later than 1970-01-01.
        - `includeDomains` string[] — The domains you want to search on. By default, don't restrict the search. You can provide up to 100 domains.
        - `q` string, required — The natural language question for which you want to retrieve context.
        - `structuredOutputSchema` unknown
        - `toDate` string, nullable — The date until which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be later than `fromDate`, if provided, or than 1970-01-01.
        - `mode` 'answer' | 'auto' | 'investigate' | 'research' — Pin the research agent mode. Omit to let the agent auto-classify per request based on the question.
        - `outputType` 'sourcedAnswer' | 'structured', required — The type of output you want to get. Use `structured` for a custom-formatted response defined by `structuredOutputSchema`.
        - `reasoningDepth` 'L' | 'M' | 'S' | 'XL' — Pin the reasoning depth (S < M < L < XL). Defaults to L when omitted. Higher depths trade latency for thoroughness.
      - `type` 'research', required
    - object
      - `input` ExtractTaskInput, required — [BETA] Input for an extract task. The extract task type is in beta; its behavior and response shape may change.
        - `q` string, required — [BETA] The natural-language query describing which rows to extract and what each row should contain.
        - `schema` unknown
        - `url` string, uri, required — [BETA] The seed URL the extract task should start from.
        - `verifyUrls` boolean — [BETA] Defines whether URLs found in extracted rows should be checked for reachability after extraction. Defaults to false.
      - `type` 'extract', required — [BETA] Extract task type. This feature is in beta.

## Response `200`

Tasks created successfully.

- TaskOutputOutput[]
  - union
    - object
      - `createdAt` string, date-time, required — The date and time when the task was created.
      - `error` string, nullable, required — The error message if the task failed.
      - `id` string, required — The unique identifier of the task.
      - `status` 'completed' | 'failed' | 'pending' | 'processing', required — The current status of the task.
      - `updatedAt` string, date-time, required — The date and time when the task status was last updated.
      - `input` SearchTaskInputOutput, required
        - `excludeDomains` string[] — The domains you want to exclude of the search. By default, don't restrict the search.
        - `fromDate` string, date — The date from which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be before `toDate`, if provided, and later than 1970-01-01.
        - `includeDomains` string[] — The domains you want to search on. By default, don't restrict the search. You can provide up to 100 domains.
        - `q` string, required — The natural language question for which you want to retrieve context.
        - `structuredOutputSchema` object — Required only when `outputType` is `structured`. Provide a JSON schema object representing the desired response format. The root must be of type `object`.
        - `toDate` string, date, required — The date until which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be later than `fromDate`, if provided, or than 1970-01-01.
        - `depth` 'deep' | 'fast' | 'standard', required — Defines the precision of the search. [BETA] `fast` is a sub-second search mode optimized for simple, focused queries; `standard` leverages agentic search to handle broader queries spanning multiple topics or sources, while remaining fast; `deep` leverages several iterations of agentic search to return comprehensive results, optimizing for coverage.
        - `includeImages` boolean, required — Defines whether the API should include images in its results.
        - `includeInlineCitations` boolean, required — Relevant only when `outputType` is `sourcedAnswer`. Defines whether the answer should include inline citations.
        - `includeSources` boolean, required — Relevant only when `outputType` is `structured`. Defines whether the response should include sources. **Please note that it modifies the schema of the response, see below**
        - `maxResults` number — The maximum number of results to return. The number of results will always be ≤ to maxResults.
        - `outputType` 'searchResults' | 'sourcedAnswer' | 'structured', required — The type of output you want to get. Use `structured` for a custom-formatted response defined by `structuredOutputSchema`.
      - `output` union, required
        - SourcedAnswerOutputOutput
          - `answer` string, required — The answer to your question.
          - `sources` SourceOutput[], required — List of sources used to answer the question.
            - `name` string, required — The title or name of the resource.
            - `url` string, uri, required — The URL of the resource.
            - `favicon` union, required — The favicon URL, if available.
              - …
            - `snippet` string, required — Extracted text content associated with the source.
        - SearchResultsOutputOutput
          - `results` union[], required — List of search results.
            - union
              - …
        - StructuredWithSourcesOutputOutput
          - `data` object, required — The object corresponding to the JSON schema you used in the `structuredOutputSchema` param.
          - `sources` union[], required — List of sources used to answer the question.
            - union
              - …
        - StructuredOutputOutput
      - `type` 'search', required
    - object
      - `createdAt` string, date-time, required — The date and time when the task was created.
      - `error` string, nullable, required — The error message if the task failed.
      - `id` string, required — The unique identifier of the task.
      - `status` 'completed' | 'failed' | 'pending' | 'processing', required — The current status of the task.
      - `updatedAt` string, date-time, required — The date and time when the task status was last updated.
      - `input` FetchTaskInputOutput, required
        - `extractImages` boolean, required — Defines whether the API should extract the images from the webpage in its response.
        - `includeRawHtml` boolean, required — Defines whether the API should include the raw HTML of the webpage in its response.
        - `renderJs` boolean, required — Defines whether the API should render the JavaScript of the webpage.
        - `url` string, uri, required — The URL of the webpage you want to fetch.
      - `output` FetchOutputOutput, required
        - `images` FetchImageOutputOutput[] — List of images extracted from the webpage.
          - `alt` string, required — The alt text of the image.
          - `url` string, uri, required — The URL of the image.
        - `markdown` string, required — The clean markdown version of the webpage.
        - `rawHtml` string — The raw HTML version of the webpage.
      - `type` 'fetch', required
    - object
      - `createdAt` string, date-time, required — The date and time when the task was created.
      - `error` string, nullable, required — The error message if the task failed.
      - `id` string, required — The unique identifier of the task.
      - `status` 'completed' | 'failed' | 'pending' | 'processing', required — The current status of the task.
      - `updatedAt` string, date-time, required — The date and time when the task status was last updated.
      - `input` ResearchTaskInputOutput, required
        - `excludeDomains` string[] — The domains you want to exclude of the search. By default, don't restrict the search.
        - `fromDate` string, date — The date from which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be before `toDate`, if provided, and later than 1970-01-01.
        - `includeDomains` string[] — The domains you want to search on. By default, don't restrict the search. You can provide up to 100 domains.
        - `q` string, required — The natural language question for which you want to retrieve context.
        - `structuredOutputSchema` object — Required only when `outputType` is `structured`. Provide a JSON schema object representing the desired response format. The root must be of type `object`.
        - `toDate` string, date, required — The date until which the search results should be considered, in ISO 8601 format (YYYY-MM-DD). It must be later than `fromDate`, if provided, or than 1970-01-01.
        - `mode` 'answer' | 'auto' | 'investigate' | 'research', required — Pin the research agent mode. Omit to let the agent auto-classify per request based on the question.
        - `outputType` 'sourcedAnswer' | 'structured', required — The type of output you want to get. Use `structured` for a custom-formatted response defined by `structuredOutputSchema`.
        - `reasoningDepth` 'L' | 'M' | 'S' | 'XL', required — Pin the reasoning depth (S < M < L < XL). Defaults to L when omitted. Higher depths trade latency for thoroughness.
      - `output` union, required
        - ResearchSourcedAnswerOutputOutput
          - `answer` string, required — The answer to your question.
          - `sources` SourceOutput[], required — List of sources used to answer the question.
            - `name` string, required — The title or name of the resource.
            - `url` string, uri, required — The URL of the resource.
            - `favicon` union, required — The favicon URL, if available.
              - …
            - `snippet` string, required — Extracted text content associated with the source.
        - StructuredOutputOutput
      - `type` 'research', required
    - object — [BETA] Extract task output. The extract task type is in beta; its behavior and response shape may change.
      - `createdAt` string, date-time, required — The date and time when the task was created.
      - `error` string, nullable, required — The error message if the task failed.
      - `id` string, required — The unique identifier of the task.
      - `status` 'completed' | 'failed' | 'pending' | 'processing', required — The current status of the task.
      - `updatedAt` string, date-time, required — The date and time when the task status was last updated.
      - `input` ExtractTaskInputOutput, required — [BETA] Input for an extract task. The extract task type is in beta; its behavior and response shape may change.
        - `q` string, required — [BETA] The natural-language query describing which rows to extract and what each row should contain.
        - `schema` object — [BETA] Optional JSON schema object describing a single extracted row. When provided, every returned row must match this schema.
        - `url` string, uri, required — [BETA] The seed URL the extract task should start from.
        - `verifyUrls` boolean — [BETA] Defines whether URLs found in extracted rows should be checked for reachability after extraction. Defaults to false.
      - `output` ExtractOutputOutput, required — [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.
        - `creditsUsed` number, required — [BETA] Credits used by this extract task.
        - `resultUrl` string, uri, required — [BETA] URL to download the extracted rows as a newline-delimited JSON (NDJSON) file. The URL remains valid for 24 hours.
        - `rowsReturned` integer, required
      - `type` 'extract', required

## Other responses

- `400` — Bad Request - Invalid parameters
- `401` — Unauthorized - Invalid or missing API key
- `429` — Too Many Requests - Rate limit exceeded or insufficient credits

---

[API](https://skmtc.dev/linkup/apis/linkup-api.md) · [All operations](https://skmtc.dev/linkup/apis/linkup-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/linkup/linkup-api/revisions/1e5050ee899a/schema)
