---
title: "Execute Web Search"
method: POST
path: "/web-search/search"
tags: ["public"]
---

# Execute Web Search

`POST /web-search/search`

Perform a web search and immediately fetch content for the returned URLs.

Use this when you want both snippets and page contents from one call.

If you want to selectively fetch content (i.e. let the LLM decide which URLs to read),
use `/search-lite` and then call `/open-urls` separately.

## Request body

- WebSearchToolRequest
  - `queries` string[], required — List of search queries to send to the configured provider.
  - `max_results` integer, nullable — Optional cap on number of results to return per query. Defaults to 10.

## Response `200`

Successful Response

- WebSearchWithContentResponse
  - `search_provider_type` 'google_pse' | 'serper' | 'exa' | 'searxng', required
  - `content_provider_type` 'onyx_web_crawler' | 'firecrawl' | 'exa'
  - `search_results` LlmWebSearchResult[], required
    - `document_citation_number` integer, required
    - `unique_identifier_to_strip_away` string, nullable
    - `type` 'web_search'
    - `url` string, required
    - `title` string, required
    - `snippet` string, required
  - `full_content_results` LlmOpenUrlResult[], required
    - `document_citation_number` integer, required
    - `unique_identifier_to_strip_away` string, nullable
    - `type` 'open_url'
    - `content` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/onyx-dot-app/apis/agents-api.md) · [All operations](https://skmtc.net/onyx-dot-app/apis/agents-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/onyx-dot-app/agents-api/versions/ea131344b29e/schema)
