✓ Verified 🌐 Web Scrapers ✓ Enhanced Data

Paperpod

Isolated agent runtime for code execution, live preview URLs, browser automation, 50+ tools (ffmpeg,

Rating
4.3 (309 reviews)
Downloads
24,592 downloads
Version
1.0.0

Overview

Isolated agent runtime for code execution, live preview URLs, browser automation, 50+ tools (ffmpeg, sqlite.

Complete Documentation

View Source →

PaperPod

Isolated, agent-native sandboxes for code execution, live preview URLs, browser automation, 50+ tools (ffmpeg, sqlite, pandoc, imagemagick), LLM inference, and persistent memory — all via CLI or HTTP, no SDK or API keys required. Billed per second of compute usage and topup via stripe or x402.

Quick Start

bash
curl -X POST https://paperpod.dev/login -d '{"email":"[email protected]"}'  # Verify and get token
npm install -g @paperpod/cli
ppod login <token> && ppod help

Authentication

Step 1: Get a token

bash
curl -X POST https://paperpod.dev/login -d '{"email":"[email protected]"}'
# Check email → click magic link → copy token (pp_sess_...)

Step 2: Use the token (pick one method)

MethodHowBest for
CLI loginppod login pp_sess_...Everyday, Interactive use
Env varexport PAPERPOD_TOKEN=pp_sess_...Scripts, CI/CD
Per-request-H "Authorization: Bearer pp_sess_..."HTTP one-shots
Tokens expire in 15 days. On EXPIRED_TOKEN error, re-authenticate via POST /login.


CLI (Recommended)

The CLI is the easiest way to use PaperPod. It handles streaming, sessions, and reconnection automatically.

CLI Commands

CategoryCommandDescription
Sandboxppod exec Run shell command
ppod write [file]Write file (stdin if no file)
ppod read Read file
ppod ls List directory
Processesppod start Start background process
ppod psList processes
ppod kill Stop process
Portsppod expose Get public URL (-q for URL only)
Browserppod browser:screenshot Capture webpage
ppod browser:pdf Generate PDF
ppod browser:scrape [sel]Scrape elements (default: body)
ppod browser:markdown Extract markdown
ppod browser:content Get rendered HTML
ppod browser:test ''Run Playwright tests
ppod browser:acquireAcquire reusable session
ppod browser:connect Connect to existing session
ppod browser:sessionsList active sessions
ppod browser:limitsCheck browser limits
AIppod ai Text generation
ppod ai:embed Generate embeddings
ppod ai:image Generate image
ppod ai:transcribe Transcribe audio
ppod ai:modelsList available AI models
Codeppod interpret Rich output (charts)
Memoryppod mem:write Persist data
ppod mem:read Read persisted data
ppod mem:lsList memory files
ppod mem:rm Delete from memory
ppod mem:usageCheck quota
Accountppod balanceCheck credits
ppod statusConnection info
ppod helpShow all commands
ppod --helpHelp for specific command
Update CLI: npm update -g @paperpod/cli

CLI Examples

bash
# Execute code
ppod exec "python -c 'print(2+2)'"
ppod exec "npm init -y && npm install express"
# Start server + expose (--bind 0.0.0.0 required for public access)
ppod start "python -m http.server 8080 --bind 0.0.0.0"
ppod expose 8080  # → https://8080-{sandbox-id}-p8080_v1.paperpod.work (stable URL)
# Browser with tracing
ppod browser:screenshot https://example.com --trace debug.zip
# Persistent storage (survives sandbox reset)
echo '{"step":3}' | ppod mem:write state.json
# Built-in tools (50+ available: ffmpeg, sqlite3, pandoc, imagemagick, git, jq, ripgrep...)
ppod exec "ffmpeg -i input.mp4 -vf scale=640:480 output.mp4"  # Video processing
ppod exec "sqlite3 data.db 'SELECT * FROM users'"             # Database queries
ppod exec "convert image.png -resize 50% thumbnail.png"       # Image manipulation

HTTP Endpoints

Use HTTP for one-shot tasks or when CLI isn't available. Run curl https://paperpod.dev/docs or visit https://paperpod.dev/docs for full API reference.

Quick Reference

EndpointPurpose
POST /executeRun code (python, javascript, shell)
POST /execute/streamStream output (SSE)
POST /files/writeWrite file
POST /files/readRead file
POST /files/listList directory
POST /process/startStart background process
POST /process/listList processes
POST /exposeGet preview URL for port
POST /memory/writePersist data
POST /memory/readRead persisted data
POST /browser/screenshotCapture screenshot
POST /browser/pdfGenerate PDF
POST /browser/markdownExtract markdown
POST /ai/generateText generation
POST /ai/embedEmbeddings
POST /ai/imageImage generation
GET /ai/modelsList models

HTTP Example

bash
# Execute shell command
curl -X POST https://paperpod.dev/execute \
  -H "Authorization: Bearer $PAPERPOD_TOKEN" \
  -d '{"code": "ls -la", "language": "shell"}'

Capabilities

CategoryWhat you can do
Code ExecutionPython, JavaScript, shell commands
ProcessesBackground servers, long-running jobs
Preview URLsExpose ports → https://8080-{sandbox-id}-p8080_v1.paperpod.work
Agent Memory10MB persistent storage (R2)
BrowserScreenshots, PDFs, scraping (Playwright)
AI ModelsText, embeddings, images, transcription
FilesRead/write, git, bulk operations

Pre-installed Tools (50+)

CategoryTools
Runtimespython, node, npm, bun, pip
Version Controlgit, gh (GitHub CLI)
HTTP & Networkingcurl, httpie, jq, dig, ss
Search & Textripgrep (rg), find, sed, awk, tree
Media & Docsffmpeg, imagemagick, pandoc
Build & Datamake, sqlite3, tar, gzip, zip, unzip

Key Notes

  • Sandboxes are isolated — each user gets their own container with a full Linux environment; you can only affect your own ephemeral sandbox
  • Sandbox is ephemeral — use Agent Memory (/memory/*) for persistence
  • Working directory is /workspace — relative paths like file.txt resolve to /workspace/file.txt
  • Servers must bind to 0.0.0.0 for public access
  • Ports 3000-3010 are reserved — use 8080, 5000, 4000, etc.
  • Browser sessions — Each command creates an ephemeral session. Use browser:acquire for multi-command session reuse, --trace to capture Playwright traces

Billing

$0.0001/sec compute + browser, $0.02/1K neurons AI. New accounts get $5 free (~14 hours), no credit card required.

Discovery

  • ppod help — CLI command reference
  • GET https://paperpod.dev/ — API schema (JSON)
  • GET https://paperpod.dev/docs — Full documentation

Advanced: WebSocket (not recommended for normal workflows). For programmatic integrations or custom apps, connect via WebSocket. GET https://paperpod.dev/docs to learn more.

Installation

Terminal bash

openclaw install paperpod
    
Copied!

💻Code Examples

ppod login <token> && ppod help

ppod-login-token--ppod-help.txt
## Authentication

**Step 1: Get a token**

# Check email → click magic link → copy token (pp_sess_...)

-check-email--click-magic-link--copy-token-ppsess.txt
**Step 2: Use the token** (pick one method)

| Method | How | Best for |
|--------|-----|----------|
| **CLI login** | `ppod login pp_sess_...` | Everyday, Interactive use |
| **Env var** | `export PAPERPOD_TOKEN=pp_sess_...` | Scripts, CI/CD |
| **Per-request** | `-H "Authorization: Bearer pp_sess_..."` | HTTP one-shots |

Tokens expire in **15 days**. On `EXPIRED_TOKEN` error, re-authenticate via `POST /login`.

---

## CLI (Recommended)

The CLI is the easiest way to use PaperPod. It handles streaming, sessions, and reconnection automatically.

### CLI Commands

| Category | Command | Description |
|----------|---------|-------------|
| **Sandbox** | `ppod exec <cmd>` | Run shell command |
| | `ppod write <path> [file]` | Write file (stdin if no file) |
| | `ppod read <path>` | Read file |
| | `ppod ls <path>` | List directory |
| **Processes** | `ppod start <cmd>` | Start background process |
| | `ppod ps` | List processes |
| | `ppod kill <id>` | Stop process |
| **Ports** | `ppod expose <port>` | Get public URL (-q for URL only) |
| **Browser** | `ppod browser:screenshot <url>` | Capture webpage |
| | `ppod browser:pdf <url>` | Generate PDF |
| | `ppod browser:scrape <url> [sel]` | Scrape elements (default: body) |
| | `ppod browser:markdown <url>` | Extract markdown |
| | `ppod browser:content <url>` | Get rendered HTML |
| | `ppod browser:test <url> '<json>'` | Run Playwright tests |
| | `ppod browser:acquire` | Acquire reusable session |
| | `ppod browser:connect <id>` | Connect to existing session |
| | `ppod browser:sessions` | List active sessions |
| | `ppod browser:limits` | Check browser limits |
| **AI** | `ppod ai <prompt>` | Text generation |
| | `ppod ai:embed <text>` | Generate embeddings |
| | `ppod ai:image <prompt>` | Generate image |
| | `ppod ai:transcribe <audio>` | Transcribe audio |
| | `ppod ai:models` | List available AI models |
| **Code** | `ppod interpret <code>` | Rich output (charts) |
| **Memory** | `ppod mem:write <path>` | Persist data |
| | `ppod mem:read <path>` | Read persisted data |
| | `ppod mem:ls` | List memory files |
| | `ppod mem:rm <path>` | Delete from memory |
| | `ppod mem:usage` | Check quota |
| **Account** | `ppod balance` | Check credits |
| | `ppod status` | Connection info |
| | `ppod help` | Show all commands |
| | `ppod <cmd> --help` | Help for specific command |

**Update CLI:** `npm update -g @paperpod/cli`

### CLI Examples

ppod exec "convert image.png -resize 50% thumbnail.png" # Image manipulation

ppod-exec-convert-imagepng--resize-50-thumbnailpng--image-manipulation.txt
---

## HTTP Endpoints

Use HTTP for one-shot tasks or when CLI isn't available. Run `curl https://paperpod.dev/docs` or visit https://paperpod.dev/docs for full API reference.

### Quick Reference

| Endpoint | Purpose |
|----------|---------|
| `POST /execute` | Run code (python, javascript, shell) |
| `POST /execute/stream` | Stream output (SSE) |
| `POST /files/write` | Write file |
| `POST /files/read` | Read file |
| `POST /files/list` | List directory |
| `POST /process/start` | Start background process |
| `POST /process/list` | List processes |
| `POST /expose` | Get preview URL for port |
| `POST /memory/write` | Persist data |
| `POST /memory/read` | Read persisted data |
| `POST /browser/screenshot` | Capture screenshot |
| `POST /browser/pdf` | Generate PDF |
| `POST /browser/markdown` | Extract markdown |
| `POST /ai/generate` | Text generation |
| `POST /ai/embed` | Embeddings |
| `POST /ai/image` | Image generation |
| `GET /ai/models` | List models |

### HTTP Example
example.sh
curl -X POST https://paperpod.dev/login -d '{"email":"[email protected]"}'  # Verify and get token
npm install -g @paperpod/cli
ppod login <token> && ppod help
example.sh
# Execute code
ppod exec "python -c 'print(2+2)'"
ppod exec "npm init -y && npm install express"
# Start server + expose (--bind 0.0.0.0 required for public access)
ppod start "python -m http.server 8080 --bind 0.0.0.0"
ppod expose 8080  # → https://8080-{sandbox-id}-p8080_v1.paperpod.work (stable URL)
# Browser with tracing
ppod browser:screenshot https://example.com --trace debug.zip
# Persistent storage (survives sandbox reset)
echo '{"step":3}' | ppod mem:write state.json
# Built-in tools (50+ available: ffmpeg, sqlite3, pandoc, imagemagick, git, jq, ripgrep...)
ppod exec "ffmpeg -i input.mp4 -vf scale=640:480 output.mp4"  # Video processing
ppod exec "sqlite3 data.db 'SELECT * FROM users'"             # Database queries
ppod exec "convert image.png -resize 50% thumbnail.png"       # Image manipulation
example.sh
# Execute shell command
curl -X POST https://paperpod.dev/execute \
  -H "Authorization: Bearer $PAPERPOD_TOKEN" \
  -d '{"code": "ls -la", "language": "shell"}'

Tags

#browser_and-automation #automation #code #tools

Quick Info

Category Web Scrapers
Model Claude 3.5
Complexity Multi-Agent
Author shassingh09
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install paperpod