> ## Documentation Index
> Fetch the complete documentation index at: https://docs.notte.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Scrape Specialized Data



## OpenAPI

````yaml https://api.notte.cc/openapi.json post /data/web/scrape
openapi: 3.1.0
info:
  title: Notte API
  description: >-
    Notte API is a REST API that allows you to interact with Notte. It is used
    to create cloud browser sessions, scrape webpages, and run web ai agents to
    act on your behalf on the internet.
  version: 1.9.8
  x-logo:
    url: https://www.notte.cc/images/logo/logo-white.png
servers: []
security: []
tags:
  - name: agents
    description: Web AI agents (start, stop, status, replay, etc.)
  - name: sessions
    description: Session management (start, stop, status, etc.)
  - name: debug
    description: Session debugging tools (replay,logs, recording, etc.)
  - name: page
    description: Page operations withing a session (observe, step, scrape, etc.)
  - name: storage
    description: File storage interface (upload, download, list, etc.)
  - name: network
    description: Network requests/responses withing a session (intercept, etc.)
  - name: vaults
    description: >-
      Vault & Credentials management (create/delete vaults, create/delete
      credentials, etc.)
  - name: personas
    description: Persona management (create, delete, list emails, list sms, etc.)
  - name: scrape
    description: >-
      Webpage scraping (scrape, screenshot, etc.) with automatic session
      management.
  - name: health
    description: Health check endpoint.
  - name: usage
    description: Usage logs (usage, logs, etc.)
  - name: audit
    description: Audit trail of account and workspace changes.
  - name: functions
    description: Functions management (create, delete, list, etc.)
paths:
  /data/web/scrape:
    post:
      tags:
        - Data APIs
        - Data scrape
      summary: Scrape Specialized Data
      operationId: scrape_specialized_data
      parameters:
        - name: x-notte-request-origin
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Notte-Request-Origin
        - name: x-notte-sdk-version
          in: header
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: X-Notte-Sdk-Version
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataScrapeRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - OAuth2PasswordBearer: []
      x-codeSamples:
        - lang: Python
          source: |-
            import os

            import requests

            response = requests.post(
                "https://api.notte.cc/data/web/scrape",
                headers={"Authorization": f"Bearer {os.environ['NOTTE_API_KEY']}"},
                json={"url": "https://www.allbirds.com/products/mens-tree-runners", "formats": {"product": True, "markdown": True}},
                timeout=330,
            )
            response.raise_for_status()
            print(response.json())
          label: python
        - lang: TypeScript
          source: >-
            const response = await fetch("https://api.notte.cc/data/web/scrape",
            {
              method: "POST",
              headers: {
                Authorization: `Bearer ${process.env.NOTTE_API_KEY}`,
                "Content-Type": "application/json",
              },
              body: JSON.stringify({
                "url": "https://www.allbirds.com/products/mens-tree-runners",
                "formats": {
                  "product": true,
                  "markdown": true
                }
              }),
              signal: AbortSignal.timeout(330_000),
            });

            if (!response.ok) throw new Error(await response.text());

            console.log(await response.json());
          label: node
        - lang: Curl
          source: >-
            curl --fail-with-body --max-time 330 --request POST
            https://api.notte.cc/data/web/scrape \
              --header "Authorization: Bearer $NOTTE_API_KEY" \
              --header 'Content-Type: application/json' \
              --data '{
              "url": "https://www.allbirds.com/products/mens-tree-runners",
              "formats": {
                "product": true,
                "markdown": true
              }
            }'
          label: curl
components:
  schemas:
    DataScrapeRequest:
      properties:
        url:
          type: string
          maxLength: 2083
          minLength: 1
          format: uri
          title: Url
        formats:
          $ref: '#/components/schemas/ScrapeFormats'
        productParams:
          anyOf:
            - $ref: '#/components/schemas/ProductParams'
            - type: 'null'
        markdownParams:
          anyOf:
            - $ref: '#/components/schemas/MarkdownParams'
            - type: 'null'
        parseParams:
          anyOf:
            - $ref: '#/components/schemas/MapsParseParams'
            - type: 'null'
        sharedParams:
          $ref: '#/components/schemas/SharedParams'
        timeoutOpts:
          $ref: '#/components/schemas/StyleguideTimeout'
        maxAgeMs:
          anyOf:
            - type: integer
            - type: 'null'
          title: Maxagems
          default: 0
        zdr:
          type: string
          enum:
            - enabled
            - disabled
          title: Zdr
          default: disabled
        tags:
          items:
            type: string
            maxLength: 50
            minLength: 1
          type: array
          maxItems: 20
          title: Tags
      additionalProperties: false
      type: object
      required:
        - url
        - formats
      title: DataScrapeRequest
    ScrapeResponse:
      properties:
        url:
          type: string
          title: Url
        html:
          $ref: '#/components/schemas/ScrapeOutput'
        markdown:
          $ref: '#/components/schemas/ScrapeOutput'
        screenshot:
          $ref: '#/components/schemas/ScrapeOutput'
        images:
          $ref: '#/components/schemas/ScrapeOutput'
        bytes:
          $ref: '#/components/schemas/ScrapeOutput'
        parsed:
          $ref: '#/components/schemas/ParsedOutput'
        highlights:
          $ref: '#/components/schemas/ScrapeOutput'
        json:
          $ref: '#/components/schemas/ScrapeOutput'
        product:
          $ref: '#/components/schemas/ScrapeOutput'
        profile:
          type: 'null'
          title: Profile
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
        request_id:
          type: string
          title: Request Id
        cache_metadata:
          additionalProperties: true
          type: object
          title: Cache Metadata
        isPartial:
          type: boolean
          title: Ispartial
          default: false
      additionalProperties: false
      type: object
      required:
        - url
        - request_id
      title: ScrapeResponse
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ScrapeFormats:
      properties:
        html:
          type: boolean
          title: Html
          default: false
        markdown:
          type: boolean
          title: Markdown
          default: false
        product:
          type: boolean
          title: Product
          default: false
        parse:
          type: boolean
          title: Parse
          default: false
      additionalProperties: false
      type: object
      title: ScrapeFormats
    ProductParams:
      properties:
        dedupeImages:
          type: boolean
          title: Dedupeimages
          default: false
      additionalProperties: false
      type: object
      title: ProductParams
    MarkdownParams:
      properties:
        includeLinks:
          type: boolean
          title: Includelinks
          default: true
        includeImages:
          type: boolean
          title: Includeimages
          default: false
        inlineImages:
          anyOf:
            - type: string
              enum:
                - placeholder
                - preserve
            - type: 'null'
          title: Inlineimages
      additionalProperties: false
      type: object
      title: MarkdownParams
    MapsParseParams:
      properties:
        type:
          type: string
          const: prebuilt
          title: Type
        parser:
          type: string
          const: google-maps
          title: Parser
      additionalProperties: false
      type: object
      required:
        - type
        - parser
      title: MapsParseParams
    SharedParams:
      properties:
        theme:
          type: string
          enum:
            - light
            - dark
          title: Theme
          default: light
        actions:
          items:
            oneOf:
              - $ref: >-
                  #/components/schemas/notte_api__data_apis__monitors__models__WaitAction
              - $ref: '#/components/schemas/PerformAction'
              - $ref: '#/components/schemas/ScrollAction'
            discriminator:
              propertyName: do
              mapping:
                perform: '#/components/schemas/PerformAction'
                scroll: '#/components/schemas/ScrollAction'
                wait: >-
                  #/components/schemas/notte_api__data_apis__monitors__models__WaitAction
          type: array
          maxItems: 5
          title: Actions
        waitFor:
          anyOf:
            - type: integer
            - type: string
          title: Waitfor
          default: 500
        mainContentOnly:
          type: boolean
          title: Maincontentonly
          default: false
        includeSelectors:
          items:
            type: string
          type: array
          maxItems: 50
          title: Includeselectors
        excludeSelectors:
          items:
            type: string
          type: array
          maxItems: 50
          title: Excludeselectors
      additionalProperties: false
      type: object
      title: SharedParams
    StyleguideTimeout:
      properties:
        milliseconds:
          type: integer
          maximum: 300000
          minimum: 1
          title: Milliseconds
        behavior:
          type: string
          enum:
            - fail
            - return-partial
          title: Behavior
          default: fail
      additionalProperties: false
      type: object
      required:
        - milliseconds
      title: StyleguideTimeout
    ScrapeOutput:
      additionalProperties: true
      type: object
    ParsedOutput:
      additionalProperties: true
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    notte_api__data_apis__monitors__models__WaitAction:
      properties:
        do:
          type: string
          const: wait
          title: Do
        timeMs:
          type: integer
          maximum: 30000
          minimum: 0
          title: Timems
      additionalProperties: false
      type: object
      required:
        - do
        - timeMs
      title: WaitAction
    PerformAction:
      properties:
        do:
          type: string
          const: perform
          title: Do
        action:
          type: string
          maxLength: 500
          minLength: 1
          title: Action
      additionalProperties: false
      type: object
      required:
        - do
        - action
      title: PerformAction
    ScrollAction:
      properties:
        do:
          type: string
          const: scroll
          title: Do
        direction:
          type: string
          enum:
            - up
            - down
            - left
            - right
          title: Direction
          default: down
        amount:
          anyOf:
            - type: integer
              maximum: 100000
              minimum: 1
            - type: string
              enum:
                - viewport
                - max
          title: Amount
          default: viewport
        container:
          anyOf:
            - type: string
              maxLength: 2000
              minLength: 1
            - type: 'null'
          title: Container
        maxScrolls:
          type: integer
          maximum: 50
          minimum: 1
          title: Maxscrolls
          default: 1
      additionalProperties: false
      type: object
      required:
        - do
      title: ScrollAction
  securitySchemes:
    OAuth2PasswordBearer:
      type: oauth2
      flows:
        password:
          scopes: {}
          tokenUrl: token

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.