Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/browserbase/stagehand
An AI web browsing framework focused on simplicity and extensibility.
https://github.com/browserbase/stagehand
agents ai llms playwright puppeteer selenium
Last synced: 2 days ago
JSON representation
An AI web browsing framework focused on simplicity and extensibility.
- Host: GitHub
- URL: https://github.com/browserbase/stagehand
- Owner: browserbase
- License: mit
- Created: 2024-03-24T19:19:44.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-01-17T03:00:20.000Z (9 days ago)
- Last Synced: 2025-01-17T03:30:19.187Z (9 days ago)
- Topics: agents, ai, llms, playwright, puppeteer, selenium
- Language: TypeScript
- Homepage: https://stagehand.dev
- Size: 24 MB
- Stars: 4,651
- Watchers: 25
- Forks: 198
- Open Issues: 58
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Roadmap: ROADMAP.md
Awesome Lists containing this project
- awesome-rainmana - browserbase/stagehand - An AI web browsing framework focused on simplicity and extensibility. (TypeScript)
- AiTreasureBox - browserbase/stagehand - 01-07_2919_7](https://img.shields.io/github/stars/browserbase/stagehand.svg)|An AI web browsing framework focused on simplicity and extensibility.| (Repos)
- awesome-ccamel - browserbase/stagehand - An AI web browsing framework focused on simplicity and extensibility. (TypeScript)
- awesome-repositories - browserbase/stagehand - An AI web browsing framework focused on simplicity and extensibility. (TypeScript)
README
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](https://playwright.dev/), 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.
Here's a sample of what you can do with Stagehand:
```typescript
// Keep your existing Playwright code unchanged
await page.goto("https://docs.stagehand.dev");// Stagehand AI: Act on the page
await page.act("click on the 'Quickstart'");// Stagehand AI: Extract data from the page
const { description } = await page.extract({
instruction: "extract the description of the page",
schema: z.object({
description: z.string(),
}),
});
```## Why?
**Stagehand adds determinism to otherwise unpredictable agents.**While there's no limit to what you could instruct Stagehand to do, our primitives allow you to control how much you want to leave to an AI. It works best when your code is a sequence of atomic actions. Instead of writing a single script for a single website, Stagehand allows you to write durable, self-healing, and repeatable web automation workflows that actually work.
> [!NOTE]
> `Stagehand` is currently available as an early release, and we're actively seeking feedback from the community. Please join our [Slack community](https://join.slack.com/t/stagehand-dev/shared_invite/zt-2tdncfgkk-fF8y5U0uJzR2y2_M9c9OJA) to stay updated on the latest developments and provide feedback.## Documentation
Visit [docs.stagehand.dev](https://docs.stagehand.dev) to view the full documentation.
## Getting Started
### Quickstart
To create a new Stagehand project configured to our default settings, run:
```bash
npx create-browser-app --example quickstart
```Read our [Quickstart Guide](https://docs.stagehand.dev/get_started/quickstart) in the docs for more information.
You can also add Stagehand to an existing Typescript project by running:
```bash
npm install @browserbasehq/stagehand zod
npx playwright install # if running locally
```### Build and Run from Source
```bash
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:
```bash
cp .env.example .env
nano .env # Edit the .env file to add API keys
```## Contributing
> [!NOTE]
> We highly value contributions to Stagehand! For questions or support, please join our [Slack community](https://join.slack.com/t/stagehand-dev/shared_invite/zt-2tdncfgkk-fF8y5U0uJzR2y2_M9c9OJA).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](https://x.com/kamathematic) or [Paul Klein](https://x.com/pk_iv) in our [Slack community](https://join.slack.com/t/stagehand-dev/shared_invite/zt-2tdncfgkk-fF8y5U0uJzR2y2_M9c9OJA) before starting to ensure that your contribution aligns with our goals.
For more information, please see our [Contributing Guide](https://docs.stagehand.dev/contributions/contributing).
## Acknowledgements
This project heavily relies on [Playwright](https://playwright.dev/) as a resilient backbone to automate the web. It also would not be possible without the awesome techniques and discoveries made by [tarsier](https://github.com/reworkd/tarsier), and [fuji-web](https://github.com/normal-computing/fuji-web).
We'd like to thank the following people for their contributions to Stagehand:
- [Jeremy Press](https://x.com/jeremypress) wrote the original MVP of Stagehand and continues to be an ally to the project.
- [Navid Pour](https://github.com/navidpour) is heavily responsible for the current architecture of Stagehand and the `act` API.
- [Sean McGuire](https://github.com/seanmcguire12) is a major contributor to the project and has been a great help with improving the `extract` API and getting evals to a high level.
- [Filip Michalsky](https://github.com/filip-michalsky) has been doing a lot of work on building out integrations like [Langchain](https://js.langchain.com/docs/integrations/tools/stagehand/) and [Claude MCP](https://github.com/browserbase/mcp-server-browserbase), generally improving the repository, and unblocking users.
- [Sameel Arif](https://github.com/sameelarif) is a major contributor to the project, especially around improving the developer experience.## License
Licensed under the MIT License.
Copyright 2025 Browserbase, Inc.