AI agents for Firecrawl
Clean page extraction for research-grade scraping. AGNT connects to Firecrawl so agents can read what happens there, reason about it, and act — with a receipt for every run.
Research Analyst is a ready-made agent that works in Firecrawl — free, and it runs on your machine.
Firecrawl and AGNT, in brief
| What it does | Lets an AGNT agent read from and act in Firecrawl. |
|---|---|
| Connects with | An API key held in the local vault |
| AGNT node | firecrawl-api |
| Runs when | A scheduled crawl runs |
| Typical build time | Two minutes |
| Where data goes | Nowhere by default — AGNT runs on your machine and credentials never leave it. |
What you can automate
Reacts when…
- a scheduled crawl runs
Agents can…
- scrape pages to clean text
- crawl site sections
- extract structured fields
Teams use it for
- competitor pages diffed weekly
- research corpora built from the web
- listings extracted into sheets
Build it: the Firecrawl workflow
Design goal for Firecrawl: competitor pages diffed weekly; research corpora built from the web; listings extracted into sheets. The template below supplies configurable nodes, not the complete logic for those goals.
Use this Firecrawl setup template to arrange the schedule, input review and API operation. Configure the account-specific fields and add your own decision and approval controls before activation.
This is a schema-checked starting point, not an end-to-end tested automation. Replace every CONFIGURE_ value, choose the operations you intend, connect credentials and map source outputs into later inputs. An edge orders steps; it does not supply a condition, an approval gate or a field mapping. Add and test those controls explicitly before any write. Cloud APIs and model providers may receive data. Keep the workflow inactive until tested with fixtures.
{
"id": "88766061-92e7-4fc7-a77b-43863b62d08e",
"name": "Firecrawl — read, decide, act",
"nodes": [
{
"id": "754fa7fb-893a-484c-a1c7-c5f7c7fe12c4",
"text": "Run on a schedule",
"x": 512,
"y": 144,
"isEditing": false,
"type": "trigger-timer",
"icon": "clock",
"category": "trigger",
"isSelected": false,
"parameters": {
"fireOnStart": "No",
"scheduleType": "Interval",
"schedule": "Every 15 Minutes"
},
"description": "Setup template for Timer Trigger. This trigger node fires the workflow at specified intervals or at a specific time. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "e77439bd-94f3-4bdb-a887-28cc454e6222",
"text": "Review source and draft",
"x": 512,
"y": 336,
"isEditing": false,
"type": "agnt-agent",
"icon": "agnt",
"category": "action",
"isSelected": false,
"parameters": {
"agentId": "CONFIGURE_AGENTID",
"message": "Read the Firecrawl item and decide whether it warrants action. Explain your reasoning.\nSource input: CONFIGURE_SOURCE_INPUT. Produce a reviewable draft only; do not take external actions."
},
"description": "Setup template for Agent Chat. Chat with an AI agent from your agent library. Select an agent and send messages to interact with it within your workflow. Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
},
{
"id": "48b12ff3-d312-42d6-a4f9-839133fab214",
"text": "Configure destination in Firecrawl",
"x": 512,
"y": 528,
"isEditing": false,
"type": "firecrawl-api",
"icon": "connect",
"category": "action",
"isSelected": false,
"parameters": {
"url": "CONFIGURE_URL",
"format": "Markdown"
},
"description": "Setup template for Firecrawl API. Scrape web content using Firecrawl API Configure credentials, inputs and output mapping before use.",
"error": null,
"isActive": false,
"output": null,
"outputs": {}
}
],
"edges": [
{
"id": "915c4abb-3c40-4d45-aa45-9dec0d39983a",
"start": {
"id": "754fa7fb-893a-484c-a1c7-c5f7c7fe12c4",
"type": "output"
},
"end": {
"id": "e77439bd-94f3-4bdb-a887-28cc454e6222",
"type": "input"
},
"startX": 800,
"startY": 168,
"endX": 512,
"endY": 360
},
{
"id": "23c7c814-8208-4d50-a349-669eee620b30",
"start": {
"id": "e77439bd-94f3-4bdb-a887-28cc454e6222",
"type": "output"
},
"end": {
"id": "48b12ff3-d312-42d6-a4f9-839133fab214",
"type": "input"
},
"startX": 800,
"startY": 360,
"endX": 512,
"endY": 552
}
],
"zoomLevel": 1,
"canvasOffsetX": 0,
"canvasOffsetY": 0,
"isTinyNodeMode": false
}
Configure Firecrawl API
Scrape web content using Firecrawl API
- url — The URL to scrape Current example:
CONFIGURE_URL. - format — The desired output format Current example:
Markdown.
Install Research Analyst — it runs on Firecrawl
Research Analyst is a working agent that uses Firecrawl. Installing it drops the whole workflow onto your canvas — connected, editable, and yours to change.
Runs on your own machine · See what it does
Clean text is what makes web data usable
Raw HTML is mostly navigation, scripts and boilerplate. Extraction that returns clean readable text is what makes a page useful as model input, and it is the difference between research that works and a context window full of menus.
Monitoring and research at scale
Scheduled crawls of pages you care about — competitor pricing, changelogs, documentation — build the history that makes change detection meaningful rather than a snapshot of today.
Inside the Firecrawl API node
Scrape web content using Firecrawl API
Full Firecrawl API parameter reference
| Parameter | Type | What it does |
|---|---|---|
urlrequired |
string | The URL to scrape |
formatrequired |
string | The desired output format Markdown · HTML |
Every parameter above is read from the shipped firecrawl-api node, so it cannot drift from the product.
Connect Firecrawl in two minutes
- Download AGNT Community Core — free, local-first, no account needed to run.
- Connect by pasting an API key into AGNT’s vault — stored encrypted on your machine, never uploaded.
- Drop the Firecrawl node into a workflow or hand it to an agent — the first run produces a receipt you can read line by line.
Firecrawl + AGNT — common questions
What is this better at than a plain HTTP fetch?
Returning clean text rather than markup, which is what makes the result usable as model input.
Can it crawl whole sections?
Yes, as well as extracting specific structured fields.
How is it connected?
With an API key held encrypted in the local vault.