Browserable allows you to build browser agents that can navigate sites, fill out forms, clicking buttons and extract information. It is currently at 90.4% on the Web Voyager benchmarks.
The fastest way to get started is to run the npx command. This will guide you through the setup process and ensure you have all required dependencies.
npx browserable
Visit http://localhost:2001
to set your LLM and Remote Browser API Keys to start using.
Clone the repository:
git clone https://github.com/browserable/browserable.git
cd browserable
Pre-requisites:
- Install Docker
- Install Docker Compose
Start the development environment:
cd deployment
docker-compose -f docker-compose.dev.yml up
Set your API keys:
- Open Browserable admin dashboard: http://localhost:2001/dash/@admin/settings.
- Set API key of any one LLM provider (Gemini/ Open AI/ Claude).
- Sign up for a free plan with any one remote browser provider (Hyperbrowser/ Steel).
- Set the API key of the remote browser provider in your Browserable admin dashboard.
Once running, you'll have access to the following services:
Service | URL/Port | Description |
---|---|---|
UI Server | http://localhost:2001 | Main user interface |
Documentation | http://localhost:2002 | Local documentation |
Tasks Server | http://localhost:2003 | Task management API |
MongoDB | 27017 | Database |
MongoDB Express UI | http://localhost:3300 | Database management |
Redis | 6379 | Caching and queues |
MinIO API | http://localhost:9000 | Object storage API |
MinIO Console | http://localhost:9001 | Object storage UI |
DB Studio | http://localhost:8000 | Database management |
Install the SDK using npm:
npm install browserable-js
Or using yarn:
yarn add browserable-js
Here’s a simple example to get you started:
import { Browserable } from 'browserable-js';
// Initialize the SDK
const browserable = new Browserable({
apiKey: 'your-api-key'
});
// Create and run a task
async function runTask() {
const createResult = await browserable.createTask({
task: 'Find the top trending GitHub repos of the day.',
agents: ['BROWSER_AGENT']
});
// Wait for task completion
const result = await browserable.waitForRun(taskId);
console.log('Results:', result.data);
}
Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.
Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.
Task: On coursera.com find a beginner-level online course about '3d printing' which lasts 1-3 months, and is provided by a renowned university.
Browserable offers configuration options for:
- LLM Providers
- Storage Solutions
- Database Systems
- Remote Browsers
- Custom Functions
For a complete list of environment variables and their configurations, see Environment Variables Documentation.
See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.
Browserable is an open-source and self-hostable project. We welcome contributions! 💛
Here's how you can help:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Added AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a pull request.
Questions/ feedback? Join Discord.
Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.