An AI web browsing framework focused on simplicity and extensibility.
Read the Docs
Stagehand is the easiest way to build browser automations. It is fully compatible with Playwright, offering three simple AI APIs (act
, extract
, and observe
) on top of the base Playwright Page
class that provide the building blocks for web automation via natural language. It also makes Playwright more accessible to non-technical users and less vulnerable to minor changes in the UI/DOM.
Anything that can be done in a browser can be done with Stagehand. Consider:
- Go to Hacker News and extract the top stories of the day
- Log into Amazon, search for AirPods, and buy the most relevant product
- Go to ESPN, search for Steph Curry, and get stats for his last 10 games
Stagehand makes it easier to write durable, performant browser automation code. When used with Browserbase, it offers unparalleled debugging tools like session replay and step-by-step debugging.
Note
Stagehand
is currently available as an early release, and we’re actively seeking feedback from the community. Please join our Slack community to stay updated on the latest developments and provide feedback.
Visit docs.stagehand.dev to view the full documentation.
To create a new Stagehand project configured to our default settings, run:
npx create-browser-app --example quickstart
Read our Quickstart Guide in the docs for more information.
You can also add Stagehand to an existing Typescript project by running:
npm install @browserbasehq/stagehand zod
npx playwright install # if running locally
git clone https://github.com/browserbase/stagehand.git cd stagehand npm install npx playwright install npm run example # run the blank script at ./examples/example.ts
Stagehand is best when you have an API key for an LLM provider and Browserbase credentials. To add these to your project, run:
cp .env.example .env
nano .env # Edit the .env file to add API keys
Note
We highly value contributions to Stagehand! For questions or support, please join our Slack community.
At a high level, we’re focused on improving reliability, speed, and cost in that order of priority. If you’re interested in contributing, we strongly recommend reaching out to Anirudh Kamath or Paul Klein in our Slack community before starting to ensure that your contribution aligns with our goals.
For more information, please see our Contributing Guide.
This project