workingproxysites.

/scraping-api/ — Tavily API

Choose direct HTTP Search when the source URL is unknown or Extract when it is known. Compare keyless and account access, JSON-wrapped Markdown, partial failures and billing units.

Scraping API. Official documentation · Checked · Review due .

Choose the HTTP operation

documented decision

Swipe or scroll the table to compare response checks and billing.

Starting pointRequestCheck the responseBilling basis
Source URL unknownPOST /search with a query, basic depth and a small max_results.Read results[].url and content snippets; choose a source URL, then inspect its page content. A snippet is not the full page.Keyless is free and rate-limited. With an account key, basic Search is 1 credit per request.[1][3][4]
Source URL knownPOST /extract with urls and format: markdown or text; skip source discovery.Match results[].url and raw_content to failed_results[].url and error, even after HTTP 200.Keyless is free and rate-limited. With an account key, basic Extract is 1 credit per 5 successful URL extractions; usage can show 0 before five.[2][3][4]

documented capabilities

HTTP API
Unknown source URL
POST /search with a query. Set search_depth: basic and max_results deliberately; results include source URLs and content snippets. A result snippet is a lead to inspect, not the complete source page.[1]
Known source URL
POST /extract directly with urls (one URL or up to 20). Request format: markdown or text. The JSON response wraps each successful page in results with raw_content. Search is unnecessary when the URL is already known.[2]
Content choice
Search returns results[].content snippets; request include_raw_content for cleaned and parsed page content when available, without a guarantee of complete target coverage. Extract format: markdown returns Markdown inside results[].raw_content; format: text selects plain text.[1][2]
Partial result check
An Extract HTTP 200 can include both results and failed_results, or an empty results array if every valid URL fails. Match each returned item to its URL; output order is not guaranteed.[2]
Search credit unit
Basic Search costs 1 account credit per request and advanced costs 2. auto_parameters may select advanced; set search_depth: basic explicitly when the lower unit matters.[3][1]
Extract credit unit
With an account key, basic Extract costs 1 credit per 5 successful URL extractions and advanced costs 2 per 5. Failed URL extractions are not charged. With include_usage: true, usage may show 0 before the total reaches five successful extractions.[3][2]
Direct HTTP access
POST /search and /extract can use X-Tavily-Access-Mode: keyless without an account or API key, subject to rate limits. Alternatively send Authorization: Bearer YOUR_TAVILY_API_KEY for account limits; if both headers are sent, the key takes precedence. The MCP connection has its own client setup.[4][3]

Billing: Search and Extract offer free, rate-limited keyless direct HTTP access with X-Tavily-Access-Mode: keyless. With an account key, basic Search costs 1 credit/request and advanced costs 2; basic Extract costs 1 credit per 5 successful URL extractions and advanced costs 2 per 5. Failed URL extractions are not charged. Extract usage can report 0 before five successful URL extractions.

Outputs: json, markdown, text

Documented for: HTTP API

[ official reference ][ JSON record ]

MCP client setup

This record covers direct HTTP API use. For client configuration and available tools, use the Tavily MCP guide.

getting started

documentation reviewed
  1. If you know the source URL, call Extract directly. If you need to discover a URL, call Search and inspect a selected result before extracting its page.
  2. Send a JSON POST to https://api.tavily.com/search or https://api.tavily.com/extract with Content-Type: application/json. For free, rate-limited direct HTTP access send X-Tavily-Access-Mode: keyless. For account limits and credits, send Authorization: Bearer YOUR_TAVILY_API_KEY instead.
  3. Start with basic depth and a small result count or known-URL batch. The examples are JSON request bodies for those paths. Set include_usage: true when you need a returned account-usage field.
  4. On Extract, inspect results and failed_results by URL even after HTTP 200. Read failed_results[].error, and treat usage of 0 before five successful extractions as a reporting detail, not proof of unlimited free account use.

Requirements & limitations

  • This page covers direct HTTP Search and Extract. The paired MCP page covers client connection and available tools; the same keyless access mode can be used with either interface.
  • Keyless HTTP requests need the X-Tavily-Access-Mode: keyless header and are rate-limited. Map, Crawl and Research require an account API key.
  • Search results are Tavily web discovery results, not a positional Google SERP snapshot. This record does not claim that Tavily is a dedicated SERP API.
  • Extract Markdown is page content in results[].raw_content within a JSON response, not schema-guided field extraction. Protected targets and source accuracy were not tested.
  • Examples were parsed against the current documented request schema locally. No Tavily account request, target fetch, performance test or observed supplier bill is claimed.

We reviewed the linked documentation. No live service connection, checkout or performance test is claimed for this listing.

request examples

adapt to your target

Discover a source — POST /search JSON body

{
  "query": "official API documentation for a library",
  "search_depth": "basic",
  "max_results": 3,
  "include_raw_content": false,
  "auto_parameters": false,
  "include_usage": true
}

[1] Tavily Search endpoint, request parameters and response[3] Tavily account credits and per-operation cost[4] Tavily keyless direct HTTP access and account upgrade

Read a known page — POST /extract JSON body

{
  "urls": [
    "https://example.com/docs"
  ],
  "extract_depth": "basic",
  "format": "markdown",
  "include_usage": true
}

[2] Tavily Extract endpoint, Markdown and partial failures[3] Tavily account credits and per-operation cost[4] Tavily keyless direct HTTP access and account upgrade

response checks

documented example

Documented mixed-success Extract response (example shape, not a live result)

{
  "results": [
    {
      "url": "https://example.com/article",
      "raw_content": "Example extracted article content.",
      "images": []
    }
  ],
  "failed_results": [
    {
      "url": "https://example.com/unavailable",
      "error": "Failed to retrieve content"
    }
  ],
  "response_time": 0.5,
  "request_id": "123e4567-e89b-12d3-a456-426614174111"
}

Treat results[].raw_content as content only for successful URLs. Match failed_results[].url and error to the input before accepting a batch; HTTP 200 alone does not mean every URL succeeded. The optional usage field appears when requested and can show 0 before five successful extractions.[2] Tavily Extract endpoint, Markdown and partial failures[3] Tavily account credits and per-operation cost

primary sources

4 references
  1. Tavily Extract endpoint, Markdown and partial failuresChecked 2026-09-29
  2. Tavily account credits and per-operation costChecked 2026-09-29
  3. Tavily keyless direct HTTP access and account upgradeChecked 2026-09-29

related listings