Web search on Databricks
This page describes web search on Databricks and how to use it to ground model responses with real-time information from the web. Web search is available for Gemini and OpenAI foundation models served through Foundation Model APIs, and for Anthropic models through Model Context Protocol (MCP).
What is web search?
Web search allows foundation models to retrieve up-to-date information from the internet during response generation. When web search is enabled, the model can search the web to find relevant information and incorporate it into its response. This is useful for questions about current events, recent data, or any topic where real-time information improves the response.
Use web search
How you enable web search depends on the model provider and API you use:
- Gemini models: Use the
google_searchparameter with the Chat Completions API or the Google Gemini API. - OpenAI models: Use the
web_searchtool with the OpenAI Responses API. - Anthropic models: Use a web search MCP server such as You.com from Databricks Marketplace.
Web search for OpenAI models is only available through the Responses API. It is not supported through the Chat Completions API.
Gemini models with the Chat Completions API
To enable web search for Gemini models using the Chat Completions API, pass google_search as a top-level parameter in the request body.
- Python
- REST API
import os
from openai import OpenAI
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)
response = client.chat.completions.create(
model="databricks-gemini-2-5-pro",
messages=[
{"role": "user", "content": "What are the best Italian restaurants in San Francisco?"}
],
extra_body={"google_search": {}}
)
print(response.choices[0].message.content)
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"messages": [
{"role": "user", "content": "What are the best Italian restaurants in San Francisco?"}
],
"google_search": {}
}' \
https://<workspace_host>.databricks.com/serving-endpoints/databricks-gemini-2-5-pro/invocations
Gemini models with the Google Gemini API
To enable web search using the Google Gemini API, pass google_search as a tool.
- Python
- REST API
from google import genai
from google.genai import types
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://example.staging.cloud.databricks.com/serving-endpoints/gemini",
headers={
"Authorization": f"Bearer {DATABRICKS_TOKEN}",
},
),
)
response = client.models.generate_content(
model="databricks-gemini-2-5-pro",
contents=[
types.Content(
role="user",
parts=[types.Part(text="What are the best Italian restaurants in San Francisco?")],
),
],
config=types.GenerateContentConfig(
tools=[types.Tool(google_search=types.GoogleSearch())],
),
)
print(response.text)
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"contents": [
{
"role": "user",
"parts": [{"text": "What are the best Italian restaurants in San Francisco?"}]
}
],
"tools": [
{"google_search": {}}
]
}' \
https://<workspace_host>.databricks.com/serving-endpoints/gemini/v1beta/models/databricks-gemini-2-5-pro:generateContent
OpenAI models with the Responses API
To enable web search for OpenAI models, pass web_search as a tool using the OpenAI Responses API.
- Python
- REST API
import os
from openai import OpenAI
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)
response = client.responses.create(
model="databricks-gpt-5",
input=[
{"role": "user", "content": "What are the best Italian restaurants in San Francisco?"}
],
tools=[{"type": "web_search"}]
)
print(response.output_text)
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "databricks-gpt-5",
"input": [
{"role": "user", "content": "What are the best Italian restaurants in San Francisco?"}
],
"tools": [
{"type": "web_search"}
]
}' \
https://<workspace_host>.databricks.com/serving-endpoints/responses
Anthropic models with MCP
Anthropic's native web search tool is not available through Databricks Foundation Model APIs. Instead, you can add web search to Anthropic models using the Model Context Protocol (MCP) with a search provider such as You.com.
Set up the You.com MCP server
- Navigate to Marketplace > Agents > MCP Servers in your Databricks workspace.
- Search for You.com and click Install.
- Configure the connection:
- Connection name: Enter a name (for example,
youcom_web_search). - Bearer token: Enter your You.com API key.
- Click Install.
- Grant USE CONNECTION privileges to appropriate users or groups under Catalog > Connections > [your connection] > Permissions.
After setup, the MCP server is available as a tool in AI Playground, agents, and other MCP-compatible clients. The proxy endpoint URL for your connection is:
https://<workspace_host>.databricks.com/api/2.0/mcp/external/<connection_name>
Use with Claude Code
If you use Claude Code with Databricks Foundation Model APIs, add the You.com MCP server to enable web search:
claude mcp add youcom-search \
--transport http \
--url "https://<workspace_host>.databricks.com/api/2.0/mcp/external/<connection_name>" \
--header "Authorization: Bearer <your-databricks-pat>"
Verify the server was added with claude mcp list.
Alternatively, add the server directly to ~/.claude.json:
{
"mcpServers": {
"youcom-search": {
"type": "http",
"url": "https://<workspace_host>.databricks.com/api/2.0/mcp/external/<connection_name>",
"headers": {
"Authorization": "Bearer <your-databricks-pat>"
}
}
}
}
Supported models
Web search is supported on all Gemini and OpenAI pay-per-token foundation models. See Databricks-hosted foundation models available in Foundation Model APIs for region availability.
Gemini models
databricks-gemini-3-1-prodatabricks-gemini-3-1-flash-litedatabricks-gemini-3-prodatabricks-gemini-3-flashdatabricks-gemini-2-5-prodatabricks-gemini-2-5-flash
OpenAI models
databricks-gpt-5-4databricks-gpt-5-4-minidatabricks-gpt-5-4-nanodatabricks-gpt-5-3-codexdatabricks-gpt-5-2databricks-gpt-5-2-codexdatabricks-gpt-5-1databricks-gpt-5-1-codex-maxdatabricks-gpt-5-1-codex-minidatabricks-gpt-5databricks-gpt-5-minidatabricks-gpt-5-nano
Anthropic models (via MCP)
Web search via MCP is supported on all Anthropic foundation models that support tool use.
databricks-claude-sonnet-4-6databricks-claude-sonnet-4-5databricks-claude-opus-4-6databricks-claude-opus-4-5databricks-claude-opus-4-1databricks-claude-sonnet-4
Limitations
- Web search is only available on pay-per-token foundation model endpoints. Provisioned throughput endpoints do not support web search.
- External models do not support web search through Databricks.
- Web search is not available for workspaces with HIPAA/BAA compliance enabled because web search queries are sent to external search services that are not HIPAA-compliant.
- Web search results depend on the model's ability to formulate search queries and synthesize results. Response quality may vary.
- For OpenAI models, web search is only available through the Responses API. The Chat Completions API does not support web search for OpenAI models.
- Web search for Gemini models is not available when cross-region processing is disabled. Gemini does not support in-geo search processing, so any workspace with data residency enforcement is ineligible.
- Web search for OpenAI models is not available when cross-region processing is disabled, unless the workspace is in an eligible geo (Americas or Europe). OpenAI supports in-geo search processing in these regions.