actions lets you run browser interactions (click/type/wait/scroll/execute JS) before extracting content.
- actions run sequentially
- up to 50 actions per request
- combined wait time (wait actions + waitFor) should not exceed 60s
- actions are not supported for PDFs: if the URL resolves to a PDF, avoid actions or the request will fail
Wait by duration or wait until an element is visible (choose one).
{ type: 'wait', milliseconds: 1000 }
{ type: 'wait', selector: '#content' }
| Field | Type | Notes |
|---|
milliseconds | number | Fixed delay |
selector | string | Wait until visible (30s timeout) |
{ type: 'click', selector: '#accept' }
{ type: 'click', selector: '.expand', all: true }
| Field | Type | Notes |
|---|
selector | string | CSS selector |
all | boolean | Click all matches |
{ type: 'click', selector: '#q' }
{ type: 'write', text: 'firecrawl' }
| Field | Type | Notes |
|---|
text | string | Text to type (usually requires a prior click to focus) |
{ type: 'press', key: 'Enter' }
| Field | Type | Notes |
|---|
key | string | e.g. Enter/Tab/Escape |
{ type: 'scroll', direction: 'down' }
{ type: 'scroll', selector: '.list' }
| Field | Type | Notes |
|---|
direction | "up" | "down" | Defaults to down |
selector | string | Scroll a specific container |
{ type: 'screenshot', fullPage: true, quality: 80 }
| Field | Type | Notes |
|---|
fullPage | boolean | Full page |
quality | number | Quality setting |
viewport | object | { width, height } |
Captures current HTML into data.actions.scrapes.
{ type: 'executeJavascript', script: "document.title" }
Return values are captured in data.actions.javascriptReturns.
{ type: 'pdf', format: 'A4', landscape: false, scale: 1 }
| Field | Type | Notes |
|---|
format | string | e.g. A0-A6 / Letter / Legal |
landscape | boolean | Landscape mode |
scale | number | Scale factor |