Web Search

Contents
  1. Request
  2. Search operators
  3. Response
  4. Billing
  5. Errors

Send a query and get web results: title, link, snippet and publish date. Useful for giving LLMs and agents fresh information from the web.

Request

POST https://platform.kuaisou.com/api/web-search
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Parameters

Parameter Type Required Description
query string Yes The query; may include search operators. Up to 200 characters; anything longer is cut off
count int No How many results: one of 10, 20, 30, 40, 50, 100; default 10. Other values are treated as 10
offset int No The position of the first result, starting at 1; default 1. For page 2 with 10 per page, send 11

The freshness parameter currently has no effect. To limit the date range, use after: and before: in query.

Example

curl -X POST https://platform.kuaisou.com/api/web-search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"DeepSeek site:github.com","count":10,"offset":1}'

Search operators

Write them directly in query; they can be combined. Operators must be lowercase (SITE: is treated as a normal word).

Operator Example Effect
site: DeepSeek site:github.com Only results from this site (including subdomains); may include a path, e.g. site:github.com/deepseek-ai; several site: mean OR
-site: DeepSeek -site:example.com Remove results from this site (including subdomains)
-word DeepSeek -ads Remove results whose title or snippet contains this word
"phrase" DeepSeek "open model" The title or snippet must contain this phrase (Chinese quotes “ ” work too)
-"phrase" DeepSeek -"release notes" Remove results whose title or snippet contains this phrase
lang: DeepSeek lang:zh,en Only pages in these languages
after: DeepSeek after:2025-01-01 Only pages published on or after this day; a year after:2025 or a month after:2025-06 also works
before: DeepSeek before:2026 Only pages published before this day

Notes:

  • With after: or before:, pages without a publish date are removed.
  • A malformed operator (for example site: not followed by a domain, or after:2025-13) is searched as a normal word, without an error.
  • A query with only operators and no words (for example just site:github.com) returns 400 and is not charged.

Response

{
  "code": 200,
  "msg": "",
  "data": [
    {
      "_type": "SearchResponse",
      "queryContext": { "originalQuery": "DeepSeek site:github.com" },
      "webPages": {
        "webSearchUrl": "",
        "totalEstimatedMatches": 36,
        "value": [
          {
            "id": "1",
            "name": "Page title",
            "url": "https://github.com/...",
            "displayUrl": "github.com/...",
            "snippet": "Page snippet",
            "summary": "Page snippet",
            "siteName": "github.com",
            "siteIcon": "",
            "datePublished": "2025-06-01",
            "dateLastCrawled": "",
            "cachedPageUrl": "",
            "language": "",
            "isFamilyFriendly": true,
            "isNavigational": false,
            "deepLinks": null
          }
        ]
      }
    }
  ],
  "logId": "req_..."
}

Fields

Field Description
data An array with one item
data[0].queryContext.originalQuery The query you sent
data[0].webPages.totalEstimatedMatches How many results were found in total (after ranking, before count and offset are applied)
data[0].webPages.value The results of this page — at most count, possibly fewer
value[].id Position on this page, starting at 1
value[].name Page title
value[].url Page URL
value[].displayUrl URL for display
value[].snippet Snippet
value[].summary Snippet (currently the same as snippet)
value[].siteName Host name of the site
value[].datePublished Publish date; an empty string when unknown
logId The ID of this request

siteIcon, dateLastCrawled, cachedPageUrl, language, isFamilyFriendly, isNavigational and deepLinks are kept for compatibility with the old version. They currently have fixed values — do not rely on them.

Billing

Each successful call is charged once, no matter how many results it returns; failed calls are free. See the price table on the platform home page.

Errors

code When
400 The body is not valid JSON, query is empty, or the query has only operators and no words
401 Invalid or disabled API key
402 Insufficient balance
500 Reading the price, checking the balance or billing failed (not charged)
502 The search service is temporarily unavailable (not charged)

See Errors.