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

# Get frame text and bounds

> Get frame text positions with bounding boxes for a specific frame.
Uses accessibility tree node bounds when available, and OCR fallback positions for visual-only or legacy frames.
Both OCR and accessibility bounds are normalized to 0-1 relative to the
monitor (full-screen capture), so they align correctly with the screenshot.



## OpenAPI

````yaml /openapi.yaml get /frames/{frame_id}/text
openapi: 3.0.3
info:
  title: Screenpipe API
  version: 1.0.0
  description: >-
    Screenpipe captures everything you see, say, and hear on your computer. Use
    this API to search through captured content, manage recordings, and build
    AI-powered automations on top of your screen data.


    The server runs locally at `http://localhost:3030` by default.
servers: []
security: []
tags:
  - name: Search
    description: Search through captured screen and audio content
  - name: Frames
    description: Access captured screenshots and their extracted text
  - name: Elements
    description: Query captured UI accessibility tree data
  - name: Audio
    description: Manage audio recording devices
  - name: Vision
    description: Manage screen capture monitors
  - name: Meetings
    description: Detected and manual meeting transcriptions
  - name: Speakers
    description: Speaker identification and management
  - name: Memories
    description: AI-extracted knowledge from screen activity
  - name: Tags
    description: Tag content items for organization
  - name: Activity
    description: Activity summaries and analytics
  - name: Vault
    description: Encrypt/decrypt all data at rest
  - name: Cloud Sync
    description: Sync data across devices via cloud
  - name: Cloud Archive
    description: Archive old data to cloud storage
  - name: Data Retention
    description: Auto-delete old data locally
  - name: Data Management
    description: Manual data deletion and storage info
  - name: Database
    description: Direct database access
  - name: System
    description: Health checks and system status
  - name: Experimental
    description: Experimental/unstable endpoints
paths:
  /frames/{frame_id}/text:
    get:
      tags:
        - Frames
      summary: Get frame text and bounds
      description: >-
        Get frame text positions with bounding boxes for a specific frame.

        Uses accessibility tree node bounds when available, and OCR fallback
        positions for visual-only or legacy frames.

        Both OCR and accessibility bounds are normalized to 0-1 relative to the

        monitor (full-screen capture), so they align correctly with the
        screenshot.
      operationId: routes_frames_get_frame_text_data
      parameters:
        - name: frame_id
          schema:
            type: integer
          in: path
          required: true
          style: simple
        - name: query
          schema:
            nullable: true
            type: string
          in: query
          style: form
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FrameTextResponse'
components:
  schemas:
    FrameTextResponse:
      description: Response type for frame OCR data endpoint
      type: object
      properties:
        frame_id:
          type: integer
        text_positions:
          type: array
          items:
            $ref: '#/components/schemas/TextPosition'
      required:
        - frame_id
        - text_positions
    TextPosition:
      type: object
      properties:
        text:
          type: string
        confidence:
          type: number
        bounds:
          $ref: '#/components/schemas/TextBounds'
      required:
        - text
        - confidence
        - bounds
    TextBounds:
      type: object
      properties:
        left:
          type: number
        top:
          type: number
        width:
          type: number
        height:
          type: number
      required:
        - left
        - top
        - width
        - height

````