rtrvr CLI & SDK
One CLI, three execution modes. Browser automation for AI agents and humans — across cloud, local browser extension, or auto-routed.
Cloud Mode
Run agents and scrape via rtrvr's managed cloud browsers.
Extension Mode
Route to your local browser extension for authenticated sessions.
Auto Mode
Smart routing with automatic fallback between cloud and extension.
CLI (global)
npm install -g @rtrvr-ai/cliSDK (in project)
npm install @rtrvr-ai/sdkThe CLI provides the rtrvr command. The SDK provides createRtrvrClient() for programmatic TypeScript/JavaScript usage.
rtrvr auth loginrtrvr run "Extract the top 10 products and prices" --url https://example.com# Scrape a page
rtrvr scrape --url https://example.com
# Check your capabilities
rtrvr capabilities
# Run diagnostics
rtrvr doctorEvery command supports three execution targets. Use --target or the shortcut flags.
Cloud
--cloudManaged browsers via api.rtrvr.ai. No local setup needed. Best for scraping, data extraction, and tasks that don't require your login sessions.
Extension
--extensionRoute to your local browser via the rtrvr Chrome extension. Use for authenticated sessions (logged-in sites) and tasks that need your cookies/sessions.
Auto (default)
--target autoSmart routing — checks if extension devices are online, tries extension first, falls back to cloud automatically. This is the default behavior.
Auto mode routing flow
The response includes routing metadata showing which mode was selected and whether fallback was applied:
{
"metadata": {
"selectedMode": "cloud",
"fallbackApplied": true,
"fallbackReason": "no extension devices online"
}
}# Positional input
rtrvr run "Find the latest pricing for each plan" --url https://example.com
# From file
rtrvr run --input-file ./task.txt --url https://example.com --target cloud
# From stdin
echo "Summarize this page" | rtrvr run --url https://example.com<input>Task description (positional argument)
--input <text>Task description (flag alternative)
--input-file <path>Read task description from a file
--url <url>Target URL(s) for the agent
--target <mode>default: autoRouting mode: auto, cloud, or extension
--cloudShortcut for --target cloud
--extensionShortcut for --target extension
--device-id <id>Target a specific browser extension device
--schema-file <path>JSON schema file for structured output
--jsonMachine-readable JSON output
--no-streamDisable real-time progress streaming
The @rtrvr-ai/sdk package provides a typed TypeScript client for programmatic use.
Create a Client
import { createRtrvrClient } from '@rtrvr-ai/sdk';
const client = createRtrvrClient({
apiKey: process.env.RTRVR_API_KEY!,
defaultTarget: 'auto', // 'auto' | 'cloud' | 'extension'
});Client Options
apiKeyYour rtrvr API key (rtrvr_...)
defaultTargetdefault: autoDefault routing mode
baseUrldefault: https://api.rtrvr.aiOverride the API base URL
mcpUrldefault: https://mcp.rtrvr.aiOverride the MCP base URL
Unified Run
const result = await client.run({
input: 'Find latest headline and author',
urls: ['https://example.com'],
target: 'auto',
});
console.log(result);Direct Tool Calls
// Extract structured data
const extracted = await client.tools.extract({
user_input: 'Extract all product names and prices',
tab_urls: ['https://example.com/products'],
});
// Act on a page
const acted = await client.tools.act({
user_input: 'Click the "Sign Up" button',
tab_urls: ['https://example.com'],
});
// Crawl and extract
const crawled = await client.tools.crawl({
user_input: 'Find all blog post titles',
tab_urls: ['https://example.com/blog'],
});Scrape
const scraped = await client.scrape.run({
urls: ['https://example.com'],
});Utilities
// List online devices
const devices = await client.devices.list();
// Check credit balance
const credits = await client.credits.get();
// Get profile
const profile = await client.profile.get();