Labsco
firecrawl logo

firecrawl-interact

✓ Official7

by firecrawl · part of firecrawl/firecrawl-cursor-plugin

Control and interact with a live browser session on any scraped page — click buttons, fill forms, navigate flows, and extract data using natural language prompts or code. Use when the user needs to interact with a webpage beyond simple scraping: logging into a site, submitting forms, clicking through pagination, handling infinite scroll, navigating multi-step checkout or wizard flows, or when a regular scrape failed because content is behind JavaScript interaction. Also useful for authenticated

🧩 One of 7 skills in the firecrawl/firecrawl-cursor-plugin package — works on its own, and pairs well with its siblings.

This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.

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: search → scrape → map → crawl → interact
  • Never use interact for web searches — use search instead

Options

OptionDescription
--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