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. For web searches, use search — interact is for acting on a specific page.
Quick start
bash# 1. Scrape a page (scrape ID is saved automatically) firecrawl scrape "<url>" # 2. Interact with the page using a positional prompt firecrawl interact "Click the login button" firecrawl interact "Fill in the email field with test@example.com" firecrawl interact "Extract the pricing table" # A UUID first argument is auto-detected as the scrape ID firecrawl interact "<scrape-id>" "Extract the pricing table" # 3. Or use code for precise control firecrawl interact --code "agent-browser click @e5" --bash firecrawl interact --code "agent-browser snapshot -i" --bash # 4. Stop the session when done firecrawl interact stop
Run firecrawl interact --help for the full option list.
Done when: the requested content or action result is captured and the session is stopped with firecrawl interact stop.
Profiles
Use --profile on the scrape to persist browser state (cookies, localStorage) across scrapes:
bash# 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):
bashfirecrawl 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 can omit
--scrape-idfor subsequent interact calls. Saved sessions may expire after about 10 minutes; re-scrape if the CLI warns that the session is stale - 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 — use
searchfor web searches - firecrawl-agent — AI-powered extraction (less manual control)
- firecrawl-build-interact — building interact into an app instead of running it here


