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

# Extract

`POST /v1/extract`

Extracts relevant content from specific web URLs.

The legacy Extract API reference (`/v1beta/extract` endpoint) is available
[here](https://docs.parallel.ai/api-reference/legacy/extract-beta/extract), and
migration guide is [here](https://docs.parallel.ai/extract/extract-migration-guide).

## Request body

- V1ExtractRequest — Extract request.
  - `urls` string[], required — URLs to extract content from. Up to 20 URLs.
  - `objective` string, nullable — As in SearchRequest, a natural-language description of the underlying question or goal driving the request. Used together with search_queries to focus excerpts on the most relevant content.
  - `search_queries` string[], nullable — Optional keyword search queries, as in SearchRequest. Used together with objective to focus excerpts on the most relevant content.
  - `max_chars_total` integer, nullable — Upper bound on total characters across excerpts from all extracted results.
  - `session_id` string, nullable — Session identifier to track calls across separate search and extract calls, to be used as part of a larger task. Specifying it may give better contextual results for subsequent API calls.
  - `client_model` string, nullable — The model generating this request and consuming the results. Enables optimizations and tailors default settings for the model's capabilities.
  - `advanced_settings` AdvancedExtractSettings — Advanced extract configuration. These settings may impact result quality and latency unless used carefully. See https://docs.parallel.ai/search/advanced-extract-settings for more info.
    - `fetch_policy` FetchPolicy — Policy for live fetching web results.
      - `max_age_seconds` integer, nullable — Maximum age of cached content in seconds to trigger a live fetch. Minimum value 600 seconds (10 minutes).
      - `timeout_seconds` number, nullable — Timeout in seconds for fetching live content if unavailable in cache.
      - `disable_cache_fallback` boolean — If false, fallback to cached content older than max-age if live fetch fails or times out. If true, returns an error instead.
    - `excerpt_settings` V1ExcerptSettings — Optional settings for returning relevant excerpts.
      - `max_chars_per_result` integer, nullable — Optional upper bound on the total number of characters to include per url. Excerpts may contain fewer characters than this limit to maximize relevance and token efficiency.
    - `full_content` union — Controls full content extraction. Set to true to enable with defaults, false to disable, or provide FullContentSettings for fine-grained control.
      - FullContentSettings — Optional settings for returning full content.
        - `max_chars_per_result` integer, nullable — Optional limit on the number of characters to include in the full content for each url. Full content always starts at the beginning of the page and is truncated at the limit if necessary.
      - boolean

## Response `200`

Successful Response

- V1ExtractResponse — Extract response.
  - `extract_id` string, required — Extract request ID, e.g. `extract_cad0a6d2dec046bd95ae900527d880e7`
  - `results` V1ExtractResult[], required — Successful extract results.
    - `url` string, required — URL associated with the search result.
    - `title` string, nullable — Title of the webpage, if available.
    - `publish_date` string, nullable — Publish date of the webpage in YYYY-MM-DD format, if available.
    - `excerpts` string[], required — Relevant excerpted content from the URL, formatted as markdown.
    - `full_content` string, nullable — Full content from the URL formatted as markdown, if requested.
  - `errors` ExtractError[], required — Extract errors: requested URLs not in the results.
    - `url` string, required
    - `error_type` string, required — Error type.
    - `http_status_code` integer, nullable, required — HTTP status code, if available.
    - `content` string, nullable, required — Content returned for http client or server errors, if any.
  - `warnings` Warning[], nullable — Warnings for the extract request, if any.
    - `type` 'spec_validation_warning' | 'input_validation_warning' | 'warning', required — Type of warning. Note that adding new warning types is considered a backward-compatible change.
    - `message` string, required — Human-readable message.
    - `detail` object, nullable — Optional detail supporting the warning.
  - `usage` UsageItem[], nullable — Usage metrics for the extract request.
    - `name` string, required — Name of the SKU.
    - `count` integer, required — Count of the SKU.
  - `session_id` string, required — Session identifier. Echoed back from the request if provided, otherwise generated by the server. Should be passed to future search and extract calls made by the agent as part of the same larger task.

## Other responses

- `422` — Request validation error

## Changes

> 21 revisions in range; 2 could not be searched.

- **2026-04-21** `57e1c56be094` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/parallel-web/apis/parallel-api/changes/v1/extract/post.md)

---

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