FireCrawl ACTION
Crawl URL
Crawls a given URL and returns the contents of sub-pages. See the documentation
- Action
- Writes data
- API key
- SDK
- MCP
IMPLEMENTATION
Call this tool
Connect a user's FireCrawl account once, then configure and run Crawl URL from your backend or agent.
import { PipedreamClient } from "@pipedream/sdk"
const pd = new PipedreamClient({
projectId: process.env.PIPEDREAM_PROJECT_ID!,
clientId: process.env.PIPEDREAM_CLIENT_ID!,
clientSecret: process.env.PIPEDREAM_CLIENT_SECRET!,
projectEnvironment: "production",
})
const result = await pd.actions.run({
id: "firecrawl-crawl-url",
externalUserId: "{external_user_id}", // any stable ID for this user in your system
configuredProps: {
firecrawl: { authProvisionId: "apn_xxxxxxx" },
url: "URL",
prompt: "Prompt",
},
})
console.log(result)curl -X POST https://api.pipedream.com/v1/connect/{project_id}/actions/run \
-H "Content-Type: application/json" \
-H "X-PD-Environment: production" \
-H "Authorization: Bearer {access_token}" \
-d '{
"external_user_id": "{external_user_id}",
"id": "firecrawl-crawl-url",
"configured_props": {
"firecrawl": { "authProvisionId": "apn_xxxxxxx" },
"url": "URL",
"prompt": "Prompt"
}
}'// accessToken: mint a short-lived token with the Connect SDK — see the MCP guide
const transport = new StreamableHTTPClientTransport(
new URL("https://remote.mcp.pipedream.net/v3"),
{
requestInit: {
headers: {
Authorization: `Bearer ${accessToken}`,
"x-pd-project-id": "{project_id}",
"x-pd-environment": "production",
"x-pd-external-user-id": "{external_user_id}", // any stable ID for this user in your system
"x-pd-app-slug": "firecrawl",
},
},
},
)
const mcp = new Client({ name: "my-agent", version: "1.0.0" })
await mcp.connect(transport)
const { tools } = await mcp.listTools()
// listTools() hands your model this tool's input schema, so it can
// fill the arguments itself:
const result = await mcp.callTool({
name: "firecrawl-crawl-url",
arguments: {
url: "URL",
prompt: "Prompt",
},
})SCHEMA
Inputs
Pipedream supplies the connected account. Your application provides the operation-specific values below. Dynamic inputs are resolved against that user's account.
| Property | Type | Description |
|---|---|---|
url URL | string | The URL to start crawling from Required |
prompt Prompt | string | A prompt to use to generate the crawler options (all the parameters below) from natural language. Explicitly set parameters will override the generated equivalents. Optional |
excludePaths Exclude Paths | string[] | URL pathname regex patterns that exclude matching URLs from the crawl. For example, a value of blog/.* for the URL firecrawl.dev will exclude any results matching that pattern, such as https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap Optional |
includePaths Include Paths | string[] | Similar to Exclude Paths, but if set, only the paths matching the specified patterns will be included Optional |
maxDiscoveryDepth Max Discovery Depth | integer | Maximum depth to crawl based on discovery order. The root site and sitemapped pages has a discovery depth of 0. For example, if you set it to 1, and you set sitemap: 'skip', you will only crawl the entered URL and all URLs that are linked on that page. Optional |
sitemap Sitemap | string | Sitemap mode when crawling. If you set it to 'skip', the crawler will ignore the website sitemap and only crawl the entered URL and discover pages from there onwards. Optional |
ignoreQueryParameters Ignore Query Parameters | boolean | Do not re-scrape the same path with different (or none) query parameters Optional |
limit Limit | integer | Maximum number of pages to crawl Optional |
crawlEntireDomain Crawl Entire Domain | boolean | Allows the crawler to follow internal links to sibling or parent URLs, not just child paths. Optional |
allowExternalLinks Allow External Links | boolean | Allows the crawler to follow links to external websites Optional |
additionalOptions Additional Options | object | Additional parameters to send in the request. See the documentation for available parameters. Values will be parsed as JSON where applicable. For example, to add the webhook param, use the value {"webhook": {"url": "https://your-server-webhook-api.com","headers": {},"metadata": {},"events": ["completed"]}} Optional |
REFERENCE
Tool details
Behavior hints are published with the component in the Pipedream registry and surface as MCP tool annotations, so an agent can reason about a tool before it calls it.
- Registry key
- firecrawl-crawl-url
- Version
- 1.1.2
- App
- FireCrawl
- Authentication
- API key
- Read-only
- No
- Destructive
- No
- Open world
- Yes
- Source
- View on GitHub ↗