Skip to main content
POST
Web search: deepseek-search
Try it in the Playground on the right: put Bearer sk-your-api-key (a key in the default or svip group) in Authorization. The default example is filled in; click send to see results. Each successful call is billed once. localization takes the user’s IP address (e.g. 8.8.8.8); a locale code such as en-US returns 400.
Pricing, test data and the things you need to know are in the Overview.

Parameter reference

The request body does not need a model field; unknown fields are ignored.

Response highlights

  • Give summary to models and show snippet to people. For full text, either turn on need_content or pick a few results and use Fetch
  • rerank_score ≥ 1.5 and authority ≥ 3 mark high-quality results and make good filter thresholds
  • With count=50 the response is about 180 KB, and need_content more than doubles it; set your client timeout accordingly

Error codes

The type in the error body is always shell_api_error; branch on the HTTP status code.

Authorizations

Authorization
string
header
required

Add Authorization: Bearer YOUR_API_KEY to the request headers

Body

application/json
query
string
required

Search query, 1–128 characters, not all whitespace. Supports site: / lang: / after: and other operators

Example:

"DeepSeek V4 release"

count
integer
default:10

Number of results, 1–50. Does not affect the price

Required range: 1 <= x <= 50
Example:

5

need_content
boolean
default:false

Whether to return the page body. When false, content is always an empty string

ori_question
string

The user's original question that triggered this search, 1–128 characters

localization
string

The user's IP address, used to prioritize localized results. Not a locale code: passing ja-JP returns 400

Example:

"8.8.8.8"

Response

Search succeeded (billed once)

results
object[]