---
title: "Extract"
method: POST
path: "/v1beta/extract"
tags: ["Extract (Beta)"]
---

# Extract

`POST /v1beta/extract`

Extracts relevant content from specific web URLs.

## Headers

- `parallel-beta` string, nullable

## Request body

- ExtractRequest — Extract request.
  - `excerpts` union — Include excerpts from each URL relevant to the search objective and queries. Note that if neither objective nor search_queries is provided, excerpts are redundant with full content.
    - boolean
    - ExcerptSettings — 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.
      - `max_chars_total` integer, nullable — Optional upper bound on the total number of characters to include across all urls. Results may contain fewer characters than this limit to maximize relevance and token efficiency. Values below 1000 will be automatically set to 1000. This overall limit applies in addition to max_chars_per_result.
  - `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 — Include full content from each URL. Note that if neither objective nor search_queries is provided, excerpts are redundant with full content.
    - boolean
    - 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.
  - `objective` string, nullable — If provided, focuses extracted content on the specified search objective.
  - `search_queries` string[], nullable — If provided, focuses extracted content on the specified keyword search queries.
  - `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

## Response `200`

Successful Response

- ExtractResponse — Fetch result.
  - `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` ExtractResult[], required — Successful extract results.
    - `excerpts` string[], nullable — 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.
  - `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 breaking, 4 info
  - for the `header` request parameter `parallel-beta`, default value `search-extract-2025-10-10` was removed
  - added the new optional request property `session_id`
  - `header` request parameter `parallel-beta` was deprecated
  - `header` request parameter `parallel-beta` list-of-types was widened by adding types `null`
  - …1 more
- **2026-01-29** `31ff2f5e2e00` — 1 info
  - the `header` request parameter `parallel-beta` became optional
- **2026-01-13** `105d778ad64d` — 2 breaking, 6 info
  - the `header` request parameter `parallel-beta` became required
  - the `error` response's property type/format changed from ``/`` to `object`/`` for status `422`
  - added the new optional request property `excerpts/anyOf[subschema #2: ExcerptSettings]/max_chars_total`
  - added the optional property `error/detail` to the response with the `422` status
  - …4 more
- **2025-11-06** `a2d634b57a8e` — 5 breaking, 5 info
  - `header` request parameter `parallel-beta` list-of-types was narrowed by removing types `null`
  - the response property `results/items/excerpts` became optional for the status `200`
  - the response property `results/items/full_content` became optional for the status `200`
  - the response property `results/items/publish_date` became optional for the status `200`
  - …6 more
- **2025-10-21** `e853fc79f3b4` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/parallel-web/apis/parallel-api/changes/v1beta/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)
