firecrawl-browser
firecrawl/cli
Interact with live webpages: click, fill forms, navigate, and extract data after scraping.
What is firecrawl-browser?
Deprecated in favor of scrape + interact. Use this skill when you need to interact with a webpage through clicks, form fills, pagination, or multi-step flows. It requires scraping a page first, then executing natural language prompts or code to manipulate and extract data from the live browser session.
- Click buttons and links on scraped pages using natural language or code
- Fill and submit forms with data
- Navigate multi-step flows and handle pagination
- Extract data after interaction completes
- Persist browser state (cookies, localStorage) across sessions using profiles
- Execute precise browser commands via bash, Python, or Node.js code
How to install firecrawl-browser
npx skills add null --skill firecrawl-browser- A previous firecrawl scrape command (scrape ID is saved automatically)
- Firecrawl CLI installed and authenticated
How to use firecrawl-browser
- 1.Run firecrawl scrape with a URL to create a scrape session
- 2.Use firecrawl interact --prompt with a natural language instruction (e.g., 'Click the login button')
- 3.Optionally use firecrawl interact --code with bash, python, or node code for precise control
- 4.Repeat interact commands as needed to navigate and extract data
- 5.Run firecrawl interact stop to end the session and free resources
Use cases
- Log into a website and extract authenticated content
- Navigate a multi-page checkout or form flow
- Click through pagination to collect all results
- Fill search filters and extract filtered results
- Handle infinite scroll or lazy-loaded content
- Web scraping engineers needing interactive workflows
- Developers automating form submissions and logins
- Data extraction specialists handling JavaScript-heavy sites
- QA automation engineers testing user flows
firecrawl-browser FAQ
No. The scrape ID is saved automatically from your last firecrawl scrape call. Use --scrape-id only if you want to target a specific earlier scrape.
Use the --profile flag on scrape to persist cookies and localStorage. Subsequent scrapes with the same profile will maintain the authenticated state.
Try scrape first. Use interact only when scrape fails because content requires JavaScript interaction, or when you need to click, fill forms, or navigate.
No. Use firecrawl-search for web searches. Interact is only for manipulating pages you've already scraped.
Bash, Python, and Node.js are supported via the --language option.
Full instructions (SKILL.md)
Source of truth, from firecrawl/cli.
name: firecrawl-browser description: | DEPRECATED — use scrape + interact instead. Interact lets you scrape a page and then click, fill forms, and navigate without managing sessions manually. Use this skill when the user needs to interact with a webpage, log into a site, click buttons, fill forms, navigate multi-step flows, handle pagination, or when regular scraping fails because content requires JavaScript interaction. Triggers on "click", "fill out the form", "log in to", "paginated", "infinite scroll", "interact with the page", or "scrape failed". allowed-tools:
- Bash(firecrawl *)
- Bash(npx firecrawl *)
firecrawl interact (formerly browser)
The
browsercommand is deprecated. Usescrape+interactinstead. Interact lets you scrape a page and then click, fill forms, and navigate without managing sessions manually.
Interact with scraped pages in a live browser session. Scrape a page first, then use natural language prompts or code to click, fill forms, navigate, and extract data.
When to use
- Content requires interaction: clicks, form fills, pagination, login
scrapefailed because content is behind JavaScript interaction- You need to navigate a multi-step flow
- Last resort in the workflow escalation pattern: search → scrape → map → crawl → interact
- Never use interact for web searches — use
searchinstead
Quick start
# 1. Scrape a page (scrape ID is saved automatically)
firecrawl scrape "<url>"
# 2. Interact with the page using natural language
firecrawl interact --prompt "Click the login button"
firecrawl interact --prompt "Fill in the email field with test@example.com"
firecrawl interact --prompt "Extract the pricing table"
# 3. Or use code for precise control
firecrawl interact --code "agent-browser click @e5" --language bash
firecrawl interact --code "agent-browser snapshot -i" --language bash
# 4. Stop the session when done
firecrawl interact stop
Options
| Option | Description |
|---|---|
--prompt <text> | Natural language instruction (use this OR --code) |
--code <code> | Code to execute in the browser session |
--language <lang> | Language for code: bash, python, node |
--timeout <seconds> | Execution timeout (default: 30, max: 300) |
--scrape-id <id> | Target a specific scrape (default: last scrape) |
-o, --output <path> | Output file path |
Profiles
Use --profile on the scrape to persist browser state (cookies, localStorage) across scrapes:
# Session 1: Login and save state
firecrawl scrape "https://app.example.com/login" --profile my-app
firecrawl interact --prompt "Fill in email with user@example.com and click login"
# Session 2: Come back authenticated
firecrawl scrape "https://app.example.com/dashboard" --profile my-app
firecrawl interact --prompt "Extract the dashboard data"
Read-only reconnect (no writes to profile state):
firecrawl scrape "https://app.example.com" --profile my-app --no-save-changes
Tips
- Always scrape first —
interactrequires a scrape ID from a previousfirecrawl scrapecall - The scrape ID is saved automatically, so you don't need
--scrape-idfor subsequent interact calls - Use
firecrawl interact stopto free resources when done - For parallel work, scrape multiple pages and interact with each using
--scrape-id
See also
- firecrawl-scrape — try scrape first, escalate to interact only when needed
- firecrawl-search — for web searches (never use interact for searching)
- firecrawl-agent — AI-powered extraction (less manual control)
Related skills
More from firecrawl/cli and the wider catalog.
firecrawl
Search, scrape, and interact with the web via Firecrawl CLI—real-time content extraction and monitoring.
firecrawl-scrape
Extract clean markdown from any URL, including JavaScript-rendered pages.
firecrawl-search
Web search with full page content extraction—find articles, research topics, and discover sources beyond snippets.
firecrawl-crawl
Bulk extract content from entire websites or site sections with depth and path filtering.
firecrawl-agent
AI-powered autonomous data extraction from complex websites, returning structured JSON.
firecrawl-map
Discover and list all URLs on a website with optional search filtering.