Skip to content
, ,

DeepSeek API Now Has Web Search, File Reading and Voice: Prices, Code and the Free chat-demo

13–19 minutes
Woman in a green shirt holding a white card that reads DEEPSEEK, hook DeepSeek API can now search

DeepSeek just handed developers the same toolkit that powers its own chat app. On 13 November 2026, the company announced that web search, deep thinking search, file reading, link reading, safety checks and voice are now available through the DeepSeek API.

It also released an open-source chat-demo web app that shows all of it working together. You can try it in your browser with your own API key.

This guide covers every new feature, the exact endpoints and prices, step-by-step code you can copy, how it compares with OpenAI, Claude and Gemini, and the limits you should know before you build on it.

TL;DR

  • What: DeepSeek’s “application APIs”, announced on X and in the API docs on 13 November 2026.
  • Built-in chat features: web search, deep thinking search, URL reading, file input, a safety_check option and automatic chat titles, all on the deepseek-flash model.
  • Standalone APIs: Search, Fetch, OCR, Speech to Text (ASR) and Text to Speech (TTS).
  • Price: search and fetch cost $0.75 per 1,000 successful calls, OCR $0.225 per 1,000 pages, TTS $0.225 per 10,000 characters and ASR $0.058 per audio hour (both at a limited-time 50% discount).
  • Cheap: web search is about 13 times cheaper per call than the $10 per 1,000 that OpenAI and Anthropic list.
  • Demo: open-source chat-demo at cdn.deepseek.com/chat-demo, code on GitHub (deepseek-ai/chat-demo).
  • Catch: public apps must turn on the safety check, ASR clips max out at 120 seconds, and some sampling settings are ignored when tools are on.

What DeepSeek Launched

Until now, the DeepSeek API gave you the model and little else. If you wanted your bot to search the web, read a PDF or talk out loud, you had to glue in other services yourself.

The new release moves that work to DeepSeek’s servers. You switch features on with a few request fields, and DeepSeek runs the searches and page reads, then streams back structured blocks your app can display.

DeepSeek’s own post put it simply: “The capabilities behind the DeepSeek App are now available through the DeepSeek API.”

Quick answer: DeepSeek’s application APIs let you build a chatbot that searches the web, reads links and files, checks safety and speaks, using one API key and the deepseek-flash model. Each tool call is billed on top of normal token prices.

Which model it runs on

The chat features run on deepseek-flash, which DeepSeek’s docs say is currently served by DeepSeek-V4.1-Flash-1017. The older names deepseek-v4-flash and deepseek-v4-flash-vision-exp still work, but they now point at the same Flash price.

New to the model itself? Our DeepSeek API Python tutorial covers keys, streaming and JSON output from scratch.

Three ways to call it

All chat features work on all three of DeepSeek’s request formats, so you can keep whichever SDK you already use.

Format Endpoint Good for
Messages (Anthropic-style) POST https://api.deepseek.com/anthropic/v1/messages Apps built for Claude’s Messages format
Responses (OpenAI-style) POST https://api.deepseek.com/responses Apps built on OpenAI’s Responses API
Chat Completions POST https://api.deepseek.com/chat/completions Most existing DeepSeek and OpenAI code

Every Feature at a Glance

Here is the full list from DeepSeek’s “Build a Chatbot” guide, with the switch that turns each one on.

Feature How you turn it on What it does
Web search Tool deepseek_web_search, thinking off Searches the web or images when needed and answers with citations
Deep thinking search Tool deepseek_web_search, thinking on Searches and reads pages across several reasoning steps
URL reading Tool deepseek_read_url Spots links in the user’s message, fetches them and uses them as context
File input File upload (see File Parsing guide) Reads PDF, Word, PowerPoint and images via text extraction or rich-layout parsing
Safety check "safety_check": {"level": "high"} Reviews input and output and returns a refusal marker if it finds risk
Conversation title "title": {"enabled": true} Writes a short chat title when the answer ends
User metadata marker Metadata marker (see its guide) Tells the model today’s date, the user’s location and language
Read aloud / voice input TTS and ASR APIs Turns answers into speech and speech into text
Tip: the search tool works with thinking on or off. Leave thinking off for fast factual answers, and turn it on for research questions where the model should read several pages before answering.

Prices for Every Tool

Tool fees are charged on top of the normal token price. These figures come straight from DeepSeek’s pricing page, read on 14 November 2026.

Service Unit Price
Search (text and image) 1,000 searches $0.75
Web fetch (URL reading) 1,000 fetches $0.75
File parsing and OCR 1,000 pages $0.225
Text to Speech 10,000 characters $0.225 (limited-time, list $0.45)
Speech to Text 1 hour of audio $0.058 (limited-time, list $0.116)
Safety check – No separate price listed

Only successful calls count for search and fetch. DeepSeek’s search guide says failed requests, empty results and timeouts are not billed, and the count field does not change the price.

Token prices for deepseek-flash

Tokens are billed as usual, and off-peak hours are half price. Peak hours are 01:00-04:00 and 06:00-10:00 UTC on weekdays; everything else, including weekends, is off-peak.

deepseek-flash, per 1M tokens Off-peak Peak
Input, cache hit $0.003 $0.006
Input, cache miss $0.15 $0.30
Output $0.60 $1.20

Search results fill the context, so a searched answer uses more input tokens than a plain one. Our DeepSeek API pricing guide explains the cache and off-peak rules in more depth.

Example: 10,000 chats that each run one search cost $7.50 in search fees. If each answer reads 20,000 uncached input tokens and writes 800 output tokens at peak rates, tokens add about $69.60, so tokens, not searches, are the bigger bill.

This is the request DeepSeek uses in its own quick example, on the Messages endpoint. It turns on thinking, web search, URL reading, the safety check and titles in one go.

  1. Get an API key. Sign in at platform.deepseek.com, top up a small balance, and create a key under API Keys.
  2. Save it as an environment variable. On Mac or Linux run export DEEPSEEK_API_KEY="sk-..."; on Windows PowerShell run $env:DEEPSEEK_API_KEY="sk-...".
  3. Send a request with the tools declared. Use the curl or Python example below.
  4. Render the blocks. Show thinking in a collapsible panel, search steps as result cards, and the final text with its citation markers.
  5. Send the blocks back unchanged. On the next turn, include the assistant’s returned blocks in the message history exactly as you got them.

curl

curl https://api.deepseek.com/anthropic/v1/messages \
  -H "x-api-key: $DEEPSEEK_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "model": "deepseek-flash",
    "max_tokens": 4096,
    "thinking": {"type": "enabled"},
    "tools": [
      {"type": "deepseek_web_search", "name": "deepseek_web_search"},
      {"type": "deepseek_read_url", "name": "deepseek_read_url"}
    ],
    "safety_check": {"level": "high"},
    "title": {"enabled": true},
    "messages": [{"role": "user", "content": "What is new in DeepSeek V4.1?"}],
    "stream": true
  }'

Python (requests, no SDK needed)

import os, requests

body = {
    "model": "deepseek-flash",
    "max_tokens": 4096,
    "tools": [{"type": "deepseek_web_search", "name": "deepseek_web_search"}],
    "safety_check": {"level": "high"},
    "messages": [{"role": "user", "content": "Latest RTX 5090 price in India?"}],
}
r = requests.post(
    "https://api.deepseek.com/anthropic/v1/messages",
    headers={"x-api-key": os.environ["DEEPSEEK_API_KEY"],
             "content-type": "application/json"},
    json=body, timeout=120)
data = r.json()
if data.get("stop_reason") == "refusal":
    print("Blocked by safety check")
for block in data.get("content", []):
    if block.get("type") == "text":
        print(block["text"])
print(data.get("usage"))

Leaving out thinking gives a plain web search answer. Adding "thinking": {"type": "enabled"} switches it to deep thinking search.

What comes back

Block How to show it
thinking Collapsible “thinking” panel
server_tool_use + web_search_tool_result A search step with result cards (title, site name, icon)
server_tool_use + web_fetch_tool_result “Opened page” or “read link” step
text with citations The answer, with markers linked to sources
stop_reason: "refusal" Replace the answer with your own refusal message

The usage object also counts tool calls: web_search_requests, web_fetch_requests, tool_search, tool_fetch and tool_image_search. Log these if you want to track search spend per user.

Using the Standalone APIs

You do not need the chat model to use the tools. Each one has its own endpoint under https://api.deepseek.com/v1/tools/ and uses a normal Authorization: Bearer header.

Search API

Send POST /v1/tools/search with a JSON body. Only query (1-128 characters) is required; count returns 1-50 results (default 10), and need_content: true adds the page text.

curl https://api.deepseek.com/v1/tools/search \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "DeepSeek site:github.com OR site:huggingface.co lang:en after:2025", "count": 10}'

It supports search operators: site:, -site:, "exact phrase", -term, lang:zh,en, and after:/before: with a year or date.

Each result has a title, url, a short snippet, a longer summary for the model, a date, a rerank_score from 0 to 3 (1.5+ is high quality) and an authority score from 0 to 4. The standalone Search API does not do image search yet.

Fetch API

POST /v1/tools/fetch takes one field, url (HTTP or HTTPS, up to 8,192 characters), and returns the page title plus its content as Markdown.

curl https://api.deepseek.com/v1/tools/fetch \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/article"}'

OCR and file parsing

POST /v1/tools/ocr reads PDF, DOC/DOCX, PPT/PPTX and images (PNG, JPEG, WebP, GIF, BMP, TIFF). Send the file and a purpose as multipart form data.

curl https://api.deepseek.com/v1/tools/ocr \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -F purpose="text_recognition" \
  -F file="@document.pdf"

Use text_recognition for plain text (Word and PowerPoint files without images skip OCR entirely), or rich_layout_recognition to process every page as an image. Files can be up to 1,000 pages and 100 MiB.

Text to Speech

POST /v1/tools/tts turns up to 10,000 billed characters into WAV or raw PCM audio. There are two voices, stella (female, default) and tide (male), and the language is detected from the text.

curl https://api.deepseek.com/v1/tools/tts \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello from DeepSeek.", "voice_id": "stella"}' \
  --output speech.wav

TTS speaks 10 languages: Mandarin, Cantonese, English, Japanese, Korean, Malay, Arabic, Indonesian, Thai and Vietnamese. A WebSocket version at wss://api.deepseek.com/v1/tools/tts streams PCM or Opus audio for live read-aloud.

Billing quirk: each Chinese character counts as 2 characters; letters, digits and spaces count as 1.

Speech to Text

POST /v1/tools/asr takes one 16-bit PCM WAV or Ogg Opus file of up to 120 seconds and 8 MiB, and returns the full transcript. It covers 21 languages, including Hindi, German, French, Spanish and Arabic.

curl https://api.deepseek.com/v1/tools/asr \
  -H "Authorization: Bearer $DEEPSEEK_API_KEY" \
  -F file="@speech.wav"

The reply is short JSON: request_id, text and duration_ms. It is built for voice input in a chat box, not for transcribing long meetings.

Limits for each standalone API

API Rate limit (per account) Main size limit
Search 100 QPS Query 1-128 characters, 1-50 results
Fetch 25 QPS, plus a per-domain limit URL up to 8,192 characters
OCR 15 jobs in progress 1,000 pages, 100 MiB, 180 s total
TTS 50 requests in progress 10,000 billed characters, 30 min audio
ASR 50 requests in progress 120 seconds, 8 MiB, no streaming

Try the Open-Source chat-demo

The fastest way to see everything working is DeepSeek’s demo app. It runs in your browser and talks to the API with your own key.

  1. Open the demo at https://cdn.deepseek.com/chat-demo.
  2. Paste your API key. The demo stores the key, chats and uploaded images only in your browser.
  3. Ask something current with web search on, then try deep thinking search on the same question to see the difference.
  4. Drop in a PDF or image, or paste a link, to test file input and URL reading.
  5. Import your old chats if you want: it reads chat history exported from the DeepSeek app. Importing replaces the history already in the demo.
  6. Fork the code from github.com/deepseek-ai/chat-demo when you are ready to build your own front end.

The demo also supports editing and regenerating replies, read-aloud, voice input, Markdown and Mermaid diagrams, chat export, image safety review, and Chinese or English with light and dark themes.

Not for production as-is: DeepSeek calls it a demonstration. Keeping an API key in the browser is fine for testing on your own machine, but a public app should keep the key on a server. The announcement does not state the repository’s licence, so check its LICENSE file before reusing code.

DeepSeek vs OpenAI, Claude and Gemini

Price is the headline. Here are the listed web search prices per 1,000 calls, as compiled by Nesyona from each provider’s pricing page on 26 October 2026 and checked against DeepSeek’s page today.

Provider Web search price Built-in voice (TTS/ASR) Notes
DeepSeek $0.75 per 1,000 searches Yes, same API key Fetch billed separately at $0.75 per 1,000
OpenAI $10 per 1,000 calls Separate audio models Search content tokens billed on top
Anthropic (Claude) $10 per 1,000 searches No first-party TTS API Search content tokens billed on top
Google (Gemini) $14 per 1,000 grounded requests Separate TTS models 5,000 free requests a month on paid tier (Gemini 3 and newer)

The units are not identical (a “call” can hold several searches on some platforms), so treat this as a price signal rather than an exact match. Still, DeepSeek is roughly 13 to 19 times cheaper per search.

Who should use which

  • Pick DeepSeek for low-cost chatbots, support bots and side projects that need search, file reading and voice from one vendor.
  • Pick Claude or OpenAI when you need their stronger frontier models, strict data rules, or features DeepSeek lacks; see our DeepSeek vs ChatGPT comparison.
  • Pick Gemini if you already live in Google Cloud and want Google Search grounding.
  • Self-host if data must never leave your machine; our run DeepSeek locally guide covers the open models, though these hosted tools do not come with them.

Limits, Ignored Settings and Rules

Settings DeepSeek overrides

When you declare the web tools, set safety_check to high, or turn on titles, DeepSeek sets some values itself and ignores yours. Your temperature and top_p no longer apply on any endpoint.

Endpoint Ignored fields
Messages temperature, top_p, top_k, stop_sequences, thinking.budget_tokens, preserve_thinking, tool_choice.disable_parallel_tool_use, metadata (except user_id)
Responses temperature, top_p, reasoning.summary, text.verbosity, include, max_tool_calls, truncation, metadata, parallel_tool_calls, store
Chat Completions temperature, top_p, frequency_penalty, presence_penalty, stop, seed, n, preserve_thinking, parallel_tool_calls

max_tokens still works, but it now limits each inference step, not the whole round. A deep search with several steps can therefore write more in total than your max_tokens value.

Safety and compliance

  • DeepSeek says public-facing apps must enable the safety check.
  • The docs add that public services must meet their own duties, including content safety review, large model registration and AI labelling, and follow the DeepSeek Open Platform terms.
  • Your users’ prompts, files and search queries go to DeepSeek’s servers. Read our Is DeepSeek safe guide before you send personal or company data.

Still unknown

  • The exact tool syntax for the Chat Completions and Responses tabs is in DeepSeek’s docs, but the announcement only spells out the Messages version.
  • How long the 50% TTS and ASR discount lasts.
  • Whether the standalone Search API will get image search (the docs say “not yet”).

Troubleshooting

Problem Likely cause Fix
402 from any tool Balance is empty Top up on platform.deepseek.com; granted balance is used first
429 on Search or Fetch Over 100 or 25 QPS, or the per-domain fetch limit Wait and retry with backoff; queue fetches per domain
403 or 404 on Fetch Blocked by security policy, or no usable content Do not retry the same URL; try another source
ASR returns 413 or 400 File over 8 MiB, over 120 s, or not WAV/Ogg Opus Split audio into short clips and convert with ffmpeg -i in.mp3 -ac 1 -ar 16000 out.wav
TTS returns 400 No readable text, or the text failed content review Check the text is not empty or pure Markdown symbols
Answer replaced by refusal stop_reason is refusal from the safety check Show a polite message; rephrase or narrow the request
Temperature seems ignored Tools or safety_check are on Expected; see the ignored fields table above
OCR text has odd <|ref|> tags Page-by-page recognition returns layout markers and boxes Strip the markers, or use them to locate text on the page

For general DeepSeek errors such as “server is busy” or 422s, see our DeepSeek API errors fix guide and DeepSeek limits explained.

My Take

This is DeepSeek doing what it always does: taking a feature other labs charge a premium for and pricing it close to zero. At $0.75 per 1,000 searches, adding live search to a hobby bot stops being a budget decision.

The bigger shift is convenience. One key now covers the model, search, page reading, OCR and voice, which is the kind of stack small teams used to stitch together from three or four vendors.

I would not ignore the trade-offs. Your sampling settings get overridden when tools are on, ASR is limited to two-minute clips, and every query passes through DeepSeek’s servers. For a public app, budget time for the safety and compliance rules, not just the code.

If you already run a DeepSeek bot, the cheapest experiment is to switch on deepseek_web_search for one route and compare answer quality and cost for a week.

FAQ

What are DeepSeek’s application APIs?

They are the features from the DeepSeek chat app, such as web search, link reading, file input, safety checks and voice, offered through the DeepSeek API from 13 November 2026.

How much does DeepSeek web search cost through the API?

$0.75 per 1,000 successful searches, plus normal deepseek-flash token charges. Failed or empty searches are not billed.

Which model supports the new tools?

deepseek-flash, currently served by DeepSeek-V4.1-Flash-1017, on the Messages, Responses and Chat Completions endpoints.

Is the DeepSeek chat-demo free?

The demo app and its source code are free to use, but every request uses your own API key, so model and tool calls are billed to your balance.

Can DeepSeek’s API speak and listen?

Yes. The TTS API speaks 10 languages with two voices, and the ASR API transcribes clips of up to 120 seconds in 21 languages, including Hindi.

Do I have to use the safety check?

DeepSeek says public-facing apps must enable it. For private testing it is optional, but it is a single field, "safety_check": {"level": "high"}.

Why are my temperature settings ignored?

When web tools, a high safety check or titles are enabled, DeepSeek controls sampling itself and ignores fields like temperature and top_p.

Can I use these tools with a locally run DeepSeek model?

No. Search, fetch, OCR and voice run on DeepSeek’s servers. You can still call the standalone APIs from an app that uses a local model, since they only need an API key.

Sources

  • DeepSeek on X, “The full DeepSeek App experience, now via API” (13 Nov 2026): x.com/deepseek_ai
  • DeepSeek API docs, news item 13 Nov 2026: api-docs.deepseek.com/news/news261113
  • DeepSeek API docs, “Build a Chatbot”: api-docs.deepseek.com/guides/build_a_chatbot
  • DeepSeek API docs, Search and Fetch, OCR, Text to Speech and Speech to Text guides: api-docs.deepseek.com/guides/
  • DeepSeek pricing page: api-docs.deepseek.com/quick_start/pricing
  • chat-demo: cdn.deepseek.com/chat-demo and github.com/deepseek-ai/chat-demo
  • Startup Fortune, “DeepSeek Turns Its Whole App Into an API” (13 Nov 2026)
  • Nesyona, “AI web search tool prices per 1,000 calls” (26 Oct 2026), citing OpenAI, Anthropic and Google pricing pages
Free weekly email

Get new AI guides every week

One short weekly email with our newest local AI, ComfyUI and AI tool guides. No spam, no pop-ups, just the good stuff.

Free. Unsubscribe anytime in one click. We only use your email to send this newsletter. See our privacy policy.

Woman in a green shirt holding a white card that reads DEEPSEEK, hook DeepSeek API can now search