Skip to main content
For the complete documentation index for agents and LLMs, see llms.txt.

SerperDevWebSearch

Search the web for relevant documents using Serper. Use this component in pipelines that need to retrieve information from the web.

Key Features

  • Searches the web using the Serper Dev API.
  • Configurable number of results with top_k.
  • Supports filtering results by allowed domains.
  • Supports passing additional parameters to the Serper API for advanced query control.
  • Returns both documents and links from the search results.

Configuration

  1. Drag the SerperDevWebSearch component onto the canvas from the Component Library.
  2. Click on the component to open the configuration panel.
  3. On the General tab:
    • Set the SERPERDEV_API_KEY secret in your workspace. For instructions, see Add Secrets.
    • Set top_k to control the number of results to return.
  4. Go to the Advanced tab to configure allowed_domains and search_params.

Connections

SerperDevWebSearch receives a search query string as input. It outputs a list of documents and a list of links. Connect it to components that process or present web search results.

Source Code

To check this component's source code, open serper_dev.py in the Haystack repository.

Usage Examples

Basic Configuration

  SerperDevWebSearch:
type: components.websearch.serper_dev.SerperDevWebSearch
init_parameters: {}

Connect the pipeline's query input to its query input. Connect its documents output to a PromptBuilder or other components that process retrieved content.

components:
SerperDevWebSearch:
type: components.websearch.serper_dev.SerperDevWebSearch
init_parameters:

Parameters

Inputs

ParameterTypeDescription
querystrSearch query.

Outputs

ParameterTypeDescription
documentsList[Document]List of documents returned by the search engine.
linksList[str]List of links returned by the search engine.

Init Parameters

These are the parameters you can configure in Pipeline Builder:

ParameterTypeDefaultDescription
api_keySecretSecret.from_env_var('SERPERDEV_API_KEY')API key for the Serper API.
top_kOptional[int]10Number of documents to return.
allowed_domainsOptional[List[str]]NoneList of domains to limit the search to.
search_paramsOptional[Dict[str, Any]]NoneAdditional parameters passed to the Serper API. For example, you can set 'num' to 20 to increase the number of search results. See the Serper website for more details.

Run Method Parameters

These are the parameters you can configure for the component's run() method. This means you can pass these parameters at query time through the API, in Playground, or when running a job. For details, see Modify Pipeline Parameters at Query Time.

ParameterTypeDefaultDescription
querystrSearch query.