DeepSeek Launches Search and Fetch APIs
- •DeepSeek makes Search and Fetch APIs available for agents and RAG applications to access live web content
- •Each API costs $0.75 per 1,000 successful requests; failed requests and empty Search results are not billed
- •Search and Fetch each have a 5 QPS account limit; per-request billing starts November 1, 2026 for server-side tool calls
DeepSeek has made its Search API and Fetch API available for agents and retrieval-augmented generation (RAG) applications that need live web content. Search uses DeepSeek’s in-house search engine to find pages and return structured results; Fetch retrieves one page and returns its content as Markdown. Both are raw JSON APIs at https://api.deepseek.com and use the same bearer authentication as the DeepSeek API.
Developers send an API key in the Authorization header and application/json as the content type. Search is a POST request to /v1/tools/search; Fetch is a POST request to /v1/tools/fetch. Search requires a query of 1 to 128 Unicode characters and can return between 1 and 50 results; count defaults to 10 and does not change the price. Optional fields include ori_question, the original user question, and localization, an IP address for localizing results. The need_content field defaults to false; when true, Search can return page content, while content is an empty string when false. Unknown request fields are ignored.
Search queries support site: to include specified websites, -site: to exclude them, a minus sign to exclude terms, quoted phrases for exact matching, lang: for language codes, and after: and before: to limit publication dates. Search results may include a relevance score, title, URL, snippet, summary, content, site name and icon, date, and authority tier. The rerank_score ranges from 0 to 3, with scores of 1.5 or higher described as high quality; authority ranges from 0 to 4, with 3 or higher described as highly authoritative. The date is in UTC RFC 3339 format or null when unknown.
Fetch requires a URL no longer than 8,192 characters, using HTTP or HTTPS and containing a host but no username or password. Its response contains a page title and Markdown content; the title is empty if unavailable. Whether a page can be fetched depends on the target site’s availability and access policies. Error responses use an OpenAI-compatible format, with param always null. HTTP 400 indicates invalid headers or body fields, 401 a missing or invalid API key, 402 insufficient account balance, and 403 a Fetch request rejected by security policy. HTTP 404 means usable page content could not be retrieved, including when the URL is unavailable, blocked by site policy, the target site returns an error, the content type is unsupported, or no Markdown can be extracted. HTTP 408 means the request body timed out, 413 that it was too large, 429 that a QPS limit was exceeded, 500 an internal error, and 504 a downstream request timeout.
Search and Fetch are read-only. DeepSeek advises waiting and retrying after HTTP 408, 429, or 5xx errors; users should top up an account before retrying after 402 and should not retry other 4xx errors without changing the request. Each API costs $0.75 per 1,000 successful requests. A Search request is billable only if it returns HTTP 200 with a non-empty results array; Fetch is billable only if it returns HTTP 200 with page content. Failed requests, empty search results, and timeouts are not billed. When DeepSeek API use goes through DeepSeek Harness, Claude Code, or Codex, server-side calls to these APIs are currently free; per-request billing starts at 00:00 Beijing time on November 1, 2026. Search and Fetch have independent account-level limits of 5 QPS each, separate from model concurrency limits. Fetch also has a per-domain QPS limit; requests exceeding either applicable limit receive HTTP 429.