---
title: "Retrieve raw web content from specified URLs"
method: POST
path: "/extract"
---

# Retrieve raw web content from specified URLs

`POST /extract`

Extract web page content from one or more specified URLs using Tavily Extract.

## Request body

- object
  - `urls` union, required
    - string — The URL to extract content from.
    - string[] — A list of URLs to extract content from.
  - `query` string — User intent for reranking extracted content chunks. When provided, chunks are reranked based on relevance to this query.
  - `chunks_per_source` integer — Chunks are short content snippets (maximum 500 characters each) pulled directly from the source. Use `chunks_per_source` to define the maximum number of relevant chunks returned per source and to control the `raw_content` length. Chunks will appear in the `raw_content` field as: `<chunk 1> [...] <chunk 2> [...] <chunk 3>`. Available only when `query` is provided. Must be between 1 and 5.
  - `extract_depth` 'basic' | 'advanced' — The depth of the extraction process. `advanced` extraction retrieves more data, including tables and embedded content, with higher success but may increase latency.`basic` extraction costs 1 credit per 5 successful URL extractions, while `advanced` extraction costs 2 credits per 5 successful URL extractions.
  - `include_images` boolean — Include a list of images extracted from the URLs in the response. Default is false.
  - `include_favicon` boolean — Whether to include the favicon URL for each result.
  - `format` 'markdown' | 'text' — The format of the extracted web page content. `markdown` returns content in markdown format. `text` returns plain text and may increase latency.
  - `timeout` number, float — Maximum time in seconds to wait for the URL extraction before timing out. Must be between 1.0 and 60.0 seconds. If not specified, default timeouts are applied based on extract_depth: 10 seconds for basic extraction and 30 seconds for advanced extraction.
  - `include_usage` boolean — Whether to include credit usage information in the response. `NOTE:`The value may be 0 if the total successful URL extractions has not yet reached 5 calls. See our [Credits & Pricing documentation](https://docs.tavily.com/documentation/api-credits) for details.

## Response `200`

Extraction results returned successfully

- object
  - `results` object[] — A list of extracted content from the provided URLs.
    - `url` string — The URL from which the content was extracted.
    - `raw_content` string — The full content extracted from the page. When `query` is provided, contains the top-ranked chunks joined by `[...]` separator.
    - `images` string[] — This is only available if `include_images` is set to `true`. A list of image URLs extracted from the page.
    - `favicon` string — The favicon URL for the result.
  - `failed_results` object[] — A list of URLs that could not be processed.
    - `url` string — The URL that failed to be processed.
    - `error` string — An error message describing why the URL couldn't be processed.
  - `response_time` number, float — Time in seconds it took to complete the request.
  - `usage` object — Credit usage details for the request.
  - `request_id` string — A unique request identifier you can share with customer support to help resolve issues with specific requests.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized - Your API key is wrong or missing.
- `429` — Too many requests - Rate limit exceeded
- `432` — Key limit or Plan Limit exceeded
- `433` — PayGo limit exceeded
- `500` — Internal Server Error - We had a problem with our server.

---

[API](https://skmtc.net/tavily/apis/tavily-search-and-extract-api.md) · [All operations](https://skmtc.net/tavily/apis/tavily-search-and-extract-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tavily/tavily-search-and-extract-api/versions/9126e7d2df75/schema)
