---
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 is available [here](https://docs.parallel.ai/api-reference/legacy/extract-beta/extract).

## Request body

- V1ExtractRequest — Extract request.
  - `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.
    - `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. Values below 1000 will be automatically set to 1000.
    - `fetch_policy` FetchPolicy — Policy for live fetching web results.
      - `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.
      - `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.
    - `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
  - `client_model` string, nullable — The model generating this request and consuming the results. Enables optimizations and tailors default settings for the model's capabilities.
  - `max_chars_total` integer, nullable — Upper bound on total characters across excerpts from all extracted results.
  - `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.
  - `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.
  - `urls` string[], required — URLs to extract content from. Up to 20 URLs.

## Response `200`

Successful Response

- V1ExtractResponse — Extract response.
  - `errors` ExtractError[], required — Extract errors: requested URLs not in the results.
    - `content` string, nullable, required — Content returned for http client or server errors, if any.
    - `error_type` string, required — Error type.
    - `http_status_code` integer, nullable, required — HTTP status code, if available.
    - `url` string, required
  - `extract_id` string, required — Extract request ID, e.g. `extract_cad0a6d2dec046bd95ae900527d880e7`
  - `results` V1ExtractResult[], required — Successful extract results.
    - `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.
    - `publish_date` string, nullable — Publish date of the webpage in YYYY-MM-DD format, if available.
    - `title` string, nullable — Title of the webpage, if available.
    - `url` string, required — URL associated with the search result.
  - `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.
  - `usage` UsageItem[], nullable — Usage metrics for the extract request.
    - `count` integer, required — Count of the SKU.
    - `name` string, required — Name of the SKU.
  - `warnings` Warning[], nullable — Warnings for the extract request, if any.
    - `detail` object, nullable — Optional detail supporting the warning.
    - `message` string, required — Human-readable message.
    - `type` 'spec_validation_warning' | 'input_validation_warning' | 'warning', required — Type of warning. Note that adding new warning types is considered a backward-compatible change.

## Other responses

- `422` — Request validation error

## Changes

- **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/57e1c56be094/schema)
