# tool_firecrawl

A RocketRide tool node that exposes Firecrawl web-scraping operations to an AI agent.

## What it does

Gives an agent the ability to scrape web pages and map website structures using the
Firecrawl API. Useful for agents that need to read live web content or discover URLs
across a site.

Uses the **firecrawl-py** SDK (`FirecrawlApp`). The client is created once when the
pipeline starts; a non-empty `apikey` is required or startup fails.

All Firecrawl calls are wrapped with automatic retry handling: rate-limit responses
(HTTP 429) are retried indefinitely with a 5-second sleep between attempts, and server
errors (HTTP 5xx) are retried up to 5 times with the same delay before the error is
raised.

---

## Configuration


| Field | Type | Description |
|---|---|---|
| `apikey` | string | Default empty. Firecrawl API key |


The node ships a single `default` profile. It has no lanes; it registers as a tool
provider and is invoked by an agent node, not wired into data lanes.

---

## Available tools

Tools are registered under the `firecrawl` prefix.

### scrape_url

Scrape a single web page and return its content.


| Tool | Description |
|---|---|---|
| `scrape_url` | Scrape a single web page and return its content. |
| `map_url` | Map a website's structure and return all discovered URLs. |


Returns `{ success, content, metadata }`. If the requested format is unavailable in the
Firecrawl response, the node falls back to `markdown` content; non-string content is
JSON-encoded.

### map_url

Map a website's structure and return all discovered URLs.

| Parameter | Required | Description       |
|-----------|----------|-------------------|
| `url`     | yes      | Root URL to map   |

Returns `{ success, links }` where `links` is an array of discovered URL strings.

---

## Authentication

Set `apikey` to a Firecrawl API key (created at [firecrawl.dev](https://www.firecrawl.dev)).
The key is passed directly to `FirecrawlApp`, no other credentials are needed.

---

## Upstream docs

- [Firecrawl documentation](https://docs.firecrawl.dev)

---

<!-- ROCKETRIDE:GENERATED:PARAMS START -->
<!-- Generated by nodes:docs-generate. Do not edit by hand. -->

## Schema

| Field | Type | Description | Default |
|---|---|---|---|
| `tool_firecrawl.apikey` | `string` | **API Key**<br/>Firecrawl API key | `""` |

## Dependencies

- `firecrawl-py`

## Source

[<svg viewBox="0 0 16 16" width="15" height="15" fill="currentColor" aria-hidden="true" style="vertical-align:-0.15em;margin-right:0.35em"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg> View source](https://github.com/rocketride-org/rocketride-server/tree/develop/nodes/src/nodes/tool_firecrawl)
<!-- ROCKETRIDE:GENERATED:PARAMS END -->
