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

SearchApiWebSearch

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

Key Features

  • Searches the web using the SearchApi service.
  • Configurable number of results with top_k.
  • Supports filtering results by allowed domains.
  • Supports passing additional parameters to the SearchApi API, including the ability to change the search engine.
  • Returns both documents and links from the search results.

Configuration

  1. Drag the SearchApiWebSearch 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 SEARCHAPI_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

SearchApiWebSearch 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 searchapi.py in the Haystack repository.

Usage Examples

Basic Configuration

  SearchApiWebSearch:
type: components.websearch.searchapi.SearchApiWebSearch
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:
SearchApiWebSearch:
type: components.websearch.searchapi.SearchApiWebSearch
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('SEARCHAPI_API_KEY')API key for the SearchApi 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 SearchApi API. For example, you can set 'num' to 100 to increase the number of search results. See the SearchApi website for more details. The default search engine is Google, however, users can change it by setting the engine parameter in the search_params.

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.