{"slug":"tavily-api","name":"Tavily API","category":"scraping-api","provider_slug":null,"publisher":"Tavily","publisher_type":"official","website":"https://docs.tavily.com/documentation/api-reference/endpoint/search","summary":"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.","tools":["http-api"],"capabilities":["web-search","web-scraping"],"outputs":["json","markdown","text"],"connection":"http-api","billing_basis":"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.","facts":[{"label":"Unknown source URL","value":"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.","source_ids":["search"]},{"label":"Known source URL","value":"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.","source_ids":["extract"]},{"label":"Content choice","value":"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.","source_ids":["search","extract"]},{"label":"Partial result check","value":"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.","source_ids":["extract"]},{"label":"Search credit unit","value":"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.","source_ids":["credits","search"]},{"label":"Extract credit unit","value":"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.","source_ids":["credits","extract"]},{"label":"Direct HTTP access","value":"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.","source_ids":["keyless","credits"]}],"decision_rows":[{"when":"Source URL unknown","request":"POST /search with a query, basic depth and a small max_results.","check":"Read results[].url and content snippets; choose a source URL, then inspect its page content. A snippet is not the full page.","billing":"Keyless is free and rate-limited. With an account key, basic Search is 1 credit per request.","source_ids":["search","credits","keyless"]},{"when":"Source URL known","request":"POST /extract with urls and format: markdown or text; skip source discovery.","check":"Match results[].url and raw_content to failed_results[].url and error, even after HTTP 200.","billing":"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.","source_ids":["extract","credits","keyless"]}],"setup":["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.","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.","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.","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."],"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."],"request_examples":[{"label":"Discover a source — POST /search JSON body","code":"{\n  \"query\": \"official API documentation for a library\",\n  \"search_depth\": \"basic\",\n  \"max_results\": 3,\n  \"include_raw_content\": false,\n  \"auto_parameters\": false,\n  \"include_usage\": true\n}","source_ids":["search","credits","keyless"]},{"label":"Read a known page — POST /extract JSON body","code":"{\n  \"urls\": [\n    \"https://example.com/docs\"\n  ],\n  \"extract_depth\": \"basic\",\n  \"format\": \"markdown\",\n  \"include_usage\": true\n}","source_ids":["extract","credits","keyless"]}],"response_examples":[{"label":"Documented mixed-success Extract response (example shape, not a live result)","code":"{\n  \"results\": [\n    {\n      \"url\": \"https://example.com/article\",\n      \"raw_content\": \"Example extracted article content.\",\n      \"images\": []\n    }\n  ],\n  \"failed_results\": [\n    {\n      \"url\": \"https://example.com/unavailable\",\n      \"error\": \"Failed to retrieve content\"\n    }\n  ],\n  \"response_time\": 0.5,\n  \"request_id\": \"123e4567-e89b-12d3-a456-426614174111\"\n}","interpretation":"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.","source_ids":["extract","credits"]}],"sources":[{"id":"search","label":"Tavily Search endpoint, request parameters and response","url":"https://docs.tavily.com/documentation/api-reference/endpoint/search","checked_at":"2026-09-29"},{"id":"extract","label":"Tavily Extract endpoint, Markdown and partial failures","url":"https://docs.tavily.com/documentation/api-reference/endpoint/extract","checked_at":"2026-09-29"},{"id":"credits","label":"Tavily account credits and per-operation cost","url":"https://docs.tavily.com/documentation/api-credits","checked_at":"2026-09-29"},{"id":"keyless","label":"Tavily keyless direct HTTP access and account upgrade","url":"https://docs.tavily.com/documentation/keyless","checked_at":"2026-09-29"}],"checked_at":"2026-09-29","review_due":"2026-10-29","evidence":"documented","url":"https://workingproxysites.info/tools/tavily-api","provider_url":null,"review_overdue":false}