Skip to content

Browser-Enabled Agents

Build AI agents that can browse the web — navigate pages, fill forms, click buttons, extract data, and take screenshots — using AWS Bedrock AgentCore Browser.

Overview

Browser-enabled agents combine the reasoning power of LLMs with a managed headless browser. The browser runs in AWS's secure, serverless infrastructure — no browser binaries to install, no Playwright servers to manage.

Use cases:

  • Web scraping and data extraction
  • Form submission and automation
  • Price monitoring and comparison
  • Research and information gathering
  • Testing and QA automation

Quick Start

Create an agent with browser capability using the Strands SDK:

python
from strands import Agent
from strands.models.bedrock import BedrockModel
from strands_tools.browser import AgentCoreBrowser

def create_agent():
    model = BedrockModel(
        model_id="us.anthropic.claude-sonnet-4-20250514-v1:0",
        region_name="us-east-1"
    )
    
    browser_tool = AgentCoreBrowser(region="us-east-1")
    
    agent = Agent(
        model=model,
        tools=[browser_tool.browser],
        system_prompt="""You are a helpful assistant with web browsing capability.
        You can navigate to websites, interact with pages, fill forms, 
        click buttons, and extract information from web pages."""
    )
    
    return agent, []

How It Works

  1. Agent receives a prompt that requires web interaction
  2. LLM decides to use the browser tool and generates navigation instructions
  3. AgentCore Browser starts a managed headless browser session in AWS
  4. Agent interacts with the page — navigating, clicking, typing, extracting data
  5. Session ends automatically when the agent completes its task
  6. Results returned to the user as part of the agent's response

Browser Tool Capabilities

The AgentCoreBrowser tool provides:

ActionDescription
NavigateGo to any URL
ClickClick elements by selector or text
TypeEnter text into input fields
ScreenshotCapture the current page state
Extract textGet text content from elements
WaitWait for elements to appear
ScrollScroll the page
Execute JSRun JavaScript on the page

Pricing

Browser sessions are billed based on duration at 3× the AWS cost:

ComponentRate
Per-minute rate~5 credits/minute (~$0.005/min)
Minimum session2 credits
Pricing model3× AWS cost (vCPU-hours + GB-hours)

Browser costs are added on top of the standard agent chat credits (LLM tokens + compute).

Cost Examples

ScenarioDurationApproximate Cost
Quick page check15 seconds2 credits (minimum)
Medium scrape (scroll + extract)1 minute5 credits
Form submit + wait2 minutes9 credits
Multi-step research flow10 minutes37 credits
Long research session15 minutes66 credits

Budget Planning

TierMonthly CreditsApproximate Browser Sessions
Free (100 credits)100~15–30 quick checks
Starter (30K credits)30,000~800 typical sessions
Professional (600K credits)600,000~15,000 sessions

Session Lifecycle

  • Per-turn: Each agent invocation gets a fresh browser session
  • Auto-cleanup: Sessions are automatically stopped when the agent completes
  • Timeout: Sessions have a maximum duration (matches Lambda timeout)
  • Isolation: Each session runs in its own sandboxed environment

Metering & Billing

Browser usage is tracked via the BrowserMeteringAccumulator and appears in the __METRICS__ stream output:

json
{
  "browserSessions": 1,
  "browserDurationMs": 45000
}

Billing details are recorded in the RequestTable with a browserUsage sub-object:

json
{
  "browserUsage": {
    "sessionCount": 1,
    "totalDurationMs": 45000,
    "sessionIds": ["01KNZ..."],
    "estimatedCostUsd": 0.0091
  }
}

Preset Agent

A ready-to-use Browser Assistant agent is available on the platform. Find it in the Agents directory — no code required, just start chatting.

Security

  • Sandboxed execution: Browser sessions run in AWS-managed infrastructure, isolated from your Lambda
  • No credential leakage: User API keys and tokens are never passed to the browser
  • Session isolation: Each browser session is independent with no shared state
  • Automatic cleanup: Sessions are force-stopped in the finally block to prevent cost leaks

Limitations

  • No session persistence: Browser state is not preserved between agent turns (v1)
  • No file downloads: Downloaded files are not automatically saved to Knowledge storage (planned for v2)
  • Single session per turn: Each agent invocation uses one browser session
  • Lambda timeout: Browser sessions are bounded by the agent Lambda's 15-minute timeout

Universal API - The agentic entry point to the universe of APIs