functions

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,…

INSTALLATION
npx skills add https://github.com/browserbase/skills --skill functions
Run in your project or agent environment. Adjust flags if your CLI version differs.

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 Playwright
  • context.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.

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card