Retriever FirecrawlWebSearch

Retriever FirecrawlWebSearch

Certified

Retrieve web results with Firecrawl

Uses Firecrawl Search to fetch live web context for RAG. Requires a Firecrawl API key; maxResults caps returned results and defaults to 3. Set scrapeContent to retrieve each result page as Markdown. Requests use Firecrawl credits.

yaml
type: io.kestra.plugin.ai.retriever.FirecrawlWebSearch

RAG chat with a Firecrawl web search content retriever (answers grounded in live search results)

yaml
id: rag
namespace: company.ai

tasks:
  - id: chat_with_rag_and_websearch_content_retriever
    type: io.kestra.plugin.ai.rag.ChatCompletion
    chatProvider:
      type: io.kestra.plugin.ai.provider.GoogleGemini
      modelName: gemini-3.5-flash-lite
      apiKey: "{{ secret('GEMINI_API_KEY') }}"
    contentRetrievers:
      - type: io.kestra.plugin.ai.retriever.FirecrawlWebSearch
        apiKey: "{{ secret('FIRECRAWL_API_KEY') }}"
    prompt: What is the latest release of Kestra?
Properties

API Key

Firecrawl API key used to authenticate search requests, obtainable from the Firecrawl dashboard. Store it as a Kestra secret rather than inline. No default: this property is required.

Base URL

Base URL of the Firecrawl API, including the /v2/ path. Change it only to use a self-hosted Firecrawl instance. Defaults to https://api.firecrawl.dev/v2/.

Location

Location used to localize search results, for example Germany. No default: results are not localized.

Default3

Maximum results

Number of search results retrieved for each query, between 1 and 100. Defaults to 3.

Defaultfalse

Scrape result pages

If true, Firecrawl also scrapes each search result and returns the page content as Markdown, so the retrieved context holds the full page and not only a snippet. Every page goes into the model context, so keep maxResults low. Scraping uses additional Firecrawl credits. Defaults to false.

Time-based filter

Restricts results by date, sent as Firecrawl's tbs parameter, for example qdr: d (past day), qdr: w (past week) or qdr: m (past month). No default: results are not filtered by date.

Request timeout

Maximum time to wait for each search request. Defaults to 10 seconds, or 90 seconds when scrapeContent is true.