Tool FirecrawlWebSearch

Tool FirecrawlWebSearch

Certified

Search the web with Firecrawl

Uses Firecrawl Search to fetch live web results for the agent. Requires a Firecrawl API key; each search uses Firecrawl credits. Set scrapeContent to also return each result page as Markdown.

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

Agent searching the web using the Firecrawl API

yaml
id: research_agent
namespace: company.ai

inputs:
  - id: prompt
    type: STRING
    defaults: What is the latest Kestra release and what new features does it include? (name 10 new features)

tasks:
  - id: agent
    type: io.kestra.plugin.ai.agent.AIAgent
    prompt: "{{ inputs.prompt }}"
    provider:
      type: io.kestra.plugin.ai.provider.GoogleGemini
      modelName: gemini-3.5-flash-lite
      apiKey: "{{ secret('GEMINI_API_KEY') }}"
    tools:
      - type: io.kestra.plugin.ai.tool.FirecrawlWebSearch
        apiKey: "{{ secret('FIRECRAWL_API_KEY') }}"

Agent reading the full content of each search result

yaml
id: launch_post_agent
namespace: company.ai

inputs:
  - id: prompt
    type: STRING
    defaults: Find the Kestra 2.0 launch blog post and summarize its main announcements in 5 bullet points.

tasks:
  - id: agent
    type: io.kestra.plugin.ai.agent.AIAgent
    prompt: "{{ inputs.prompt }}"
    provider:
      type: io.kestra.plugin.ai.provider.GoogleGemini
      modelName: gemini-3.5-flash-lite
      apiKey: "{{ secret('GEMINI_API_KEY') }}"
    tools:
      - type: io.kestra.plugin.ai.tool.FirecrawlWebSearch
        apiKey: "{{ secret('FIRECRAWL_API_KEY') }}"
        maxResults: 2
        scrapeContent: true
        timeBasedFilter: "qdr:m"
Properties

Firecrawl API Key

Firecrawl API key authorizing web-search calls, 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.

Default5

Maximum results

Number of results returned for each search the agent runs, between 1 and 100. Defaults to 5.

Defaultfalse

Scrape result pages

If true, Firecrawl also scrapes each search result and returns the page content as Markdown, so the agent reads 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.