---
title: "/extract"
method: POST
path: "/v1/extract"
tags: ["Extract"]
---

# /extract

`POST /v1/extract`

[BETA] The `POST /extract` method creates an asynchronous extract task.

## Request body

- PostExtractInput — [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.

## Response `200`

Extract task created successfully.

- PostExtractOutputOutput — [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
- `403` — Forbidden - Extract tasks are not enabled for this organization.
- `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)
