Sign In

@roveapi/browser

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@roveapi/browser

Browser automation SDK for AI agents — Playwright-as-a-Service with accessibility trees

latest
npmnpm
Version
1.1.1
Version published
Weekly downloads
2
-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

@roveapi/browser

Browser automation SDK for AI agents. Wraps the Rove API — Playwright-as-a-Service with accessibility trees for 77% fewer tokens.

Install

npm install @roveapi/browser

Quickstart

import { BrowserClient } from '@roveapi/browser'

const client = new BrowserClient({ apiKey: 'rvp_live_...' })

// One-shot screenshot
const screenshot = await client.screenshot({ url: 'https://example.com' })
console.log(screenshot.url) // signed S3 URL

// Session-based workflow
const session = await client.session()
await session.navigate('https://example.com')
const tree = await session.getA11yTree()
console.log(tree.result.tree) // accessibility tree (~26K tokens vs ~114K for screenshot)
await session.click({ label: 'Get Started' })
await session.fill({ selector: '#email', value: 'user@example.com' })
await session.close()

Error Handling

import { BrowserClient, InsufficientCreditsError, RateLimitError } from '@roveapi/browser'

try {
  const session = await client.session()
} catch (err) {
  if (err instanceof InsufficientCreditsError) {
    console.log('Top up credits at roveapi.com')
  }
  if (err instanceof RateLimitError) {
    console.log(`Retry after ${err.retryAfter} seconds`)
  }
}

API

BrowserClient

new BrowserClient({ apiKey, baseUrl?, retries?, retryDelay? })
  • client.session(options?)Session
  • client.screenshot({ url, selector?, fullPage?, format? })ScreenshotResponse
  • client.extract({ url, schema, waitForSelector? })ExtractResponse
  • client.usage()UsageResponse

Session

  • session.navigate(url, options?) — load URL, return title + status
  • session.getA11yTree(options?) — accessibility tree (primary tool for LLMs)
  • session.click({ selector?, label? }) — click element
  • session.fill({ selector?, label?, value }) — type into input
  • session.select({ selector?, value? }) — select dropdown option
  • session.scroll({ direction?, amount? }) — scroll page
  • session.waitFor({ type, value }) — wait for condition
  • session.screenshot({ fullPage?, format? }) — capture page
  • session.getText(selector) — extract text
  • session.getAttribute(selector, attribute) — get attribute
  • session.evaluate(expression) — run JavaScript
  • session.close() — close session, finalize artifacts

Auto-retry on 503 (pool exhausted, browser crash) with exponential backoff. No retry on 402 (insufficient credits) or 410 (session expired).

Keywords

browser

FAQs

Package last updated on 22 Apr 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts