FlowiseAI/Flowise · error · Error

Firecrawl: URL is required for crawl mode

Error message

Firecrawl: URL is required for crawl mode

What it means

Thrown by FireCrawlLoader.load() in crawl mode when no URL was supplied. Crawl requires a seed URL to begin discovering pages.

Source

Thrown at packages/components/nodes/documentloaders/FireCrawl/FireCrawl.ts:608

                markdown: result.description,
                metadata: {
                    title: result.title,
                    sourceURL: result.url,
                    description: result.description
                }
            }))
        } else if (this.mode === 'scrape') {
            if (!this.url) {
                throw new Error('Firecrawl: URL is required for scrape mode')
            }
            const response = await app.scrapeUrl(this.url, this.params)
            if (!response.success) {
                throw new Error(`Firecrawl: Failed to scrape URL. Error: ${response.error}`)
            }
            firecrawlDocs = [response.data as FirecrawlDocument]
        } else if (this.mode === 'crawl') {
            if (!this.url) {
                throw new Error('Firecrawl: URL is required for crawl mode')
            }
            const response = await app.crawlUrl(this.url, this.params)
            if ('status' in response) {
                if (response.status === 'failed') {
                    throw new Error('Firecrawl: Crawl job failed')
                }
                firecrawlDocs = response.data || []
            } else {
                if (!response.success) {
                    throw new Error(`Firecrawl: Failed to scrape URL. Error: ${response.error}`)
                }
                firecrawlDocs = [response.data as FirecrawlDocument]
            }
        } else if (this.mode === 'extract') {
            if (!this.url) {
                throw new Error('Firecrawl: URL is required for extract mode')
            }
            this.params!.urls = [this.url]

View on GitHub (pinned to abe4a8601a)

Solutions

  1. Provide a valid absolute URL as the crawl seed.
  2. Validate the upstream URL value before constructing the loader.
  3. Switch to search mode if only a query is available.

Example fix

// before
new FireCrawlLoader({ apiKey, mode: 'crawl' }).load()

// after
const url = (inputUrl || '').trim()
if (!url) throw new Error('Crawl mode requires a seed URL')
new URL(url)
new FireCrawlLoader({ apiKey, mode: 'crawl', url }).load()
Defensive patterns

Strategy: validation

Validate before calling

const url = (params.url ?? '').trim()
if (!url) throw new Error('crawl mode requires a seed url')
new URL(url)
new FireCrawlLoader({ ...params, mode: 'crawl', url })

Type guard

function hasValidUrl(p: FirecrawlLoaderParameters): p is FirecrawlLoaderParameters & { url: string } {
  if (typeof p.url !== 'string' || !p.url.trim()) return false
  try { new URL(p.url); return true } catch { return false }
}

Try / catch

try { await loader.load() }
catch (e) { if (/URL is required for crawl mode/.test((e as Error).message)) throw new Error('Provide a seed URL for the crawl node'); throw e }

Prevention

When it happens

Trigger: new FireCrawlLoader({ apiKey, mode: 'crawl', url: undefined }) then .load(). Same shape as [135] but for crawl mode.

Common situations: URL field blank in node UI; upstream node produced no URL; template variable unresolved.

Related errors


AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12). Data as JSON: /api/errors/2af51c4910607ded. Report an issue: GitHub.