Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Website | Documentation | Discord | Twitter

Browserable LogoBrowserable Logo

Open source browser automation library for AI agents

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.

Quick start

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.

Manual setup

Clone the repository:

git clone https://github.com/browserable/browserable.git
cd browserable

Pre-requisites:

Start the development environment:

cd deployment
docker-compose -f docker-compose.dev.yml up

Set your API keys:

Services

Once running, you'll have access to the following services:

ServiceURL/PortDescription
UI Serverhttp://localhost:2001Main user interface
Documentationhttp://localhost:2002Local documentation
Tasks Serverhttp://localhost:2003Task management API
MongoDB27017Database
MongoDB Express UIhttp://localhost:3300Database management
Redis6379Caching and queues
MinIO APIhttp://localhost:9000Object storage API
MinIO Consolehttp://localhost:9001Object storage UI
Supabase Studiohttp://localhost:8000Database management

JavaScript SDK

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 SDKconstbrowserable=newBrowserable({apiKey: 'your-api-key'});// Create and run a taskasyncfunctionrunTask(){constcreateResult=awaitbrowserable.createTask({task: 'Find the top trending GitHub repos of the day.',agents: ['BROWSER_AGENT']});// Wait for task completionconstresult=awaitbrowserable.waitForRun(taskId);console.log('Results:',result.data);}

Demos

Task: On amazon.com search for a yoga mat at least 6mm thick, non-slip, eco-friendly, and under $50.

amazon-demo



Task: On arxiv.org locate the latest paper within the 'Nonlinear Sciences - Chaotic Dynamics' category, summarize the abstract, and note the submission date.

arxiv-demo



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.

coursera-demo

Configuration options

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.

Documentation

See browserable.ai/docs for full documentation, or you can check the REST API reference/ JS SDK guide.

Contributing

Browserable is an open-source and self-hostable project. We welcome contributions! 💛

Here's how you can help:

  1. Fork the repository.
  2. Create your feature branch (git checkout -b feature/AmazingFeature).
  3. Commit your changes (git commit -m 'Added AmazingFeature').
  4. Push to the branch (git push origin feature/AmazingFeature).
  5. Open a pull request.

Support

Questions/ feedback? Join Discord.

Acknowledgments

Some amazing open source projects Browserable wouldn't have been possible without: bull, mongo-express, Stagehand, Supabase.

About

Open source and self-hostable browser automation library for AI agents

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages