Install
$ agentstack add skill-scrapeless-ai-scrapeless-agent-browser-scraping-browser-skill ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README — it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming — see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps — measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Cloud Browser Automation with scrapeless-browser
[README.md](README.md)
Important: Session Management with --session-id
All browser operation commands support the --session-id parameter to specify which Scrapeless session to use.
Recommended Workflow
# Step 1: Create a session and save the session ID
SESSION_ID=$(scrapeless-scraping-browser new-session --name "workflow" --ttl 1800 --json | jq -r '.taskId')
# Step 2: Use the session ID for all operations
scrapeless-scraping-browser --session-id $SESSION_ID open https://example.com
scrapeless-scraping-browser --session-id $SESSION_ID snapshot -i
scrapeless-scraping-browser --session-id $SESSION_ID click @e1
# Step 3: Close when done
scrapeless-scraping-browser --session-id $SESSION_ID close
Automatic Session Management
If you don't specify --session-id:
- The CLI will query for running sessions
- If a running session exists, it will use the latest one
- If no running session exists, it will create a new one automatically
For production workflows, always use --session-id to ensure consistency.
Authentication Setup
Before using scrapeless-browser, you MUST set up authentication:
# Method 1: Config file (recommended, persistent)
scrapeless-scraping-browser config set apiKey your_api_token_here
# Method 2: Environment variable
export SCRAPELESS_API_KEY=your_api_token_here
# Verify it's set
scrapeless-scraping-browser config get apiKey
Get your API token from https://app.scrapeless.com
Session Management Behavior
The CLI manages Scrapeless sessions with the following behavior:
- Session Creation: First command creates a new Scrapeless session
- Session Persistence: Sessions remain active only while connection is maintained
- Session Termination: Sessions automatically terminate when connection closes
- Reconnection Limitation: Cannot reconnect to terminated sessions
Important: For multi-step workflows, consider using the TypeScript API to maintain persistent connections.
Core Workflow
Every browser automation follows this pattern:
- Create Session: Create a session and save the session ID
- Navigate: Use
--session-idto navigate to URL - Snapshot: Get element refs with
--session-id - Interact: Use refs to click, fill, select with
--session-id - Re-snapshot: After navigation or DOM changes, get fresh refs
# Set API token first
scrapeless-scraping-browser config set apiKey your_token
# Create session
SESSION_ID=$(scrapeless-scraping-browser new-session --name "form-fill" --ttl 600 --json | jq -r '.taskId')
# Start automation with session ID
scrapeless-scraping-browser --session-id $SESSION_ID open https://example.com/form
scrapeless-scraping-browser --session-id $SESSION_ID snapshot -i
# Output: @e1 [input type="email"], @e2 [input type="password"], @e3 [button] "Submit"
scrapeless-scraping-browser --session-id $SESSION_ID fill @e1 "user@example.com"
scrapeless-scraping-browser --session-id $SESSION_ID fill @e2 "password123"
scrapeless-scraping-browser --session-id $SESSION_ID click @e3
scrapeless-scraping-browser --session-id $SESSION_ID wait --load networkidle
scrapeless-scraping-browser --session-id $SESSION_ID snapshot -i # Check result
Command Chaining
Commands can be chained with && in a single shell invocation:
# Chain open + wait + snapshot
scrapeless-scraping-browser open https://example.com && scrapeless-scraping-browser wait --load networkidle && scrapeless-scraping-browser snapshot -i
# Chain multiple interactions
scrapeless-scraping-browser fill @e1 "user@example.com" && scrapeless-scraping-browser fill @e2 "password123" && scrapeless-scraping-browser click @e3
When to chain: Use && when you don't need to read intermediate output. Run commands separately when you need to parse output first (e.g., snapshot to discover refs, then interact).
Essential Commands
Note: All commands below support the optional --session-id parameter.
# Navigation & Session
scrapeless-scraping-browser new-session [options] # Create new browser session
scrapeless-scraping-browser [--session-id ] open # Navigate to URL
scrapeless-scraping-browser [--session-id ] close # Close browser session
scrapeless-scraping-browser sessions # List running sessions
scrapeless-scraping-browser stop # Stop specific session
scrapeless-scraping-browser stop-all # Stop all sessions
Session Creation with Advanced Options
The new-session command supports extensive customization options:
# Basic session creation
scrapeless-scraping-browser new-session --name "my-session" --ttl 1800
# Session with proxy settings
scrapeless-scraping-browser new-session \
--name "proxy-session" \
--proxy-country US \
--proxy-state CA \
--proxy-city "Los Angeles" \
--ttl 3600
# Session with custom browser configuration
scrapeless-scraping-browser new-session \
--name "mobile-session" \
--platform macOS \
--screen-width 375 \
--screen-height 812 \
--user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36" \
--timezone "America/Los_Angeles" \
--languages "en,es"
# Session with recording enabled
scrapeless-scraping-browser new-session \
--name "recorded-session" \
--recording true \
--ttl 7200
Available Options:
--help: Display help information and all available parameters--name: Session name for identification--ttl: Session timeout in seconds (default: 180)--recording: Enable session recording--proxy-country: Proxy country code (e.g., AU, US, GB, CN, JP)--proxy-state: Proxy state/region (e.g., NSW, CA, NY, TX)--proxy-city: Proxy city (e.g., sydney, newyork, london, tokyo)--user-agent: Custom user agent string--platform: Platform (Windows, macOS, Linux)--screen-width: Screen width in pixels (default: 1920)--screen-height: Screen height in pixels (default: 1080)--timezone: Timezone (default: America/New_York)--languages: Comma-separated language codes (default: en)
# Snapshot
scrapeless-scraping-browser [--session-id ] snapshot -i # Interactive elements with refs (recommended)
scrapeless-scraping-browser [--session-id ] snapshot -i -C # Include cursor-interactive elements
scrapeless-scraping-browser [--session-id ] snapshot -s "#selector" # Scope to CSS selector
# Interaction (use @refs from snapshot)
scrapeless-scraping-browser [--session-id ] click @e1 # Click element
scrapeless-scraping-browser [--session-id ] fill @e2 "text" # Clear and type text
scrapeless-scraping-browser [--session-id ] type @e2 "text" # Type without clearing
scrapeless-scraping-browser [--session-id ] press Enter # Press key
scrapeless-scraping-browser [--session-id ] scroll down 500 # Scroll page
scrapeless-scraping-browser [--session-id ] scroll down 500 --selector "div.content" # Scroll within element
# Get information
scrapeless-scraping-browser [--session-id ] get text @e1 # Get element text
scrapeless-scraping-browser [--session-id ] get url # Get current URL
scrapeless-scraping-browser [--session-id ] get title # Get page title
scrapeless-scraping-browser [--session-id ] screenshot # Take screenshot
scrapeless-scraping-browser [--session-id ] screenshot --full # Full page screenshot
# Wait
scrapeless-scraping-browser [--session-id ] wait @e1 # Wait for element
scrapeless-scraping-browser [--session-id ] wait --load networkidle # Wait for network idle
scrapeless-scraping-browser [--session-id ] wait --url "**/page" # Wait for URL pattern
scrapeless-scraping-browser [--session-id ] wait 2000 # Wait milliseconds
# Cookies & Storage
scrapeless-scraping-browser [--session-id ] cookies # Get all cookies
scrapeless-scraping-browser [--session-id ] cookies set # Set cookie
scrapeless-scraping-browser [--session-id ] cookies clear # Clear cookies
scrapeless-scraping-browser [--session-id ] storage local # Get localStorage
scrapeless-scraping-browser [--session-id ] storage local set # Set localStorage
# Multi-page
scrapeless-scraping-browser [--session-id ] pages # List all pages/tabs
scrapeless-scraping-browser [--session-id ] page # Switch to page
scrapeless-scraping-browser [--session-id ] tab new [url] # Open new tab
scrapeless-scraping-browser [--session-id ] tab close [n] # Close tab
# Live preview
scrapeless-scraping-browser live [taskId] # Get live preview URL
This document covers the most common usage patterns and commands. The Scrapeless Agentic Browser supports many more commands than listed here. To see the full command list, run:
scrapeless-scraping-browser --help
Core Commands Reference
The following core commands are available for browser automation:
Navigation & Session Management
open- Navigate to URLclose- Close browser session
Element Interaction
click- Click element (or @ref)dblclick- Double-click elementhover- Hover over elementfocus- Focus elementscrollintoview- Scroll element into view
Text Input
type- Type into element without clearingfill- Clear and fill element with textpress- Press key (Enter, Tab, Control+a)keyboard type- Type text with real keystrokes (no selector required)keyboard inserttext- Insert text without key events
Form Controls
check- Check checkboxuncheck- Uncheck checkboxselect- Select dropdown option(s)
Drag & Drop / File Operations
drag- Drag and drop from source to destinationupload- Upload files to input elementdownload- Download file by clicking element
Scrolling
scroll [px]- Scroll page (up/down/left/right) with optional pixel amount
Wait & Timing
wait- Wait for element to appear or wait specified milliseconds
Capture & Export
screenshot [path]- Take screenshot (optionally save to path)pdf- Save current page as PDF
Advanced Operations
snapshot- Get accessibility tree with refs (optimized for AI agents)eval- Execute custom JavaScript code
Common Patterns
Form Submission
scrapeless-scraping-browser config set apiKey your_token
scrapeless-scraping-browser open https://example.com/signup
scrapeless-scraping-browser snapshot -i
scrapeless-scraping-browser fill @e1 "Jane Doe"
scrapeless-scraping-browser fill @e2 "jane@example.com"
scrapeless-scraping-browser click @e3
scrapeless-scraping-browser wait --load networkidle
Data Extraction
scrapeless-scraping-browser config set apiKey your_token
scrapeless-scraping-browser open https://example.com/products
scrapeless-scraping-browser snapshot -i --json
scrapeless-scraping-browser get text @e5 --json
Common Session Configuration Scenarios
Geographic Content Testing
# Access content from different regions
SESSION_ID=$(scrapeless-scraping-browser new-session \
--name "geo-test" \
--proxy-country AU \
--proxy-city sydney \
--timezone "Australia/Sydney" \
--languages "en-AU,en" \
--json | jq -r '.taskId')
scrapeless-scraping-browser --session-id $SESSION_ID open https://example.com
High-Resolution Desktop Testing
# Test on high-resolution displays
SESSION_ID=$(scrapeless-scraping-browser new-session \
--name "desktop-4k" \
--platform macOS \
--screen-width 3840 \
--screen-height 2160 \
--json | jq -r '.taskId')
scrapeless-scraping-browser --session-id $SESSION_ID open https://example.com
Session Recording for Debugging
# Enable recording for troubleshooting
SESSION_ID=$(scrapeless-scraping-browser new-session \
--name "debug-session" \
--recording true \
--ttl 7200 \
--json | jq -r '.taskId')
scrapeless-scraping-browser --session-id $SESSION_ID open https://example.com
# Session recording will be available for review
Session Persistence
Important: Scrapeless sessions terminate when connections close. For persistent workflows, use the TypeScript API:
scrapeless-scraping-browser config set apiKey your_token
# Create a session for login
scrapeless-scraping-browser create --name "login-session" --ttl 1800
scrapeless-scraping-browser open https://app.example.com/login
scrapeless-scraping-browser snapshot -i
scrapeless-scraping-browser fill @e1 "username"
scrapeless-scraping-browser fill @e2 "password"
scrapeless-scraping-browser click @e3
scrapeless-scraping-browser wait --url "**/dashboard"
# For subsequent operations, create a new session
# (Cannot reuse previous session due to connection termination)
scrapeless-scraping-browser create --name "dashboard-session" --ttl 1800
scrapeless-scraping-browser open https://app.example.com/dashboard
Better Alternative: Use TypeScript API for multi-step workflows:
import { BrowserManager } from './dist/browser.js';
const manager = new BrowserManager();
await manager.launch({ id: 'persistent-workflow', action: 'launch' });
const page = manager.getPage();
await page.goto('https://app.example.com/login');
// Login persists throughout the session
await page.fill('#username', 'user');
await page.fill('#password', 'pass');
await page.click('#login');
await page.waitForURL('**/dashboard');
await page.goto('https://app.example.com/profile');
// Session and cookies maintained
await manager.close();
Using Proxies
scrapeless-scraping-browser config set apiKey your_token
# Use residential proxy from specific country
scrapeless-scraping-browser config set proxyCountry US
scrapeless-scraping-browser open https://example.com
# Use custom proxy
scrapeless-scraping-browser config set proxyUrl "http://user:pass@proxy.com:8080"
scrapeless-scraping-browser open https://example.com
# Use proxy with state and city (v2 API)
scrapeless-scraping-browser config set proxyCountry US
scrapeless-scraping-browser config set proxyState CA
scrapeless-scraping-browser config set proxyCity "Los Angeles"
scrapeless-scraping-browser open https://example.com
Browser Fingerprinting
scrapeless-scraping-browser config set apiKey your_token
# Set browser fingerprint to avoid detection
scrapeless-scraping-browser config set fingerprint chrome
scrapeless-scraping-browser open https://example.com
# Customize browser fingerprint details
scrapeless-scraping-browser config set userAgent "your-agent"
scrapeless-scraping-browser config set platform macOS
scrapeless-scraping-browser config set screenWidth 375
scrapeless-scraping-browser config set screenHeight 812
scrapeless-scraping-browser config set timezone "Asia/Shanghai"
scrapeless-scraping-browser config set languages "zh-CN,en"
scrapeless-scraping-browser open https://example.com
Session Recording
scrapeless-scraping-browser config set apiKey your_token
# Enable session recording for debugging
scrapeless-scraping-browser config set sessionRecording true
scrapeless-scraping-browser open https://example.com
# ... perform actions ...
scrapeless-scraping-browser close
# Recording will be available in Scrapeless dashboard
Multiple Sessions
Note: Due to session termination behavior, the --session-id parameter has limitations. For reliable multi-session workflows, create separate sessions for each task:
scrapeless-scraping-browser config set apiKey your_token
# Create first session for task A
scrapeless-scraping-browser create --name "task-a" --ttl 1800
scrapeless-scraping-browser open https://site-a.com
# Complete tas
…
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [scrapeless-ai](https://github.com/scrapeless-ai)
- **Source:** [scrapeless-ai/scrapeless-agent-browser](https://github.com/scrapeless-ai/scrapeless-agent-browser)
- **License:** Apache-2.0
- **Homepage:** https://www.scrapeless.com/en/product/scraping-browser
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.