Skip to content

Frametap Documentation ​

API controlled screen capture from sandboxes, containers, VMs, and remote machines.

Start in the app at frametap.io/app and use the full API reference at api-reference.frametap.io.

Getting Started ​

Quick Start

Get up and running in 5 minutes

Get Started →

Open App

Enroll runners, create jobs, and review artifacts in the UI

Open App →

Install CLI

Install the Frametap runner on your machines

Install →

API Reference

Interactive API docs and the OpenAPI spec

API →

What is Frametap? ​

Frametap helps you capture and review what actually happened on remote machines:

  • Screenshots from any enrolled display
  • Recordings with duration, interrupt, or Selenium-aware stop conditions
  • File uploads from watched artifact folders

How it works ​

Install runner → Trigger from app, API, or CLI → Review in the app or download artifacts with the CLI
  1. Install the Frametap CLI on the machine that should capture or upload files
  2. Enroll that machine as a runner
  3. Trigger jobs from the app, public API, or CLI
  4. Review or download recordings, screenshots, and uploaded files in Frametap. Recordings created by a runner can also be listed and downloaded from that runner with frametap recording list and frametap recording download.

Use Cases ​

  • CI/CD Pipelines - Record browser tests for debugging
  • AI Agents - Capture visual proof from sandboxed runs
  • Remote Debugging - Capture from production-like environments
  • Automated Monitoring - Schedule screenshots and collect artifacts

Quick Example ​

bash
# Install the runner
curl -fsSL https://cli.static.frametap.io/install | bash

# Enroll the machine
frametap up --token ft_enrollment_xxxxxxxxxxxxxxxxx

# Create a recording job via API
export FRAMETAP_API_KEY=ft_api_xxxxxxxxxxxxxxxxx
export FRAMETAP_ORG_ID=123

curl -X POST "https://api.frametap.io/v1/jobs?organizationId=$FRAMETAP_ORG_ID" \
  -H "Authorization: Bearer $FRAMETAP_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "runnerId": 123,
    "displayId": "0",
    "type": "recording",
    "stopCondition": "duration",
    "stopConditionConfig": {"durationSeconds": 60}
  }'

# Or create and download a recording from the CLI on the runner machine
frametap recording start --duration 30 --name "Smoke test"
frametap recording list --since 1h
frametap recording download --latest --path /tmp/artifacts

# Or watch an artifact folder from the CLI
frametap watch start --dir /app/artifacts

Documentation Sections ​

Overview ​

  • What Frametap does
  • Customer workflow
  • Quick start
  • Using the app

Installation ​

  • Install CLI
  • Docker setup
  • Selenium integration

CLI Reference ​

  • Commands
  • Recording list/download workflow
  • Environment variables
  • Auto-record mode

Jobs ​

  • Job types
  • Stop conditions
  • Watch folder
  • Examples

API ​

  • API overview
  • Authentication
  • Interactive API reference

Platform ​

  • Runners
  • Projects
  • Documents
  • Billing

Resources ​

Contributing ​

Found an issue or have a suggestion?

Released under the MIT License.