---
id: daily-firecrawl-interact
name: "firecrawl-interact"
url: https://skills.yangsir.net/skill/daily-firecrawl-interact
author: firecrawl
domain: ai-agent-external-interaction
tags: ["data-extraction", "web-scraping", "automation", "data-analysis", "information-retrieval"]
install_count: 28700
rating: 4.60 (25 reviews)
github: https://github.com/firecrawl/cli
---

# firecrawl-interact

> 在实时浏览器会话中与抓取的页面交互，支持点击、表单填写、导航和数据提取

**Stats**: 28,700 installs · 4.6/5 (25 reviews)

## Before / After 对比

### 动态网页数据提取

**Before**:

手动操作浏览器，填写表单、点击按钮、翻页查看内容，逐条复制数据，一个复杂网站需要数小时

**After**:

自动执行浏览器交互，智能填写表单和导航，提取结构化数据，30分钟完成相同任务

| Metric | Before | After | Change |
|---|---|---|---|
| 数据提取时间 | 240分钟 | 30分钟 | -88% |

## Readme

# firecrawl-interact

# firecrawl interact

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

- `scrape` failed because content is behind JavaScript interaction

- You need to navigate a multi-step flow

- Last resort in the [workflow escalation pattern](https://github.com/firecrawl/cli/blob/HEAD/skills/firecrawl-interact/firecrawl-cli): search → scrape → map → crawl → **interact**

- **Never use interact for web searches** — use `search` instead

## 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 — `interact` requires a scrape ID from a previous `firecrawl scrape` call

- The scrape ID is saved automatically, so you don't need `--scrape-id` for subsequent interact calls

- Use `firecrawl interact stop` to free resources when done

- For parallel work, scrape multiple pages and interact with each using `--scrape-id`

## See also

- [firecrawl-scrape](https://github.com/firecrawl/cli/blob/HEAD/skills/firecrawl-interact/../firecrawl-scrape/SKILL.md) — try scrape first, escalate to interact only when needed

- [firecrawl-search](https://github.com/firecrawl/cli/blob/HEAD/skills/firecrawl-interact/../firecrawl-search/SKILL.md) — for web searches (never use interact for searching)

- [firecrawl-agent](https://github.com/firecrawl/cli/blob/HEAD/skills/firecrawl-interact/../firecrawl-agent/SKILL.md) — AI-powered extraction (less manual control)

Weekly Installs2.4KRepository[firecrawl/cli](https://github.com/firecrawl/cli)GitHub Stars271First Seen4 days agoSecurity Audits[Gen Agent Trust HubPass](/firecrawl/cli/firecrawl-interact/security/agent-trust-hub)[SocketWarn](/firecrawl/cli/firecrawl-interact/security/socket)[SnykWarn](/firecrawl/cli/firecrawl-interact/security/snyk)Installed onclaude-code2.4Kcodex2.4Kgemini-cli2.4Kcursor2.4Kkimi-cli2.4Kopencode2.4K

---
*Source: https://skills.yangsir.net/skill/daily-firecrawl-interact*
*Markdown mirror: https://skills.yangsir.net/api/skill/daily-firecrawl-interact/markdown*