Skip to main content
Billing note Billed per successfully extracted URL: 3.72 credits (basic) or 7.44 (advanced), rounded up per request. The full URL count is reserved, failed URLs are refunded, and a request whose URLs all fail is billed one URL.
TavilyFastHigh

Tavily Extract

Extract clean, LLM-ready content (markdown or text) from up to 20 web pages in one call, optionally reranked to a query. Billed per successfully extracted URL - about 4 credits per URL (basic), failed URLs are refunded.

4 credits
per extracted URL (3.72/URL basic, 7.44 advanced; failed URLs refunded)
Up to 20 URLs per request, processed together
Clean main content as markdown or plain text
Optional query reranks the extracted chunks by relevance
advanced depth extracts tables and embedded content
Per-URL failures reported in failed_results and not billed

Run it right now

Test this model instantly in the Console Playground โ€” no code required

Sign in to try

Use with AI Assistant

Copy usage instructions for Claude, ChatGPT, or other AI

Quick Start

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "tavily/extract",
  "input": {
    "urls": [
      "https://docs.tavily.com/documentation/api-credits"
    ],
    "extract_depth": "basic",
    "format": "markdown"
  }
}'

Parameters

ParameterTypeRequiredDefaultDescription
urlsarrayYes-Web page URLs to extract (1-20).
querystringNo-Optional intent to rerank the extracted chunks by relevance. With a query, raw_content holds the top chunks joined by [...].
chunks_per_sourceintegerNo-Chunks per URL when query is set (1-5, default 3).
extract_depthstringNobasicadvanced also extracts tables and embedded content and succeeds on more pages, at 2x price and higher latency.
basicadvanced
formatstringNomarkdownFormat of raw_content.
markdowntext
include_imagesbooleanNofalseAdd the image URLs found on each page.
include_faviconbooleanNofalseAdd each page's favicon URL.
timeoutnumberNo-Per-request timeout in seconds (1-60). Default 10s for basic, 30s for advanced.

Common Parameters

Common parameters used when calling POST /v1/predictions.

ParameterTypeRequiredDefaultDescription
modelstringYes-Model identifier
inputobjectYes-Object containing the model-specific parameters from the table above
output_folderstringNo-Folder path for output files (max 256 chars, '..' not allowed)
webhook_urlstringNo-Webhook URL to call on completion
is_publicbooleanNofalseIf true, output files are also available via permanent public URLs

Examples

Extract a page as markdown

Returns the main content of one page.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "tavily/extract",
  "input": {
    "urls": [
      "https://docs.tavily.com/documentation/api-credits"
    ],
    "extract_depth": "basic",
    "format": "markdown"
  }
}'

Rerank several pages to a question

Top 3 chunks per page that answer the query.

curl -X POST "https://api.core.today/v1/predictions" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cdt_your_api_key" \
  -d '{
  "model": "tavily/extract",
  "input": {
    "urls": [
      "https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
      "https://en.wikipedia.org/wiki/Large_language_model"
    ],
    "query": "how does retrieval reduce hallucination",
    "chunks_per_source": 3
  }
}'

Tips & Best Practices

1The result is Tavily's JSON as-is: results[] (url, raw_content), failed_results[] (url, error) and usage
2Check failed_results even on success - pages that block bots or need login fail and are refunded
3Use advanced for pages with tables or heavy JavaScript; it costs twice as much per URL
4Pair with tavily/search: search first, then extract the pages you want in full

Use Cases

Feeding the pages a search returned into an LLM context (RAG)
Turning documentation or articles into markdown for indexing
Monitoring known pages for content changes