Oxylabs Browser Agent
Automate multi-step web interactions and structured extraction with natural-language instructions.
- Source repo
- oxylabs/browser-agent-py
- Stars
- ★ 1.6k
- Last updated
- 5mo ago
- FA score
- 27/100 · Major gaps
At a glance
- Works with
- Platform-specific
- You'll need
- Typical use
- An ecommerce operator searches a storefront for a named product and extracts its name, platform, review rating, and price.
- Main limitation
- It requires an Oxylabs AI Studio API key and the oxylabs-ai-studio Python package, tying the primary workflow to that ecosystem.
- Source review
- 27/100 · Major gaps 8 safety controls not found
What does this agent do, and when should you use it?
Browser Agent is an Oxylabs AI Studio browser-automation tool accessed through the BrowserAgent class in its Python SDK. It accepts a starting URL and user prompt to carry out multi-step browsing, including clicking, typing, navigation, scrolling, waiting, and extraction. Callers can request JSON, Markdown, HTML, or PNG screenshot output; JSON requires an OpenAPI schema. Results are read from result.data, while screenshot content is returned as Base64 data that can be saved as a PNG. It suits teams seeking to reduce static selectors and hand-authored browser scripts, but adoption depends on an Oxylabs AI Studio API key and service ecosystem.
Create BrowserAgent(api_key="<API_KEY>") and call browser_agent.run(url=..., user_prompt=..., output_format=..., schema=..., geo_location=...). The url supplies the starting page, while user_prompt describes the browsing work in natural language; the documentation also describes structured step arrays using click, type, navigate, wait, and extract actions. The agent can click links, fill forms, scroll, navigate, wait, and extract information from pages. For structured JSON, call browser_agent.generate_schema(prompt=...) and pass the resulting schema to run; read the response through result.data. With output_format="screenshot", decode result.data.content["data"] from Base64 to produce a PNG.
- An ecommerce operator searches a storefront for a named product and extracts its name, platform, review rating, and price.
- A QA tester simulates checkout by adding an item to a cart, applying a coupon, and confirming the checkout flow.
- A travel operations team enters destinations on flight or hotel sites, applies filters, and gathers prices.
- A recruiting researcher searches for a role, opens job listings, and extracts job details.
- An events team navigates ticketing sites to collect event titles, dates, and prices.
How do you install or deploy this agent?
You need Python 3.10 or later and an Oxylabs AI Studio API key; the documentation offers a free trial. In a terminal, run the following command:
pip install oxylabs-ai-studioHow do you use this agent?
Minimal invocation:
from oxylabs_ai_studio.apps.browser_agent import BrowserAgentbrowser_agent = BrowserAgent(api_key="<API_KEY>")
result = browser_agent.run(url="https://sandbox.oxylabs.io/",
user_prompt="Go to the website and take a screenshot of the home page",
output_format="screenshot",
)
For JSON, first create a schema with browser_agent.generate_schema(prompt="..."), then pass schema=schema and output_format="json" to run.
What are this agent's strengths and limitations?
- Natural-language instructions describe multi-step browsing work, avoiding the documented need to create static rules or manual scripts for each action.
- A single BrowserAgent.run call can cover clicking, typing, navigation, scrolling, waiting, and extraction, including JavaScript-rendered pages.
- It supports JSON, Markdown, HTML, and PNG output, with schema-based JSON extraction for structured results.
- It requires an Oxylabs AI Studio API key and the oxylabs-ai-studio Python package, tying the primary workflow to that ecosystem.
- The documented Python path requires Python 3.10 or later; users of another language must use the separately referenced JavaScript SDK guide.
- JSON output requires an OpenAPI schema, adding a schema-generation or schema-definition step.
- The documentation cautions that sites with advanced bot detection may require advanced setup and does not guarantee support for every website.
How does this agent compare with similar options?
The documentation contrasts Browser Agent with Puppeteer and Selenium: those tools generally require selectors and scripts for each action, whereas Browser Agent accepts natural-language browsing instructions.
Key facts side by side with the most closely related agents.
| Agent | Source review | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|
| Oxylabs Browser Agent This agent | 27 · Major gaps | ★ 1.6k | 5mo ago | — | — |
| Browser Use | 47 · Major gaps | ★ 116k | today | Python | Codex · Claude Code · OpenAI API · Claude API |
| Browser4 Agentic Browser | 47 · Major gaps | ★ 1.1k | 6d ago | Kotlin | OpenAI API |
| Flyto2 Core | 64 · Some gaps | ★ 481 | 2d ago | Python | Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows the repository contains only a README, with no code, tests, or configuration files. Therefore, least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, and source attribution cannot be assessed. All criteria score 0 due to lack of evidence.
Self-consistency: README describes features consistent with examples, but lacks code verification, score 1. Dependency availability: Mentions Python 3.10 and pip install, but no dependency list or versions, score 1. Failure messages: No error handling or failure message documentation, score 0.
Audience and scenarios: Clearly lists multiple use cases (e-commerce, travel, job search, etc.), score 2. Capability boundaries: Mentions support for JavaScript and dynamic content, but no explicit limitations, score 1. Trigger precision: Natural language prompts and structured step lists, but not detailed, score 1. Environment fit: Requires Python 3.10, but no other environment requirements, score 1.
Information architecture: README is well-structured with headings, features, installation, examples, FAQ, score 2. Install notes: Provides pip install command, score 2. Naming stability: Package and class names consistent, but no version mentioned, score 1. Examples and FAQ: Provides code examples and FAQ, score 2. Known limitations: Mentions advanced bot detection may require advanced setup, but not comprehensive, score 1. License: Not mentioned, score 0. Versioning and changelog: Not mentioned, score 0. Maintenance responsibility: Provides support email and Discord, but no explicit maintainer, score 1.
Output usability: Supports multiple output formats (JSON, Markdown, HTML, screenshot) with examples, score 2. Marginal value: Emphasizes natural language control compared to traditional frameworks, score 2. Cost-benefit: Mentions free trial and pricing, but no detailed analysis, score 1.
Claim traceability: Claims in README lack evidence or links, score 1. Cross-source corroboration: Only relies on README, no other sources, score 0. Fact-inference separation: Some distinction between facts and inferences, but not explicit, score 1.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- The repository contains only a README, with no code or tests, so functionality and security claims cannot be verified.
- No license information is provided; legal compliance should be confirmed before use.
- Relies on external API and cloud services, which may involve data privacy and cost concerns.