FlowiseAI/Flowise · error · Error
No API key provided
Error message
No API key provided
What it means
FirecrawlApp constructor requires a non-empty apiKey. The credential is read from nodeData and if it resolves to null, undefined, or empty string, this throws immediately - before any network call. apiUrl defaults to https://api.firecrawl.dev.
Source
Thrown at packages/components/nodes/documentloaders/FireCrawl/FireCrawl.ts:142
}
interface ExtractStatusResponse {
success: boolean
data: any
status: 'completed' | 'pending' | 'processing' | 'failed' | 'cancelled'
expiresAt: string
}
// FirecrawlApp class (not exported)
class FirecrawlApp {
private apiKey: string
private apiUrl: string
constructor({ apiKey = null, apiUrl = null }: FirecrawlAppConfig) {
this.apiKey = apiKey || ''
this.apiUrl = apiUrl || 'https://api.firecrawl.dev'
if (!this.apiKey) {
throw new Error('No API key provided')
}
}
async scrapeUrl(url: string, params: Params | null = null): Promise<ScrapeResponse> {
const headers = this.prepareHeaders()
// Create a clean payload with only valid parameters
const validParams: any = {
url,
formats: ['markdown'],
onlyMainContent: true
}
// Add optional parameters if they exist
if (params?.scrapeOptions) {
if (params.scrapeOptions.includeTags) {
validParams.includeTags = Array.isArray(params.scrapeOptions.includeTags)
? params.scrapeOptions.includeTagsView on GitHub (pinned to abe4a8601a)
Solutions
- Create a FireCrawl credential in Flowise with the key from https://firecrawl.dev/dashboard and attach it to the node.
- Confirm getCredentialParam('apiKey', ...) reads the same field name stored in the credential.
- If automating, ensure the credential is provisioned before the flow runs.
Defensive patterns
Strategy: validation
Validate before calling
function assertApiKey(key: unknown): asserts key is string {
if (typeof key !== 'string' || key.trim() === '') {
throw new Error('FireCrawl apiKey is missing - attach a FireCrawl credential to the node')
}
}
// const apiKey = getCredentialParam('apiKey', credentialData, nodeData)
// assertApiKey(apiKey) before new FirecrawlApp({ apiKey }) Type guard
function hasApiKey(cred: unknown): cred is { apiKey: string } {
return typeof cred === 'object' && cred !== null
&& typeof (cred as any).apiKey === 'string' && (cred as any).apiKey.trim() !== ''
} Prevention
- Attach a FireCrawl credential with a non-empty apiKey before running the flow.
- Verify the apiKey field name matches what getCredentialParam reads.
- Rotate and re-store the key if it was revoked on the FireCrawl dashboard.
When it happens
Trigger: FireCrawl credential not attached to the node; credential exists but the apiKey field is blank; getCredentialParam returned undefined because the credential key name does not match.
Common situations: User added the node but forgot to attach a FireCrawl credential; API key was revoked on the FireCrawl dashboard; environment-specific credential mapping points at the wrong entry.
Related errors
- HuggingFace API key is required. Please configure it in the
- Please set an API key for HuggingFace Hub. Either configure
- Perplexity API Key missing from credential
- Crawl failed: ${error.response.data.error}
- Please set an API key for HuggingFace Hub in the environment
AI-assisted analysis of FlowiseAI/Flowise@abe4a8601a (2026-08-12).
Data as JSON: /api/errors/33a709d04eb3764a.
Report an issue: GitHub.