
Description
Deploy serverless browser automation as cloud functions using Browserbase. Use when the user wants to deploy browser automation to run on a schedule or cron, create a webhook endpoint for browser tasks, run automation in the cloud instead of locally, or asks about Browserbase Functions.
SKILL.md
Browserbase Functions
Deploy serverless browser automation using the official browse CLI.
Prerequisites
Get an API key from: https://browserbase.com/settings
export BROWSERBASE_API_KEY="your_api_key"
Creating a Function Project
1. Initialize
browse functions init my-function
cd my-function
This creates:
my-function/
├── package.json
├── index.ts # Your function code
└── .env # Add credentials here
2. Add Credentials to .env
echo "BROWSERBASE_API_KEY=$BROWSERBASE_API_KEY" >> .env
3. Install Dependencies
pnpm install
Function Structure
import { defineFn } from "@browserbasehq/sdk-functions";
import { chromium } from "playwright-core";
defineFn("my-function", async (context) => {
const { session, params } = context;
// Connect to browser
const browser = await chromium.connectOverCDP(session.connectUrl);
const page = browser.contexts()[0]!.pages()[0]!;
// Your automation
await page.goto(params.url || "https://example.com");
const title = await page.title();
// Return JSON-serializable result
return { success: true, title };
});
Key objects:
context.session.connectUrl- CDP endpoint to connect Playwrightcontext.params- Input parameters from invocation
Development Workflow
1. Start Dev Server
browse functions dev index.ts
Server runs at http://127.0.0.1:14113
2. Test Locally
curl -X POST http://127.0.0.1:14113/v1/functions/my-function/invoke \
-H "Content-Type: application/json" \
-d '{"params": {"url": "https://news.ycombinator.com"}}'
3. Iterate
The dev server auto-reloads on file changes. Use console.log() for debugging - output appears in the terminal.
Deploying
browse functions publish index.ts
Output:
Function published successfully
Build ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Function ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Save the Function ID - you need it to invoke.
Quick Reference
| Command | Description |
|---|---|
browse functions init <name> | Create new project |
browse functions dev <file> | Start local dev server |
browse functions publish <file> | Deploy to Browserbase |
For invocation examples, common patterns, and troubleshooting, see REFERENCE.md.
More skills from the skills repository
View all 16 skillsagent-experience
audit developer experience with AI agents
May 29AgentsAuditBrowserbaseEngineering +2autobrowse
run self-improving browser automation
Apr 23AgentsAutomationBrowser AutomationBrowserbasebrowser
automate browser interactions via CLI
Apr 6Browser AutomationBrowserbaseCLIbrowser-to-api
generate OpenAPI specs from browser traffic
May 14API DevelopmentBrowser AutomationBrowserbaseHTTP +1browser-trace
capture and debug browser automation traces
Apr 28Browser AutomationBrowserbaseDebuggingObservabilitybrowser-use-to-stagehand
migrate browser-use scripts to Stagehand
Jun 26Browser AutomationBrowserbaseMigrationPython +1
More from Browserbase
View publisherbrowse
run Browserbase browser automation
stagehand
Jun 6Browser AutomationBrowserbaseCLIcompany-research
conduct deep company and product research
skills
Apr 27BrowserbaseCompetitive IntelligenceMarketingResearch +1competitor-analysis
analyze competitors across features and pricing
skills
Jun 19BrowserbaseCompetitive IntelligenceMarketingResearch +1cookie-sync
sync Chrome cookies to a Browserbase context
skills
Apr 6AuthBrowser AutomationBrowserbaseevent-prospecting
research event speakers for sales prospecting
skills
Apr 28BrowserbaseProspectingResearchSalesfetch
fetch URLs without a browser session
skills
Apr 6HTTPWeb Scraping