Overview
Add Firecrawl to any ModuleX agent or workflow. AI-powered web scraping, crawling, and search against the Firecrawl v1 REST API (api.firecrawl.dev/v1). Covers single-URL scraping, URL discovery (map), web search, multi-page crawls with job-id + status polling, LLM-based structured extraction, and batch scraping.
Categories : Web Search & Scraping · Data · Search · Auth : API Key, ModuleX Managed Key · Actions : 7
Authentication
API Key
ModuleX Managed Key
API Key Authentication Authenticate using your Firecrawl API key Required Credentials Field Description Required Format Firecrawl API Key Your Firecrawl API key for authentication Yes fc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ModuleX Managed Key Use ModuleX’s managed API keys with usage tracked against your weekly credit limit
Available Actions
scrape — Scrape content from a single URL with advanced options. Best for single page content extraction when you know exactly which page contains the information.
map_website — Map a website to discover all indexed URLs. Best for discovering URLs before deciding what to scrape.
Parameters Starting URL for URL discovery
Optional search term to filter URLs
Sitemap handling: ‘include’, ‘skip’, or ‘only’
Include URLs from subdomains in results
Maximum number of URLs to return
Do not return URLs with query parameters (Default: true)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"data" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Data"
}
},
"required" : [
"success"
],
"title" : "MapWebsiteOutput" ,
"type" : "object"
}
search — Search the web and optionally extract content from search results. Supports operators: site:, inurl:, intitle:, and exact match with quotes.
Parameters Search query string (supports operators)
Maximum number of results to return (Default: 5)
Location parameter for search results
Options for scraping search results
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"data" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Data"
}
},
"required" : [
"success"
],
"title" : "SearchOutput" ,
"type" : "object"
}
crawl — Start a crawl job on a website. Returns a job ID — use check_crawl_status to monitor.
Parameters Starting URL for the crawl
URL paths to exclude from crawling
Only crawl these URL paths
Maximum depth to crawl relative to the entered URL
Maximum number of pages to crawl (Default: 100)
Allow crawling links to external domains (Default: false)
Allow crawling links to parent paths (Default: false)
Ignore the website sitemap when crawling (Default: false)
Options for scraping each page
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"data" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Data"
}
},
"required" : [
"success"
],
"title" : "CrawlOutput" ,
"type" : "object"
}
check_crawl_status — Check the status of a crawl job and retrieve results once complete.
Parameters Crawl job ID returned from the crawl action
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"data" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Data"
}
},
"required" : [
"success"
],
"title" : "CheckCrawlStatusOutput" ,
"type" : "object"
}
extract — Extract structured information from web pages using LLM capabilities. Best for extracting specific structured data.
batch_scrape — Batch scrape multiple URLs efficiently. More efficient than calling scrape multiple times.
Parameters Content formats to extract (Default: ["markdown"])
Extract only the main content (Default: true)
Response {
"additionalProperties" : false ,
"properties" : {
"success" : {
"title" : "Success" ,
"type" : "boolean"
},
"error" : {
"anyOf" : [
{
"type" : "string"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Error"
},
"data" : {
"anyOf" : [
{
"additionalProperties" : true ,
"type" : "object"
},
{
"type" : "null"
}
],
"default" : null ,
"title" : "Data"
}
},
"required" : [
"success"
],
"title" : "BatchScrapeOutput" ,
"type" : "object"
}
Limits & Quotas
HTTP timeouts: 120s for scrape/map/search/status; 180s for
crawl/extract/batch (long-running jobs).
Snake_case input parameters are converted to camelCase for the
upstream API (only_main_content → onlyMainContent, etc.).
Response data carries the upstream JSON body unchanged so callers
see the rich nested metadata Firecrawl returns.
Failures (non-2xx, timeouts, parse errors) surface as
success=False + error; empty/blank API keys short-circuit.
Links