
- ChatGPT (OpenAI), Gemini (Google) and Claude (Anthropic) have officially built in connected search at the API levelAll are provided as "server-side search tools" that are easy to invoke and automatically return real-time content with citations.
- DeepSeek-R1 provides the "enable_search" parameter, but it is currently only available in Aliyun. LLM API Effective in gateway and OpenSearch scenarios, region/version restricted public test capability.The
- Byte-jumping beanbags and Tongyi Qianqian have not yet opened the official search tool in the general chat-completions APIThe SDK/HTTP native interfaces still need to access external search APIs by themselves, and can only be invoked through the Ark plugin (Beanbag) or the "official website workflow/web-side toolchain" (Thousands of Questions).
- There are significant differences in billing methods - OpenAI and Anthropic are billed on a "per" basis.search call+Generate token"Google uses "$35/thousand searches" as a separate billing, and DeepSeek is exempted from charging separately for the Quark Search channel for the time being.
- The most detailed features are Claude: Can limit max_uses, whitelisted/blacklisted domains, localized user_location, and supports multiple rounds of progressive search;Gemini The dynamic threshold retrieval_threshold is allowed to control whether or not retrieval occurs;OpenAI Provide search_context_size option to balance quality-cost.
Side-by-Side Comparison of Networking Search Capabilities by Model
mould | Built-in search or not | Enable Method / Key Parameters | Return Format & Reference | billing strategy | Major limitations and remarks |
---|---|---|---|---|---|
DeepSeek-R1 | Limited Public Test | enable_search:true (only) deepseek-r1(Required for AliCloud LLM API / OpenSearch calls) | Abstract + URL | Temporarily priced with depth search token, no separate retrieval fee | Depends on Quark Search, available in China; other DeepSeek series are not supported at the moment |
Doubao | No common interface | In the ark of the volcano bot/application Configure the Networking Plugin to receive structured results JSON on the API side. | self-assembly | Same price as reasoning tokens; 1000 free plugin traffic days | Available for Ark platforms only; OpenAI compliant/direct REST not yet available. enable_search |
Tongyi Thousand Questions Qwen | No common interface | DashScope web "toolchain" with search; API not yet available | Abstract + URL | N/A | RAG or Bing/Brave API + function calls by user |
ChatGPT (OpenAI) | ✅ | a) Chat Completions gpt-4o-search-preview and can be transmitted web_search_options ; b) Responses API in tools The array is added to the {"type": "web_search_preview"} | inline reference url_citation | Search fees are factored into modeled pricing ($22.5/10 per million tokens), varying from context_size Cost Ladder 7 | 4o series only; beta phase, some API parameters not supported6 |
Gemini (Google) | ✅ | tools:[{"google_search":{}}] The following is an example of a program that can be used in the client.models.generate_content or Vertex AI Chat Completions using the | Inline links +Search Suggestions | $35 / 1000 searches, token extra | Dynamic retrieval thresholds retrieval_threshold The search can be mixed with up to 10 retrieval sources. |
Claude 3.x | ✅ | tools:[{"type": "web_search_20250305", "name": "web_search", "max_uses":N,...}] | Force return to source; can be set allowed_domains / blocked_domains / user_location | $10 / 1000 searches + model token | Claude 3.7 Sonnet, 3.5 Series, and 4 Opus support; default iterative retrieval, can be limited max_uses |
model-by-model analysis
1. DeepSeek
DeepSeek in AliCloud LLM API The console can be used for deepseek-r1 Open the "Networking Search" plugin. When you call it, set the
"enable_search": true
This means that Quark Search can be called in the background to return a summary snippet and splice it into context, with a short URL reference at the end of the message. The feature is still in public beta and is not yet available for other models such as DeepSeek-V3/V2.
2. Doubao
Volcano Engine Ark support for bot/workflow mounts the "Networking Plugin", the return structure is defined in the official documentation (site_name/summary/url
(and other fields). The plugin actually calls byte-based searches (including Jitterbug Wikipedia, Byte Search, etc.), but the OpenAI Compatible chat/completions
Interface not available enable_search
fieldThe search engine is a simple and easy to use, and requires either an Ark process or the integration of an external search source on your own.
3. Tongyi Thousand Questions (Qwen)
The web version of DashScope has already packaged Q&A with "Internet search, web parsing", but the SDK / HTTP API has not exposed the corresponding parameters yet. Developers usually use function call+ Bing/Brave SERP API to enable retrieval of rewrite contexts. AliCloud OpenSearch Recently, only DeepSeek-R1 has been piloted, and Thousand Questions is not included at this time.
4. ChatGPT / OpenAI
- Two call paths
- Chat Completions direct election
gpt-4o-search-preview
/gpt-4o-mini-search-preview
Attachableweb_search_options
(search_context_size
/user_location
(etc.). - Responses API Arbitrary models +
tools:[{"type": "web_search_preview"}]
Automatic retrieval when needed6The
- exports in order to
url_citation
Embedded text and in theannotations
with full URL. - valuate Retrieval uses an independent model with a slightly higher token price; different
search_context_size
Impact cost 7.
5. Gemini
Include in Gemini Developer API or Vertex AI calls
"tools": [{"google_search":{}}]
can be enabled Grounding with Google SearchGoogle does the querying, de-duplication, and sorting in the background, and returns the answer with a link to the source.
transferring entity dynamic_retrieval.rerank_threshold
(AI Studio UI) or SDK retrieval_threshold
Fine control of whether or not to retrieve;user_location
Automatically influences localization results. Paid level is priced per search request $35/thousand.
6. Claude
commander-in-chief (military) "type": "web_search_20250305"
Tool Accession tools
field and specify the max_uses
is sufficient; Claude decides on its own query terms, iterates multiple times, and generates results with citations.
Advanced Controls:
- Domain Filtering
allowed_domains
/blocked_domains
- geography
user_location
- Iteration depth
max_uses
--Overruns will be triggeredmax_uses_exceeded
incorrect1The
Cost $10/thousand searches + model token, now covering Claude 4 Opus, 3.7 Sonnet, 3.5 Haiku/Sonnet.
Suggestions for selection
- Immediate access to "official" real-time informationPreferred Gemini(quality + global search coverage) or Claude(high granularity of reference control), available if OpenAI ecosystem is already in place GPT-4o-search-preview Quick access.
- Teams land in the country, need to file for compliance: DeepSeek-R1's Quark Search channel is a publicly testable option at this stage; Beanbag currently needs to be used via the Ark plugin; and Thousand Questions suggests combining it with a self-built RAG.
- To strictly limit the source of information or reduce the illusion: Claude's black and white list of domain names and
max_uses
Can provide the most controllable. - Cost-sensitive and high volume of inquiries: Putting the search on its own backend, using the SERP API + function calls to let any model read the search results, you can completely avoid the platform search fees.
Reference code snippet
# OpenAI Responses API calls built-in retrieval
from openai import OpenAI
client = OpenAI()
resp = client.responses.create(
model="gpt-4o",
tools=[{"type": "web_search_preview", "search_context_size": "low"}],
input="What is the price of the latest GPT-4o model?"
)
print(resp.output_text)
# Gemini Developer API Calling Google Search Grounding
from google import genai
cli = genai.Client()
resp = cli.models.generate_content(
model="gemini-2.5-flash",
content="Who won the men's singles table tennis title at this year's Olympics?" ,
config=genai.types.GenerateContentConfig(
tools=[{"google_search":{}}], )
)
)
print(resp.text)
# Claude 3.7 Sonnet with web_search enabled, limit to 2 queries
import anthropic, os, json
client = anthropic.Anthropic(api_key=os.getenv("ANTHROPIC_API_KEY"))
msg = client.messages.create(
model="claude-3-7-sonnet-20250219",
max_tokens=1024,
tools=[{
"type": "web_search_20250305",
"name": "web_search",
"max_uses":2,
"allowed_domains":["bbc.com", "reuters.com"]
}],
messages=[{"role": "user", "content": "Please give the highlights of the most recent UK prime rate resolution"}]]
)
print(json.dumps(msg,indent=2))
summarize: Truly native, out-of-the-box "connected search" currently only exists in the OpenAI GPT-4o series, Google Gemini, Anthropic Claude, and a small public beta of DeepSeek-R1.The others (Doubao, Tongyiqianqian, etc.) still require a plug-in or external search API. Others (Doubao, Tongyiqianqian, etc.) still require plug-ins or external search APIs to work with them. The choice should be based on a combination ofEase of Call, Citation Transparency, Fees and Regulatory ComplianceThe fallback scenarios (self-built RAGs or function calls) are reserved for service changes.