---
title: "Page Execute"
method: POST
path: "/sessions/{session_id}/page/execute"
tags: ["sessions", "page"]
---

# Page Execute

`POST /sessions/{session_id}/page/execute`

## Path parameters

- `session_id` string, required

## Query parameters

- `update_metadata` boolean

## Headers

- `x-notte-request-origin` string, nullable
- `x-notte-sdk-version` string, nullable

## Request body

- union
  - FormFillAction
    - `type` 'form_fill'
    - `category` string
    - `description` string
    - `value` object, required
  - GotoAction
    - `type` 'goto'
    - `category` string
    - `description` string
    - `url` string, required
  - GotoNewTabAction
    - `type` 'goto_new_tab'
    - `category` string
    - `description` string
    - `url` string, required
  - CloseTabAction
    - `type` 'close_tab'
    - `category` string
    - `description` string
  - SwitchTabAction
    - `type` 'switch_tab'
    - `category` string
    - `description` string
    - `tab_index` integer, required
  - GoBackAction
    - `type` 'go_back'
    - `category` string
    - `description` string
  - GoForwardAction
    - `type` 'go_forward'
    - `category` string
    - `description` string
  - ReloadAction
    - `type` 'reload'
    - `category` string
    - `description` string
  - WaitAction
    - `type` 'wait'
    - `category` string
    - `description` string
    - `time_ms` integer, required — The amount of time to wait in milliseconds (max 30 seconds)
  - PressKeyAction
    - `type` 'press_key'
    - `category` string
    - `description` string
    - `key` string, required
  - ScrollUpAction
    - `type` 'scroll_up'
    - `category` string
    - `description` string
    - `amount` integer, nullable
  - ScrollDownAction
    - `type` 'scroll_down'
    - `category` string
    - `description` string
    - `amount` integer, nullable
  - CaptchaSolveAction
    - `type` 'captcha_solve'
    - `category` string
    - `description` string
    - `captcha_type` 'recaptcha' | 'hcaptcha' | 'image' | 'text' | 'auth0' | 'cloudflare' | 'datadome' | 'arkose labs' | 'geetest' | 'press&hold' | 'unknown', nullable
  - HelpAction
    - `type` 'help'
    - `category` string
    - `description` string
    - `reason` string, required
  - CompletionAction
    - `type` 'completion'
    - `category` string
    - `description` string
    - `success` boolean, required
    - `answer` string, required
  - ScrapeAction
    - `type` 'scrape'
    - `category` string
    - `description` string
    - `instructions` string, nullable
    - `only_main_content` boolean — Whether to only scrape the main content of the page. If True, navbars, footers, etc. are excluded.
    - `selector` string, nullable — Playwright selector to scope the scrape to. Only content inside this selector will be scraped.
    - `only_images` boolean — Whether to only scrape images from the page. If True, the page content is excluded.
    - `scrape_links` boolean — Whether to scrape links from the page. Links are scraped by default.
    - `scrape_images` boolean — Whether to scrape images from the page.
    - `ignored_tags` string[], nullable — HTML tags to ignore from the page.
    - `response_format` object, nullable — JSON schema dict for structured output. Agent can provide a schema to extract structured data.
  - EmailReadAction
    - `type` 'email_read'
    - `category` string
    - `description` string
    - `limit` integer — Max number of emails to return
    - `timedelta` string, duration, nullable — Return only emails that are not older than `timedelta`
    - `only_unread` boolean — Return only previously unread emails
  - SmsReadAction
    - `type` 'sms_read'
    - `category` string
    - `description` string
    - `limit` integer — Max number of sms to return
    - `timedelta` string, duration, nullable — Return only sms that are not older than `timedelta`
    - `only_unread` boolean — Return only previously unread sms
  - EvaluateJsAction
    - `type` 'evaluate_js'
    - `category` string
    - `description` string
    - `code` string, required — The JavaScript code to evaluate on the page. Use a single expression or an IIFE for multi-statement code.
  - ClickActionInput
    - `type` 'click'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds
  - FillActionInput
    - `type` 'fill'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds
    - `value` union, required
      - string
      - string, password
    - `clear_before_fill` boolean
  - MultiFactorFillActionInput
    - `type` 'multi_factor_fill'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds
    - `value` union, required
      - string
      - string, password
    - `clear_before_fill` boolean
  - FallbackFillActionInput
    - `type` 'fallback_fill'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds
    - `value` union, required
      - string
      - string, password
    - `clear_before_fill` boolean
  - CheckActionInput
    - `type` 'check'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds
    - `value` boolean, required
  - SelectDropdownOptionActionInput
    - `type` 'select_dropdown_option'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds
    - `value` union, required
      - string
      - string, password
  - UploadFileActionInput
    - `type` 'upload_file'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds
    - `file_path` string, required
  - DownloadFileActionInput
    - `type` 'download_file'
    - `category` string
    - `description` string
    - `id` string
    - `selector` union
      - string
      - NodeSelectors
        - `css_selector` string, required
        - `xpath_selector` string, required
        - `in_iframe` boolean, required
        - `in_shadow_root` boolean, required
        - `notte_selector` string, nullable
        - `iframe_parent_css_selectors` string[], required
        - `playwright_selector` string, nullable
        - `python_selector` string, nullable
    - `press_enter` boolean, nullable
    - `text_label` string, nullable
    - `param` ActionParameter
      - `name` string, required
      - `type` string, required
      - `default` string, nullable
      - `values` string[]
    - `timeout` integer — Action timeout in milliseconds

## Response `200`

Successful Response

- ApiExecutionResponse
  - `started_at` string, date-time, required
  - `ended_at` string, date-time, required
  - `action` union, required
    - FormFillAction
      - `type` 'form_fill'
      - `category` string
      - `description` string
      - `value` object, required
    - GotoAction
      - `type` 'goto'
      - `category` string
      - `description` string
      - `url` string, required
    - GotoNewTabAction
      - `type` 'goto_new_tab'
      - `category` string
      - `description` string
      - `url` string, required
    - CloseTabAction
      - `type` 'close_tab'
      - `category` string
      - `description` string
    - SwitchTabAction
      - `type` 'switch_tab'
      - `category` string
      - `description` string
      - `tab_index` integer, required
    - GoBackAction
      - `type` 'go_back'
      - `category` string
      - `description` string
    - GoForwardAction
      - `type` 'go_forward'
      - `category` string
      - `description` string
    - ReloadAction
      - `type` 'reload'
      - `category` string
      - `description` string
    - WaitAction
      - `type` 'wait'
      - `category` string
      - `description` string
      - `time_ms` integer, required — The amount of time to wait in milliseconds (max 30 seconds)
    - PressKeyAction
      - `type` 'press_key'
      - `category` string
      - `description` string
      - `key` string, required
    - ScrollUpAction
      - `type` 'scroll_up'
      - `category` string
      - `description` string
      - `amount` integer, nullable
    - ScrollDownAction
      - `type` 'scroll_down'
      - `category` string
      - `description` string
      - `amount` integer, nullable
    - CaptchaSolveAction
      - `type` 'captcha_solve'
      - `category` string
      - `description` string
      - `captcha_type` 'recaptcha' | 'hcaptcha' | 'image' | 'text' | 'auth0' | 'cloudflare' | 'datadome' | 'arkose labs' | 'geetest' | 'press&hold' | 'unknown', nullable
    - HelpAction
      - `type` 'help'
      - `category` string
      - `description` string
      - `reason` string, required
    - CompletionAction
      - `type` 'completion'
      - `category` string
      - `description` string
      - `success` boolean, required
      - `answer` string, required
    - ScrapeAction
      - `type` 'scrape'
      - `category` string
      - `description` string
      - `instructions` string, nullable
      - `only_main_content` boolean — Whether to only scrape the main content of the page. If True, navbars, footers, etc. are excluded.
      - `selector` string, nullable — Playwright selector to scope the scrape to. Only content inside this selector will be scraped.
      - `only_images` boolean — Whether to only scrape images from the page. If True, the page content is excluded.
      - `scrape_links` boolean — Whether to scrape links from the page. Links are scraped by default.
      - `scrape_images` boolean — Whether to scrape images from the page.
      - `ignored_tags` string[], nullable — HTML tags to ignore from the page.
      - `response_format` object, nullable — JSON schema dict for structured output. Agent can provide a schema to extract structured data.
    - EmailReadAction
      - `type` 'email_read'
      - `category` string
      - `description` string
      - `limit` integer — Max number of emails to return
      - `timedelta` string, duration, nullable — Return only emails that are not older than `timedelta`
      - `only_unread` boolean — Return only previously unread emails
    - SmsReadAction
      - `type` 'sms_read'
      - `category` string
      - `description` string
      - `limit` integer — Max number of sms to return
      - `timedelta` string, duration, nullable — Return only sms that are not older than `timedelta`
      - `only_unread` boolean — Return only previously unread sms
    - EvaluateJsAction
      - `type` 'evaluate_js'
      - `category` string
      - `description` string
      - `code` string, required — The JavaScript code to evaluate on the page. Use a single expression or an IIFE for multi-statement code.
    - ClickActionOutput
      - `type` 'click'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
    - FillActionOutput
      - `type` 'fill'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
      - `value` union, required
        - string
        - string, password
      - `clear_before_fill` boolean
    - MultiFactorFillActionOutput
      - `type` 'multi_factor_fill'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
      - `value` union, required
        - string
        - string, password
      - `clear_before_fill` boolean
    - FallbackFillActionOutput
      - `type` 'fallback_fill'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
      - `value` union, required
        - string
        - string, password
      - `clear_before_fill` boolean
    - CheckActionOutput
      - `type` 'check'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
      - `value` boolean, required
    - SelectDropdownOptionActionOutput
      - `type` 'select_dropdown_option'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
      - `value` union, required
        - string
        - string, password
    - UploadFileActionOutput
      - `type` 'upload_file'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
      - `file_path` string, required
    - DownloadFileActionOutput
      - `type` 'download_file'
      - `category` string
      - `description` string
      - `id` string
      - `selector` union
        - string
        - NodeSelectors
          - `css_selector` string, required
          - `xpath_selector` string, required
          - `in_iframe` boolean, required
          - `in_shadow_root` boolean, required
          - `notte_selector` string, nullable
          - `iframe_parent_css_selectors` string[], required
          - `playwright_selector` string, nullable
          - `python_selector` string, nullable
      - `press_enter` boolean, nullable
      - `text_label` string, nullable
      - `timeout` integer — Action timeout in milliseconds
  - `success` boolean, required
  - `message` string, required
  - `data` DataSpace
    - `markdown` string, required — Markdown representation of the extracted data
    - `images` ImageData[], nullable — List of images extracted from the page (ID and download link)
      - `url` string, nullable — URL of the image
      - `category` 'favicon' | 'icon' | 'content_image' | 'decorative' | 'svg_icon' | 'svg_content'
      - `description` string, nullable — Description of the image
    - `structured` StructuredDataBaseModel
      - `success` boolean — Whether the data was extracted successfully
      - `error` string, nullable — Error message if the data was not extracted successfully
      - `data` union — Structured data extracted from the page in JSON format
        - BaseModel
        - unknown
  - `exception` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/notte/apis/notte-api.md) · [All operations](https://skmtc.net/notte/apis/notte-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/notte/notte-api/versions/8dda4e3d49cc/schema)
