Scrape a JavaScript-heavy page with Firecrawl browser actions (wait/click/scroll/write) before capture
domain: docs.firecrawl.dev · 8 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
Auth: Authorization: Bearer fc-YOUR-API-KEY header against POST https://api.firecrawl.dev/v2/scrape (v2 API).
Build an `actions` array executed strictly in order before the final capture, e.g. [{"type":"wait","selector":"#app-loaded"},{"type":"click","selector":".accept-cookies"},{"type":"scroll","direction":"down"},{"type":"write","text":"search term"},{"type":"press","key":"Enter"},{"type":"wait","milliseconds":1500}].
POST /v2/scrape with body {"url":"...","actions":[...],"formats":["markdown"]} so the capture reflects the post-interaction DOM.
Optionally insert {"type":"screenshot"} or {"type":"scrape"} action steps mid-sequence to capture intermediate states; these land in data.actions.screenshots / data.actions.scrapes, separate from top-level data.markdown.
Raise `timeout` (default 60000 ms, max 300000) since action execution and waits count against the same request timeout.
Read data.markdown (or other requested formats) for post-interaction content, and data.actions.javascriptReturns if you used an executeJavascript action.
Other supported action types: click (optional `all` to click every match), press, pdf (renders a PDF of the interacted page).
Official docs: https://docs.firecrawl.dev/api-reference/endpoint/scrape ; https://docs.firecrawl.dev/features/scrape
Known gotchas
Actions run in strict array order - clicking a selector before it renders fails; precede with a wait (selector- or millisecond-based).
Action-triggered screenshots (data.actions.screenshots, an array) live in a different response location than the screenshot format's single data.screenshot URL.
All action time counts against the request timeout (default 60000 ms) - multi-step flows commonly need it raised toward the 300000 ms ceiling.
write actions generally need a preceding click to focus the target field; ordering is not auto-inferred.
Give your agent this knowledge — and 17,900+ more routes
One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?