Skyvern vs Stagehand
Both are catalogued under Computer & Browser Use. The figures come from the GitHub API; the assessments are ours.
At a glance
| At a glance | Skyvern | Stagehand |
|---|---|---|
| License | AGPL-3.0 | MIT |
| Languages | Python | TypeScript, Python, Go |
| Deployment | Self-hosted / Managed cloud | Self-hosted / Runs locally / Managed cloud |
| Maturity | Growing | Growing |
| Stars | 22.8k | 23.9k |
| Star growth over the last 7 days | +0 ★ | +1 ★ |
| Forks | 2.1k | 1.6k |
| Open issues | 214 | 315 |
| Last commit | 16 Aug 2026 | 14 Aug 2026 |
| Activity | Active | Active |
What each one does
Skyvern
Combines vision with DOM analysis so a flow keeps working when a site is redesigned — the failure mode that kills conventional selector-based scripts. Note the AGPL licence: if you intend to offer it as a network service, read the terms before you build on it.
Full entry →Stagehand
Lets you write deterministic Playwright for the steps you already know and drop into natural language only where the page is unpredictable. That mix is the pragmatic middle ground: fully AI-driven automation is slow and flaky, fully scripted automation breaks on redesigns.
Full entry →What you can do
Skyvern
- Automate flows that survive redesigns — Skyvern drives the page with vision LLMs rather than pre-determined XPaths, and
page.click("#submit-btn", prompt="Click the Submit button")tries the selector first and falls back to the AI when it stops matching. - Pull typed data out of a page —
page.extract(prompt, schema)returns page content shaped by a JSON schema you supply, andpage.validate("Check if the user is logged in")returns a bool your own code can branch on. - Chain steps into a workflow — Workflow blocks cover For Loops, Validation, File parsing, HTTP Request and Custom Code, and
page.agent.run_workflow(workflow_id)runs a saved workflow from inside a script. - Get through logins and 2FA —
page.agent.login(credential_type, credential_id)signs in from a stored credential — Skyvern's own store or Bitwarden — and 2FA covers authenticator-app QR codes, email and SMS. - Run the server on your own machine —
pip install "skyvern[all]"thenskyvern quickstartbrings up the local server with the packaged UI,--database-stringpoints it at Postgres instead, and TypeScript callers install@skyvern/clientfrom npm.
Stagehand
- Mix natural language with locators —
stagehand.act("click on the stagehand repo")handles a step you cannot predict, whileobserve()hands back concrete selectors you can replay deterministically through Playwright-stylepage.locator(...).click(). - Extract page data to a schema —
stagehand.extract()takes a Zod schema and returns exactly the fields you declared, so page content arrives as typed values rather than text you parse yourself. - Survive site redesigns —
act,observeandextractare self-healing: when a site changes, Stagehand detects it and refreshes how the action is carried out instead of failing on a selector that no longer matches. - Reach into nested DOM structures — Deep locators reach inside out-of-process iframes and closed Shadow DOM, which ordinary automation cannot cross, and clipboard support and batch commands come alongside.
- Work in TypeScript, Python or Go — One browser driver ships as three SDKs —
@browserbasehq/stagehandon npm pluspackages/sdk-pythonandpackages/sdk-goin the same monorepo — whichjust installandjust buildcompile together.