Notte Page API

Perception layer - observe, step (execute), and scrape a live session page.

OpenAPI Specification

notte-page-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Notte Agents Page API
  description: Notte is a REST API for web browser and agent infrastructure for AI. It creates cloud browser sessions, runs autonomous web agents from natural-language tasks, exposes a perception layer to observe / step / scrape live pages, performs one-shot scraping and AI web search, and manages personas, vaults, profiles, secrets, file storage, and serverless functions. The core framework is open source (SSPL-1.0). This document models the primary documented surface; see https://api.notte.cc/openapi.json for the full machine-generated specification.
  termsOfService: https://notte.cc/terms
  contact:
    name: Notte
    url: https://notte.cc
  license:
    name: Server Side Public License v1 (SSPL-1.0)
    url: https://www.mongodb.com/licensing/server-side-public-license
  version: 1.4.40
servers:
- url: https://api.notte.cc
security:
- BearerAuth: []
tags:
- name: Page
  description: Perception layer - observe, step (execute), and scrape a live session page.
paths:
  /sessions/{session_id}/page/observe:
    post:
      operationId: pageObserve
      tags:
      - Page
      summary: Page Observe
      description: Runs Notte's perception layer on the current page and returns the set of available actions a model or human can take next.
      parameters:
      - $ref: '#/components/parameters/SessionId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ObserveRequest'
      responses:
        '200':
          description: The observation including available actions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObserveResponse'
  /sessions/{session_id}/page/execute:
    post:
      operationId: pageExecute
      tags:
      - Page
      summary: Page Execute (Step)
      description: Executes a single action (a step) on the current page, such as click, fill, scroll, navigate, select, upload, or wait.
      parameters:
      - $ref: '#/components/parameters/SessionId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StepRequest'
      responses:
        '200':
          description: The result of the executed action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StepResponse'
  /sessions/{session_id}/page/scrape:
    post:
      operationId: pageScrape
      tags:
      - Page
      summary: Page Scrape
      description: Scrapes structured content from the current page of a session.
      parameters:
      - $ref: '#/components/parameters/SessionId'
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScrapeRequest'
      responses:
        '200':
          description: The scraped content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
  /sessions/{session_id}/page/screenshot:
    post:
      operationId: pageScreenshot
      tags:
      - Page
      summary: Page Screenshot
      description: Captures a screenshot of the current page.
      parameters:
      - $ref: '#/components/parameters/SessionId'
      responses:
        '200':
          description: The screenshot image.
          content:
            image/png:
              schema:
                type: string
                format: binary
components:
  schemas:
    ObserveRequest:
      type: object
      properties:
        min_nb_actions:
          type: integer
          nullable: true
          description: Minimum number of actions to surface.
        max_nb_actions:
          type: integer
          nullable: true
          description: Maximum number of actions to surface.
        instructions:
          type: string
          nullable: true
          description: Natural-language guidance for what to look for on the page.
        perception_type:
          type: string
          nullable: true
          description: Perception strategy to apply.
    ScrapeResponse:
      type: object
      properties:
        success:
          type: boolean
        content:
          type: string
          nullable: true
          description: The extracted main content (markdown).
        structured:
          type: object
          nullable: true
          description: AI-extracted structured data matching the response_format.
        links:
          type: array
          items:
            type: string
          nullable: true
        images:
          type: array
          items:
            type: string
          nullable: true
    StepResponse:
      type: object
      properties:
        session_id:
          type: string
        success:
          type: boolean
        message:
          type: string
          nullable: true
    ObserveResponse:
      type: object
      properties:
        session_id:
          type: string
        title:
          type: string
        url:
          type: string
        screenshot:
          type: string
          nullable: true
        space:
          type: object
          description: The action space - the set of available actions on the page.
          properties:
            actions:
              type: array
              items:
                $ref: '#/components/schemas/Action'
    StepRequest:
      type: object
      required:
      - action
      properties:
        action:
          $ref: '#/components/schemas/Action'
    ScrapeRequest:
      type: object
      properties:
        selector:
          type: string
          nullable: true
          description: Optional CSS selector to scope extraction.
        scrape_links:
          type: boolean
          default: false
        scrape_images:
          type: boolean
          default: false
        ignored_tags:
          type: array
          items:
            type: string
          nullable: true
        only_main_content:
          type: boolean
          default: true
        only_images:
          type: boolean
          default: false
        response_format:
          type: object
          nullable: true
          description: A JSON schema (e.g. derived from a Pydantic model) for AI-structured extraction.
        instructions:
          type: string
          nullable: true
          description: Natural-language extraction instructions.
        use_link_placeholders:
          type: boolean
          default: false
    Action:
      type: object
      description: A single browser action. Examples include click, fill, check, scroll, goto, go_back, go_forward, reload, wait, press_key, select_dropdown_option, upload_file, download_file, scrape, and captcha_solve.
      required:
      - type
      properties:
        type:
          type: string
          example: click
        id:
          type: string
          description: The action identifier returned by observe.
          nullable: true
        value:
          type: string
          description: The value for fill / select / press_key style actions.
          nullable: true
        url:
          type: string
          description: The target URL for a goto action.
          nullable: true
  parameters:
    SessionId:
      name: session_id
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Notte API key obtained from the Notte Console (https://console.notte.cc), passed as a Bearer token in the Authorization header. The SDK reads the NOTTE_API_KEY environment variable automatically.