Skip to main content

Documentation Index

Fetch the complete documentation index at: https://stagehand-shrey-check-v3-metrics-docs.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Install Stagehand in your current app with the TypeScript SDK.
We recommend using the Node.js runtime environment to run Stagehand scripts.Bun is now supported as long as you do not integrate Stagehand with Playwright. Playwright is not compatible with Bun.

Install dependencies

npm install @browserbasehq/stagehand
If you plan to run locally, you need to have Chrome installed on your machine. For cloud browser sessions, skip this.

Configure environment

Set environment variables (or a .env via your framework):
OPENAI_API_KEY=your_api_key
BROWSERBASE_API_KEY=your_api_key
BROWSERBASE_PROJECT_ID=your_project_id

Use in your codebase

Add Stagehand where you need browser automation.
import "dotenv/config";
import { Stagehand } from "@browserbasehq/stagehand";
import { z } from "zod/v3";

async function main() {
  const stagehand = new Stagehand({
    env: "BROWSERBASE"
  });

  await stagehand.init();
  const page = stagehand.context.pages()[0];

  await page.goto("https://example.com");

  // Act on the page
  await stagehand.act("Click the learn more button");

  // Extract structured data
  const description = await stagehand.extract("extract the description", z.string());

  console.log(description);
  await stagehand.close();
}

main().catch((err) => {
  console.error(err);
  process.exit(1);
});

Next steps

Configuration

Environment, Browserbase vs Local, logging, timeouts, LLM customization

Act

Perform precise actions with natural language

Extract

Typed data extraction with Zod schemas

Observe

Discover elements and suggested actions