UNPKG

n8n-nodes-firecrawl

Version:
1,381 lines (1,380 loc) 42.1 kB
[ { "displayName": "Resource", "name": "resource", "type": "hidden", "noDataExpression": true, "options": [ { "name": "Default", "value": "Default", "description": "" } ], "default": "" }, { "displayName": "Operation", "name": "operation", "type": "options", "noDataExpression": true, "displayOptions": { "show": { "resource": [ "Default" ] } }, "options": [ { "name": "Submit A Crawl Job", "value": "Submit A Crawl Job", "action": "Submit A Crawl Job", "description": "Submits a job to crawl a URL and all accessible subpages", "routing": { "request": { "method": "POST", "url": "=/crawl" } } }, { "name": "Check Crawl Job Status", "value": "Check Crawl Job Status", "action": "Check Crawl Job Status", "description": "Check the status of a crawl job by its ID and retrieve the result", "routing": { "request": { "method": "GET", "url": "=/crawl/{{$parameter[\"crawl_id\"]}}" } } }, { "name": "Crawl Url With Websocket Monitoring", "value": "Crawl Url With Websocket Monitoring", "action": "Crawl Url With Websocket Monitoring", "description": "Initiate a crawl and monitor progress in real-time using WebSocket", "routing": { "request": { "method": "POST", "url": "=/crawl/websocket" }, "output": { "postReceive": [ { "type": "setKeyValue", "properties": { "data": "={{$response.body}}" } } ] } } }, { "name": "Submit A Crawl Job With A Webhook", "value": "Submit A Crawl Job With A Webhook", "action": "Submit A Crawl Job With A Webhook", "description": "Submits a job to crawl a URL and sends webhook events during the crawl process", "routing": { "request": { "method": "POST", "url": "=/crawl/webhook" } } }, { "name": "Scrape A Url And Get Its Content", "value": "Scrape A Url And Get Its Content", "action": "Scrape A Url And Get Its Content", "description": "Scrape a given URL to retrieve content in markdown, HTML, or other formats. This endpoint supports structured data extraction and dynamic actions.", "routing": { "request": { "method": "POST", "url": "=/scrape" } } }, { "name": "Map A Website And Get Urls", "value": "Map A Website And Get Urls", "action": "Map A Website And Get Urls", "description": "Map a URL and retrieve most links present on the website. Optionally, use the `search` parameter to filter URLs by a specific keyword", "routing": { "request": { "method": "POST", "url": "=/map" } } } ], "default": "" }, { "displayName": "POST /crawl", "name": "operation", "type": "notice", "typeOptions": { "theme": "info" }, "default": "", "displayOptions": { "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "required": true, "displayName": "Url", "name": "url", "type": "string", "default": "", "description": "The URL to crawl", "routing": { "request": { "body": { "url": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "displayName": "Limit", "name": "limit", "type": "number", "default": 0, "description": "Limit the number of pages to crawl", "routing": { "request": { "body": { "limit": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "displayName": "Exclude Paths", "name": "excludePaths", "type": "fixedCollection", "default": [], "typeOptions": { "multipleValues": true }, "description": "List of paths to exclude from the crawl", "placeholder": "Add item", "options": [ { "name": "items", "displayName": "Items", "values": [ { "name": "Item", "displayName": "Item", "type": "string", "default": "" } ] } ], "routing": { "request": { "body": { "excludePaths": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "displayName": "Allow Backward Links", "name": "allowBackwardLinks", "type": "boolean", "default": true, "description": "Allow crawling pages that are not direct descendants of the initial URL", "routing": { "request": { "body": { "allowBackwardLinks": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "displayName": "Webhook", "name": "webhook", "type": "string", "default": "", "description": "URL to send webhook events during the crawl process", "routing": { "request": { "body": { "webhook": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "displayName": "Scrape Options", "name": "scrapeOptions", "type": "fixedCollection", "default": {}, "description": "Scraping options", "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "multiOptions", "default": [], "description": "Output format(s) for the scraped data", "options": [ { "name": "markdown", "value": "markdown" }, { "name": "html", "value": "html" }, { "name": "extract", "value": "extract" } ], "name": "formats", "displayName": "Formats" }, { "type": "fixedCollection", "default": {}, "description": "", "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "string", "default": "", "description": "The schema for structured data extraction", "name": "schema", "displayName": "Schema" }, { "type": "string", "default": "", "description": "The system prompt used for extraction", "name": "systemPrompt", "displayName": "Systemprompt" }, { "type": "string", "default": "", "description": "Extraction prompt without schema", "name": "prompt", "displayName": "Prompt" } ] } ], "name": "extract", "displayName": "Extract" } ] } ], "routing": { "request": { "body": { "scrapeOptions": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "displayName": "Custom Body", "name": "customBody", "type": "json", "default": "{\n \"url\": \"string\",\n \"limit\": 0,\n \"excludePaths\": [\n \"string\"\n ],\n \"allowBackwardLinks\": true,\n \"webhook\": \"string\",\n \"scrapeOptions\": {\n \"formats\": [\n \"markdown\"\n ],\n \"extract\": {\n \"schema\": \"string\",\n \"systemPrompt\": \"string\",\n \"prompt\": \"string\"\n }\n }\n}", "description": "Custom body to send", "routing": { "request": { "body": { "customBody": "={{JSON.parse($value)}}" } }, "send": { "preSend": [ "${helpers.hooks.preSendActionCustonBody}" ] } }, "displayOptions": { "show": { "useCustomBody": [ true ], "resource": [ "Default" ], "operation": [ "Submit A Crawl Job" ] } } }, { "displayName": "GET /crawl/{crawl_id}", "name": "operation", "type": "notice", "typeOptions": { "theme": "info" }, "default": "", "displayOptions": { "show": { "resource": [ "Default" ], "operation": [ "Check Crawl Job Status" ] } } }, { "displayName": "Crawl Id", "name": "crawl_id", "required": true, "description": "The ID of the crawl job.", "default": "", "type": "string", "displayOptions": { "show": { "resource": [ "Default" ], "operation": [ "Check Crawl Job Status" ] } } }, { "displayName": "POST /crawl/websocket", "name": "operation", "type": "notice", "typeOptions": { "theme": "info" }, "default": "", "displayOptions": { "show": { "resource": [ "Default" ], "operation": [ "Crawl Url With Websocket Monitoring" ] } } }, { "displayName": "Url", "name": "url", "type": "string", "default": "", "description": "The URL to crawl", "routing": { "request": { "body": { "url": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Crawl Url With Websocket Monitoring" ] } } }, { "displayName": "Exclude Paths", "name": "excludePaths", "type": "fixedCollection", "default": [], "typeOptions": { "multipleValues": true }, "description": "List of paths to exclude from the crawl", "placeholder": "Add item", "options": [ { "name": "items", "displayName": "Items", "values": [ { "name": "Item", "displayName": "Item", "type": "string", "default": "" } ] } ], "routing": { "request": { "body": { "excludePaths": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Crawl Url With Websocket Monitoring" ] } } }, { "displayName": "Limit", "name": "limit", "type": "number", "default": 0, "description": "Limit the number of pages to crawl", "routing": { "request": { "body": { "limit": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Crawl Url With Websocket Monitoring" ] } } }, { "displayName": "Scrape Options", "name": "scrapeOptions", "type": "fixedCollection", "default": {}, "description": "Scraping options", "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "multiOptions", "default": [], "description": "Output format(s) for the scraped data", "options": [ { "name": "markdown", "value": "markdown" }, { "name": "html", "value": "html" }, { "name": "extract", "value": "extract" } ], "name": "formats", "displayName": "Formats" }, { "type": "fixedCollection", "default": {}, "description": "", "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "string", "default": "", "description": "The schema for structured data extraction", "name": "schema", "displayName": "Schema" }, { "type": "string", "default": "", "description": "The system prompt used for extraction", "name": "systemPrompt", "displayName": "Systemprompt" }, { "type": "string", "default": "", "description": "Extraction prompt without schema", "name": "prompt", "displayName": "Prompt" } ] } ], "name": "extract", "displayName": "Extract" } ] } ], "routing": { "request": { "body": { "scrapeOptions": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Crawl Url With Websocket Monitoring" ] } } }, { "displayName": "Custom Body", "name": "customBody", "type": "json", "default": "{\n \"url\": \"string\",\n \"excludePaths\": [\n \"string\"\n ],\n \"limit\": 0,\n \"scrapeOptions\": {\n \"formats\": [\n \"markdown\"\n ],\n \"extract\": {\n \"schema\": \"string\",\n \"systemPrompt\": \"string\",\n \"prompt\": \"string\"\n }\n }\n}", "description": "Custom body to send", "routing": { "request": { "body": { "customBody": "={{JSON.parse($value)}}" } }, "send": { "preSend": [ "${helpers.hooks.preSendActionCustonBody}" ] } }, "displayOptions": { "show": { "useCustomBody": [ true ], "resource": [ "Default" ], "operation": [ "Crawl Url With Websocket Monitoring" ] } } }, { "displayName": "POST /crawl/webhook", "name": "operation", "type": "notice", "typeOptions": { "theme": "info" }, "default": "", "displayOptions": { "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job With A Webhook" ] } } }, { "required": true, "displayName": "Url", "name": "url", "type": "string", "default": "", "description": "The URL to crawl", "routing": { "request": { "body": { "url": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job With A Webhook" ] } } }, { "displayName": "Limit", "name": "limit", "type": "number", "default": 0, "description": "Limit the number of pages to crawl", "routing": { "request": { "body": { "limit": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job With A Webhook" ] } } }, { "displayName": "Webhook", "name": "webhook", "type": "string", "default": "", "description": "URL to send webhook events to", "routing": { "request": { "body": { "webhook": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job With A Webhook" ] } } }, { "displayName": "Exclude Paths", "name": "excludePaths", "type": "fixedCollection", "default": [], "typeOptions": { "multipleValues": true }, "description": "List of paths to exclude from the crawl", "placeholder": "Add item", "options": [ { "name": "items", "displayName": "Items", "values": [ { "name": "Item", "displayName": "Item", "type": "string", "default": "" } ] } ], "routing": { "request": { "body": { "excludePaths": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job With A Webhook" ] } } }, { "displayName": "Scrape Options", "name": "scrapeOptions", "type": "fixedCollection", "default": {}, "description": "Scraping options", "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "multiOptions", "default": [], "description": "Output format(s) for the scraped data", "options": [ { "name": "markdown", "value": "markdown" }, { "name": "html", "value": "html" }, { "name": "extract", "value": "extract" } ], "name": "formats", "displayName": "Formats" }, { "type": "fixedCollection", "default": {}, "description": "", "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "string", "default": "", "description": "The schema for structured data extraction", "name": "schema", "displayName": "Schema" }, { "type": "string", "default": "", "description": "The system prompt used for extraction", "name": "systemPrompt", "displayName": "Systemprompt" }, { "type": "string", "default": "", "description": "Extraction prompt without schema", "name": "prompt", "displayName": "Prompt" } ] } ], "name": "extract", "displayName": "Extract" } ] } ], "routing": { "request": { "body": { "scrapeOptions": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Submit A Crawl Job With A Webhook" ] } } }, { "displayName": "Custom Body", "name": "customBody", "type": "json", "default": "{\n \"url\": \"string\",\n \"limit\": 0,\n \"webhook\": \"string\",\n \"excludePaths\": [\n \"string\"\n ],\n \"scrapeOptions\": {\n \"formats\": [\n \"markdown\"\n ],\n \"extract\": {\n \"schema\": \"string\",\n \"systemPrompt\": \"string\",\n \"prompt\": \"string\"\n }\n }\n}", "description": "Custom body to send", "routing": { "request": { "body": { "customBody": "={{JSON.parse($value)}}" } }, "send": { "preSend": [ "${helpers.hooks.preSendActionCustonBody}" ] } }, "displayOptions": { "show": { "useCustomBody": [ true ], "resource": [ "Default" ], "operation": [ "Submit A Crawl Job With A Webhook" ] } } }, { "displayName": "POST /scrape", "name": "operation", "type": "notice", "typeOptions": { "theme": "info" }, "default": "", "displayOptions": { "show": { "resource": [ "Default" ], "operation": [ "Scrape A Url And Get Its Content" ] } } }, { "displayName": "Url", "name": "url", "type": "string", "default": "", "description": "The URL to scrape", "routing": { "request": { "body": { "url": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Scrape A Url And Get Its Content" ] } } }, { "displayName": "Formats", "name": "formats", "type": "multiOptions", "default": [], "description": "Output format(s) for the scraped data.", "options": [ { "name": "markdown", "value": "markdown" }, { "name": "html", "value": "html" }, { "name": "extract", "value": "extract" } ], "routing": { "request": { "body": { "formats": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Scrape A Url And Get Its Content" ] } } }, { "displayName": "Extract", "name": "extract", "type": "fixedCollection", "default": {}, "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "string", "default": "", "description": "The schema for structured data extraction", "name": "schema", "displayName": "Schema" }, { "type": "string", "default": "", "description": "The system prompt used for extraction", "name": "systemPrompt", "displayName": "Systemprompt" }, { "type": "string", "default": "", "description": "Extraction prompt without schema", "name": "prompt", "displayName": "Prompt" } ] } ], "routing": { "request": { "body": { "extract": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Scrape A Url And Get Its Content" ], "formats": [ "extract" ] } } }, { "displayName": "Actions", "name": "actions", "type": "fixedCollection", "default": [], "typeOptions": { "multipleValues": true }, "description": "List of actions to interact with dynamic content before scraping", "placeholder": "Add item", "options": [ { "name": "items", "displayName": "Items", "values": [ { "type": "options", "default": "wait", "description": "", "options": [ { "name": "wait", "value": "wait" }, { "name": "click", "value": "click" }, { "name": "write", "value": "write" }, { "name": "press", "value": "press" }, { "name": "screenshot", "value": "screenshot" } ], "name": "type", "displayName": "Type" }, { "type": "string", "default": "", "description": "The CSS selector for `click` and `write` actions", "name": "selector", "displayName": "Selector" }, { "type": "number", "default": 0, "description": "Milliseconds to wait for `wait` action", "name": "milliseconds", "displayName": "Milliseconds" }, { "type": "string", "default": "", "description": "Text for `write` action", "name": "text", "displayName": "Text" }, { "type": "string", "default": "", "description": "Key for `press` action", "name": "key", "displayName": "Key" } ] } ], "routing": { "request": { "body": { "actions": "={{$value.items}}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Scrape A Url And Get Its Content" ] } } }, { "displayName": "Custom Body", "name": "customBody", "type": "json", "default": "{\n \"url\": \"string\",\n \"formats\": [\n \"markdown\"\n ],\n \"extract\": {\n \"schema\": \"string\",\n \"systemPrompt\": \"string\",\n \"prompt\": \"string\"\n },\n \"actions\": [\n {\n \"type\": \"wait\",\n \"selector\": \"string\",\n \"milliseconds\": 0,\n \"text\": \"string\",\n \"key\": \"string\"\n }\n ]\n}", "description": "Custom body to send", "routing": { "request": { "body": { "customBody": "={{JSON.parse($value)}}" } }, "send": { "preSend": [ "${helpers.hooks.preSendActionCustonBody}" ] } }, "displayOptions": { "show": { "useCustomBody": [ true ], "resource": [ "Default" ], "operation": [ "Scrape A Url And Get Its Content" ] } } }, { "displayName": "POST /map", "name": "operation", "type": "notice", "typeOptions": { "theme": "info" }, "default": "", "displayOptions": { "show": { "resource": [ "Default" ], "operation": [ "Map A Website And Get Urls" ] } } }, { "displayName": "Url", "name": "url", "type": "string", "default": "https://firecrawl.dev", "description": "The URL of the website to map", "routing": { "request": { "body": { "url": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Map A Website And Get Urls" ] } } }, { "displayName": "Search", "name": "search", "type": "string", "default": "docs", "description": "Search term to filter specific URLs", "routing": { "request": { "body": { "search": "={{ $value }}" } } }, "displayOptions": { "hide": { "useCustomBody": [ true ] }, "show": { "resource": [ "Default" ], "operation": [ "Map A Website And Get Urls" ] } } }, { "displayName": "Custom Body", "name": "customBody", "type": "json", "default": "{\n \"url\": \"https://firecrawl.dev\",\n \"search\": \"docs\"\n}", "description": "Custom body to send", "routing": { "request": { "body": { "customBody": "={{JSON.parse($value)}}" } }, "send": { "preSend": [ "${helpers.hooks.preSendActionCustonBody}" ] } }, "displayOptions": { "show": { "useCustomBody": [ true ], "resource": [ "Default" ], "operation": [ "Map A Website And Get Urls" ] } } } ]