JSPM

@browserbasehq/stagehand

3.2.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 699494
  • Score
    100M100P100Q191545F
  • License MIT

An AI web browsing framework focused on simplicity and extensibility.

Package Exports

  • @browserbasehq/stagehand
  • @browserbasehq/stagehand/cli
  • @browserbasehq/stagehand/index
  • @browserbasehq/stagehand/index.js
  • @browserbasehq/stagehand/lib/inference
  • @browserbasehq/stagehand/lib/inference.js
  • @browserbasehq/stagehand/lib/inferenceLogUtils
  • @browserbasehq/stagehand/lib/inferenceLogUtils.js
  • @browserbasehq/stagehand/lib/logger
  • @browserbasehq/stagehand/lib/logger.js
  • @browserbasehq/stagehand/lib/modelUtils
  • @browserbasehq/stagehand/lib/modelUtils.js
  • @browserbasehq/stagehand/lib/prompt
  • @browserbasehq/stagehand/lib/prompt.js
  • @browserbasehq/stagehand/lib/utils
  • @browserbasehq/stagehand/lib/utils.js
  • @browserbasehq/stagehand/lib/v3/agent/AgentClient
  • @browserbasehq/stagehand/lib/v3/agent/AgentClient.js
  • @browserbasehq/stagehand/lib/v3/agent/AgentProvider
  • @browserbasehq/stagehand/lib/v3/agent/AgentProvider.js
  • @browserbasehq/stagehand/lib/v3/agent/AnthropicCUAClient
  • @browserbasehq/stagehand/lib/v3/agent/AnthropicCUAClient.js
  • @browserbasehq/stagehand/lib/v3/agent/GoogleCUAClient
  • @browserbasehq/stagehand/lib/v3/agent/GoogleCUAClient.js
  • @browserbasehq/stagehand/lib/v3/agent/MicrosoftCUAClient
  • @browserbasehq/stagehand/lib/v3/agent/MicrosoftCUAClient.js
  • @browserbasehq/stagehand/lib/v3/agent/OpenAICUAClient
  • @browserbasehq/stagehand/lib/v3/agent/OpenAICUAClient.js
  • @browserbasehq/stagehand/lib/v3/agent/prompts/agentSystemPrompt
  • @browserbasehq/stagehand/lib/v3/agent/prompts/agentSystemPrompt.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/act
  • @browserbasehq/stagehand/lib/v3/agent/tools/act.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/ariaTree
  • @browserbasehq/stagehand/lib/v3/agent/tools/ariaTree.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/braveSearch
  • @browserbasehq/stagehand/lib/v3/agent/tools/braveSearch.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/browserbaseSearch
  • @browserbasehq/stagehand/lib/v3/agent/tools/browserbaseSearch.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/click
  • @browserbasehq/stagehand/lib/v3/agent/tools/click.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/clickAndHold
  • @browserbasehq/stagehand/lib/v3/agent/tools/clickAndHold.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/dragAndDrop
  • @browserbasehq/stagehand/lib/v3/agent/tools/dragAndDrop.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/extract
  • @browserbasehq/stagehand/lib/v3/agent/tools/extract.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/fillFormVision
  • @browserbasehq/stagehand/lib/v3/agent/tools/fillFormVision.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/fillform
  • @browserbasehq/stagehand/lib/v3/agent/tools/fillform.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/goto
  • @browserbasehq/stagehand/lib/v3/agent/tools/goto.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/index
  • @browserbasehq/stagehand/lib/v3/agent/tools/index.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/keys
  • @browserbasehq/stagehand/lib/v3/agent/tools/keys.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/navback
  • @browserbasehq/stagehand/lib/v3/agent/tools/navback.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/screenshot
  • @browserbasehq/stagehand/lib/v3/agent/tools/screenshot.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/scroll
  • @browserbasehq/stagehand/lib/v3/agent/tools/scroll.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/think
  • @browserbasehq/stagehand/lib/v3/agent/tools/think.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/type
  • @browserbasehq/stagehand/lib/v3/agent/tools/type.js
  • @browserbasehq/stagehand/lib/v3/agent/tools/wait
  • @browserbasehq/stagehand/lib/v3/agent/tools/wait.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/actionMapping
  • @browserbasehq/stagehand/lib/v3/agent/utils/actionMapping.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/captchaSolver
  • @browserbasehq/stagehand/lib/v3/agent/utils/captchaSolver.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/coordinateNormalization
  • @browserbasehq/stagehand/lib/v3/agent/utils/coordinateNormalization.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/cuaKeyMapping
  • @browserbasehq/stagehand/lib/v3/agent/utils/cuaKeyMapping.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/googleCustomToolHandler
  • @browserbasehq/stagehand/lib/v3/agent/utils/googleCustomToolHandler.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/handleDoneToolCall
  • @browserbasehq/stagehand/lib/v3/agent/utils/handleDoneToolCall.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/imageCompression
  • @browserbasehq/stagehand/lib/v3/agent/utils/imageCompression.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/messageProcessing
  • @browserbasehq/stagehand/lib/v3/agent/utils/messageProcessing.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/screenshotHandler
  • @browserbasehq/stagehand/lib/v3/agent/utils/screenshotHandler.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/validateExperimentalFeatures
  • @browserbasehq/stagehand/lib/v3/agent/utils/validateExperimentalFeatures.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/variables
  • @browserbasehq/stagehand/lib/v3/agent/utils/variables.js
  • @browserbasehq/stagehand/lib/v3/agent/utils/xpath
  • @browserbasehq/stagehand/lib/v3/agent/utils/xpath.js
  • @browserbasehq/stagehand/lib/v3/api
  • @browserbasehq/stagehand/lib/v3/api.js
  • @browserbasehq/stagehand/lib/v3/cache/ActCache
  • @browserbasehq/stagehand/lib/v3/cache/ActCache.js
  • @browserbasehq/stagehand/lib/v3/cache/AgentCache
  • @browserbasehq/stagehand/lib/v3/cache/AgentCache.js
  • @browserbasehq/stagehand/lib/v3/cache/CacheStorage
  • @browserbasehq/stagehand/lib/v3/cache/CacheStorage.js
  • @browserbasehq/stagehand/lib/v3/cache/serverAgentCache
  • @browserbasehq/stagehand/lib/v3/cache/serverAgentCache.js
  • @browserbasehq/stagehand/lib/v3/cache/utils
  • @browserbasehq/stagehand/lib/v3/cache/utils.js
  • @browserbasehq/stagehand/lib/v3/cli
  • @browserbasehq/stagehand/lib/v3/cli.js
  • @browserbasehq/stagehand/lib/v3/dom/a11yScripts/index
  • @browserbasehq/stagehand/lib/v3/dom/a11yScripts/index.js
  • @browserbasehq/stagehand/lib/v3/dom/build/a11yScripts.generated
  • @browserbasehq/stagehand/lib/v3/dom/build/a11yScripts.generated.js
  • @browserbasehq/stagehand/lib/v3/dom/build/locatorScripts.generated
  • @browserbasehq/stagehand/lib/v3/dom/build/locatorScripts.generated.js
  • @browserbasehq/stagehand/lib/v3/dom/build/reRenderScriptContent
  • @browserbasehq/stagehand/lib/v3/dom/build/reRenderScriptContent.js
  • @browserbasehq/stagehand/lib/v3/dom/build/rerender-index
  • @browserbasehq/stagehand/lib/v3/dom/build/rerender-index.js
  • @browserbasehq/stagehand/lib/v3/dom/build/screenshotScripts.generated
  • @browserbasehq/stagehand/lib/v3/dom/build/screenshotScripts.generated.js
  • @browserbasehq/stagehand/lib/v3/dom/build/scriptV3Content
  • @browserbasehq/stagehand/lib/v3/dom/build/scriptV3Content.js
  • @browserbasehq/stagehand/lib/v3/dom/build/v3-index
  • @browserbasehq/stagehand/lib/v3/dom/build/v3-index.js
  • @browserbasehq/stagehand/lib/v3/dom/index
  • @browserbasehq/stagehand/lib/v3/dom/index.js
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/counts
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/counts.js
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/index
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/index.js
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/scripts
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/scripts.js
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/selectors
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/selectors.js
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/waitForSelector
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/waitForSelector.js
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/xpathParser
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/xpathParser.js
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/xpathResolver
  • @browserbasehq/stagehand/lib/v3/dom/locatorScripts/xpathResolver.js
  • @browserbasehq/stagehand/lib/v3/dom/piercer.entry
  • @browserbasehq/stagehand/lib/v3/dom/piercer.entry.js
  • @browserbasehq/stagehand/lib/v3/dom/piercer.runtime
  • @browserbasehq/stagehand/lib/v3/dom/piercer.runtime.js
  • @browserbasehq/stagehand/lib/v3/dom/rerenderMissingShadows.entry
  • @browserbasehq/stagehand/lib/v3/dom/rerenderMissingShadows.entry.js
  • @browserbasehq/stagehand/lib/v3/dom/rerenderMissingShadows.runtime
  • @browserbasehq/stagehand/lib/v3/dom/rerenderMissingShadows.runtime.js
  • @browserbasehq/stagehand/lib/v3/dom/screenshotScripts/index
  • @browserbasehq/stagehand/lib/v3/dom/screenshotScripts/index.js
  • @browserbasehq/stagehand/lib/v3/dom/screenshotScripts/resolveMaskRect
  • @browserbasehq/stagehand/lib/v3/dom/screenshotScripts/resolveMaskRect.js
  • @browserbasehq/stagehand/lib/v3/external_clients/aisdk
  • @browserbasehq/stagehand/lib/v3/external_clients/aisdk.js
  • @browserbasehq/stagehand/lib/v3/external_clients/customOpenAI
  • @browserbasehq/stagehand/lib/v3/external_clients/customOpenAI.js
  • @browserbasehq/stagehand/lib/v3/flowlogger/EventEmitter
  • @browserbasehq/stagehand/lib/v3/flowlogger/EventEmitter.js
  • @browserbasehq/stagehand/lib/v3/flowlogger/EventSink
  • @browserbasehq/stagehand/lib/v3/flowlogger/EventSink.js
  • @browserbasehq/stagehand/lib/v3/flowlogger/EventStore
  • @browserbasehq/stagehand/lib/v3/flowlogger/EventStore.js
  • @browserbasehq/stagehand/lib/v3/flowlogger/FlowLogger
  • @browserbasehq/stagehand/lib/v3/flowlogger/FlowLogger.js
  • @browserbasehq/stagehand/lib/v3/flowlogger/prettify
  • @browserbasehq/stagehand/lib/v3/flowlogger/prettify.js
  • @browserbasehq/stagehand/lib/v3/handlers/actHandler
  • @browserbasehq/stagehand/lib/v3/handlers/actHandler.js
  • @browserbasehq/stagehand/lib/v3/handlers/extractHandler
  • @browserbasehq/stagehand/lib/v3/handlers/extractHandler.js
  • @browserbasehq/stagehand/lib/v3/handlers/handlerUtils/actHandlerUtils
  • @browserbasehq/stagehand/lib/v3/handlers/handlerUtils/actHandlerUtils.js
  • @browserbasehq/stagehand/lib/v3/handlers/handlerUtils/timeoutGuard
  • @browserbasehq/stagehand/lib/v3/handlers/handlerUtils/timeoutGuard.js
  • @browserbasehq/stagehand/lib/v3/handlers/observeHandler
  • @browserbasehq/stagehand/lib/v3/handlers/observeHandler.js
  • @browserbasehq/stagehand/lib/v3/handlers/v3AgentHandler
  • @browserbasehq/stagehand/lib/v3/handlers/v3AgentHandler.js
  • @browserbasehq/stagehand/lib/v3/handlers/v3CuaAgentHandler
  • @browserbasehq/stagehand/lib/v3/handlers/v3CuaAgentHandler.js
  • @browserbasehq/stagehand/lib/v3/index
  • @browserbasehq/stagehand/lib/v3/index.js
  • @browserbasehq/stagehand/lib/v3/launch/browserbase
  • @browserbasehq/stagehand/lib/v3/launch/browserbase.js
  • @browserbasehq/stagehand/lib/v3/launch/local
  • @browserbasehq/stagehand/lib/v3/launch/local.js
  • @browserbasehq/stagehand/lib/v3/llm/AnthropicClient
  • @browserbasehq/stagehand/lib/v3/llm/AnthropicClient.js
  • @browserbasehq/stagehand/lib/v3/llm/CerebrasClient
  • @browserbasehq/stagehand/lib/v3/llm/CerebrasClient.js
  • @browserbasehq/stagehand/lib/v3/llm/GoogleClient
  • @browserbasehq/stagehand/lib/v3/llm/GoogleClient.js
  • @browserbasehq/stagehand/lib/v3/llm/GroqClient
  • @browserbasehq/stagehand/lib/v3/llm/GroqClient.js
  • @browserbasehq/stagehand/lib/v3/llm/LLMClient
  • @browserbasehq/stagehand/lib/v3/llm/LLMClient.js
  • @browserbasehq/stagehand/lib/v3/llm/LLMProvider
  • @browserbasehq/stagehand/lib/v3/llm/LLMProvider.js
  • @browserbasehq/stagehand/lib/v3/llm/OpenAIClient
  • @browserbasehq/stagehand/lib/v3/llm/OpenAIClient.js
  • @browserbasehq/stagehand/lib/v3/llm/aisdk
  • @browserbasehq/stagehand/lib/v3/llm/aisdk.js
  • @browserbasehq/stagehand/lib/v3/logger
  • @browserbasehq/stagehand/lib/v3/logger.js
  • @browserbasehq/stagehand/lib/v3/mcp/connection
  • @browserbasehq/stagehand/lib/v3/mcp/connection.js
  • @browserbasehq/stagehand/lib/v3/mcp/utils
  • @browserbasehq/stagehand/lib/v3/mcp/utils.js
  • @browserbasehq/stagehand/lib/v3/runtimePaths
  • @browserbasehq/stagehand/lib/v3/runtimePaths.js
  • @browserbasehq/stagehand/lib/v3/shutdown/cleanupLocal
  • @browserbasehq/stagehand/lib/v3/shutdown/cleanupLocal.js
  • @browserbasehq/stagehand/lib/v3/shutdown/supervisor
  • @browserbasehq/stagehand/lib/v3/shutdown/supervisor.js
  • @browserbasehq/stagehand/lib/v3/shutdown/supervisorClient
  • @browserbasehq/stagehand/lib/v3/shutdown/supervisorClient.js
  • @browserbasehq/stagehand/lib/v3/timeoutConfig
  • @browserbasehq/stagehand/lib/v3/timeoutConfig.js
  • @browserbasehq/stagehand/lib/v3/types/private/agent
  • @browserbasehq/stagehand/lib/v3/types/private/agent.js
  • @browserbasehq/stagehand/lib/v3/types/private/api
  • @browserbasehq/stagehand/lib/v3/types/private/api.js
  • @browserbasehq/stagehand/lib/v3/types/private/cache
  • @browserbasehq/stagehand/lib/v3/types/private/cache.js
  • @browserbasehq/stagehand/lib/v3/types/private/evaluator
  • @browserbasehq/stagehand/lib/v3/types/private/evaluator.js
  • @browserbasehq/stagehand/lib/v3/types/private/handlers
  • @browserbasehq/stagehand/lib/v3/types/private/handlers.js
  • @browserbasehq/stagehand/lib/v3/types/private/index
  • @browserbasehq/stagehand/lib/v3/types/private/index.js
  • @browserbasehq/stagehand/lib/v3/types/private/internal
  • @browserbasehq/stagehand/lib/v3/types/private/internal.js
  • @browserbasehq/stagehand/lib/v3/types/private/locator
  • @browserbasehq/stagehand/lib/v3/types/private/locator.js
  • @browserbasehq/stagehand/lib/v3/types/private/network
  • @browserbasehq/stagehand/lib/v3/types/private/network.js
  • @browserbasehq/stagehand/lib/v3/types/private/shutdown
  • @browserbasehq/stagehand/lib/v3/types/private/shutdown.js
  • @browserbasehq/stagehand/lib/v3/types/private/shutdownErrors
  • @browserbasehq/stagehand/lib/v3/types/private/shutdownErrors.js
  • @browserbasehq/stagehand/lib/v3/types/private/snapshot
  • @browserbasehq/stagehand/lib/v3/types/private/snapshot.js
  • @browserbasehq/stagehand/lib/v3/types/public/agent
  • @browserbasehq/stagehand/lib/v3/types/public/agent.js
  • @browserbasehq/stagehand/lib/v3/types/public/api
  • @browserbasehq/stagehand/lib/v3/types/public/api.js
  • @browserbasehq/stagehand/lib/v3/types/public/apiErrors
  • @browserbasehq/stagehand/lib/v3/types/public/apiErrors.js
  • @browserbasehq/stagehand/lib/v3/types/public/context
  • @browserbasehq/stagehand/lib/v3/types/public/context.js
  • @browserbasehq/stagehand/lib/v3/types/public/index
  • @browserbasehq/stagehand/lib/v3/types/public/index.js
  • @browserbasehq/stagehand/lib/v3/types/public/locator
  • @browserbasehq/stagehand/lib/v3/types/public/locator.js
  • @browserbasehq/stagehand/lib/v3/types/public/logs
  • @browserbasehq/stagehand/lib/v3/types/public/logs.js
  • @browserbasehq/stagehand/lib/v3/types/public/methods
  • @browserbasehq/stagehand/lib/v3/types/public/methods.js
  • @browserbasehq/stagehand/lib/v3/types/public/metrics
  • @browserbasehq/stagehand/lib/v3/types/public/metrics.js
  • @browserbasehq/stagehand/lib/v3/types/public/model
  • @browserbasehq/stagehand/lib/v3/types/public/model.js
  • @browserbasehq/stagehand/lib/v3/types/public/options
  • @browserbasehq/stagehand/lib/v3/types/public/options.js
  • @browserbasehq/stagehand/lib/v3/types/public/page
  • @browserbasehq/stagehand/lib/v3/types/public/page.js
  • @browserbasehq/stagehand/lib/v3/types/public/screenshotTypes
  • @browserbasehq/stagehand/lib/v3/types/public/screenshotTypes.js
  • @browserbasehq/stagehand/lib/v3/types/public/sdkErrors
  • @browserbasehq/stagehand/lib/v3/types/public/sdkErrors.js
  • @browserbasehq/stagehand/lib/v3/types/public/variables
  • @browserbasehq/stagehand/lib/v3/types/public/variables.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/a11yTree
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/a11yTree.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/activeElement
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/activeElement.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/capture
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/capture.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/coordinateResolver
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/coordinateResolver.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/domTree
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/domTree.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/focusSelectors
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/focusSelectors.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/index
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/index.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/sessions
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/sessions.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/treeFormatUtils
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/xpathUtils
  • @browserbasehq/stagehand/lib/v3/understudy/a11y/snapshot/xpathUtils.js
  • @browserbasehq/stagehand/lib/v3/understudy/a11yInvocation
  • @browserbasehq/stagehand/lib/v3/understudy/a11yInvocation.js
  • @browserbasehq/stagehand/lib/v3/understudy/cdp
  • @browserbasehq/stagehand/lib/v3/understudy/cdp.js
  • @browserbasehq/stagehand/lib/v3/understudy/consoleMessage
  • @browserbasehq/stagehand/lib/v3/understudy/consoleMessage.js
  • @browserbasehq/stagehand/lib/v3/understudy/context
  • @browserbasehq/stagehand/lib/v3/understudy/context.js
  • @browserbasehq/stagehand/lib/v3/understudy/cookies
  • @browserbasehq/stagehand/lib/v3/understudy/cookies.js
  • @browserbasehq/stagehand/lib/v3/understudy/deepLocator
  • @browserbasehq/stagehand/lib/v3/understudy/deepLocator.js
  • @browserbasehq/stagehand/lib/v3/understudy/executionContextRegistry
  • @browserbasehq/stagehand/lib/v3/understudy/executionContextRegistry.js
  • @browserbasehq/stagehand/lib/v3/understudy/fileUploadUtils
  • @browserbasehq/stagehand/lib/v3/understudy/fileUploadUtils.js
  • @browserbasehq/stagehand/lib/v3/understudy/frame
  • @browserbasehq/stagehand/lib/v3/understudy/frame.js
  • @browserbasehq/stagehand/lib/v3/understudy/frameLocator
  • @browserbasehq/stagehand/lib/v3/understudy/frameLocator.js
  • @browserbasehq/stagehand/lib/v3/understudy/frameRegistry
  • @browserbasehq/stagehand/lib/v3/understudy/frameRegistry.js
  • @browserbasehq/stagehand/lib/v3/understudy/initScripts
  • @browserbasehq/stagehand/lib/v3/understudy/initScripts.js
  • @browserbasehq/stagehand/lib/v3/understudy/lifecycleWatcher
  • @browserbasehq/stagehand/lib/v3/understudy/lifecycleWatcher.js
  • @browserbasehq/stagehand/lib/v3/understudy/locator
  • @browserbasehq/stagehand/lib/v3/understudy/locator.js
  • @browserbasehq/stagehand/lib/v3/understudy/locatorInvocation
  • @browserbasehq/stagehand/lib/v3/understudy/locatorInvocation.js
  • @browserbasehq/stagehand/lib/v3/understudy/navigationResponseTracker
  • @browserbasehq/stagehand/lib/v3/understudy/navigationResponseTracker.js
  • @browserbasehq/stagehand/lib/v3/understudy/networkManager
  • @browserbasehq/stagehand/lib/v3/understudy/networkManager.js
  • @browserbasehq/stagehand/lib/v3/understudy/page
  • @browserbasehq/stagehand/lib/v3/understudy/page.js
  • @browserbasehq/stagehand/lib/v3/understudy/piercer
  • @browserbasehq/stagehand/lib/v3/understudy/piercer.js
  • @browserbasehq/stagehand/lib/v3/understudy/response
  • @browserbasehq/stagehand/lib/v3/understudy/response.js
  • @browserbasehq/stagehand/lib/v3/understudy/screenshotUtils
  • @browserbasehq/stagehand/lib/v3/understudy/screenshotUtils.js
  • @browserbasehq/stagehand/lib/v3/understudy/selectorResolver
  • @browserbasehq/stagehand/lib/v3/understudy/selectorResolver.js
  • @browserbasehq/stagehand/lib/v3/v3
  • @browserbasehq/stagehand/lib/v3/v3.js
  • @browserbasehq/stagehand/lib/v3/zodCompat
  • @browserbasehq/stagehand/lib/v3/zodCompat.js
  • @browserbasehq/stagehand/lib/v3Evaluator
  • @browserbasehq/stagehand/lib/v3Evaluator.js
  • @browserbasehq/stagehand/lib/version
  • @browserbasehq/stagehand/lib/version.js
  • @browserbasehq/stagehand/package.json
  • @browserbasehq/stagehand/tests/cache-variables.test
  • @browserbasehq/stagehand/tests/cache-variables.test.js
  • @browserbasehq/stagehand/tests/integration/agent-abort-signal.spec
  • @browserbasehq/stagehand/tests/integration/agent-abort-signal.spec.js
  • @browserbasehq/stagehand/tests/integration/agent-cache-self-heal.spec
  • @browserbasehq/stagehand/tests/integration/agent-cache-self-heal.spec.js
  • @browserbasehq/stagehand/tests/integration/agent-callbacks.spec
  • @browserbasehq/stagehand/tests/integration/agent-callbacks.spec.js
  • @browserbasehq/stagehand/tests/integration/agent-captcha-autosolve.spec
  • @browserbasehq/stagehand/tests/integration/agent-captcha-autosolve.spec.js
  • @browserbasehq/stagehand/tests/integration/agent-experimental-validation.spec
  • @browserbasehq/stagehand/tests/integration/agent-experimental-validation.spec.js
  • @browserbasehq/stagehand/tests/integration/agent-hybrid-mode.spec
  • @browserbasehq/stagehand/tests/integration/agent-hybrid-mode.spec.js
  • @browserbasehq/stagehand/tests/integration/agent-message-continuation.spec
  • @browserbasehq/stagehand/tests/integration/agent-message-continuation.spec.js
  • @browserbasehq/stagehand/tests/integration/agent-streaming.spec
  • @browserbasehq/stagehand/tests/integration/agent-streaming.spec.js
  • @browserbasehq/stagehand/tests/integration/cdp-close-api-region.spec
  • @browserbasehq/stagehand/tests/integration/cdp-close-api-region.spec.js
  • @browserbasehq/stagehand/tests/integration/cdp-connection-close.spec
  • @browserbasehq/stagehand/tests/integration/cdp-connection-close.spec.js
  • @browserbasehq/stagehand/tests/integration/cdp-session-detached.spec
  • @browserbasehq/stagehand/tests/integration/cdp-session-detached.spec.js
  • @browserbasehq/stagehand/tests/integration/chrome-newtab-page-tracking.spec
  • @browserbasehq/stagehand/tests/integration/chrome-newtab-page-tracking.spec.js
  • @browserbasehq/stagehand/tests/integration/click-count.spec
  • @browserbasehq/stagehand/tests/integration/click-count.spec.js
  • @browserbasehq/stagehand/tests/integration/connect-to-existing-browser.spec
  • @browserbasehq/stagehand/tests/integration/connect-to-existing-browser.spec.js
  • @browserbasehq/stagehand/tests/integration/context-addInitScript.spec
  • @browserbasehq/stagehand/tests/integration/context-addInitScript.spec.js
  • @browserbasehq/stagehand/tests/integration/context-extra-http-headers.spec
  • @browserbasehq/stagehand/tests/integration/context-extra-http-headers.spec.js
  • @browserbasehq/stagehand/tests/integration/cookies.spec
  • @browserbasehq/stagehand/tests/integration/cookies.spec.js
  • @browserbasehq/stagehand/tests/integration/default-page-tracking.spec
  • @browserbasehq/stagehand/tests/integration/default-page-tracking.spec.js
  • @browserbasehq/stagehand/tests/integration/downloads.spec
  • @browserbasehq/stagehand/tests/integration/downloads.spec.js
  • @browserbasehq/stagehand/tests/integration/flowLogger.spec
  • @browserbasehq/stagehand/tests/integration/flowLogger.spec.js
  • @browserbasehq/stagehand/tests/integration/frame-get-location-and-click.spec
  • @browserbasehq/stagehand/tests/integration/frame-get-location-and-click.spec.js
  • @browserbasehq/stagehand/tests/integration/iframe-ctx-addInitScript-race.spec
  • @browserbasehq/stagehand/tests/integration/iframe-ctx-addInitScript-race.spec.js
  • @browserbasehq/stagehand/tests/integration/iframe-ctx-addInitScript.spec
  • @browserbasehq/stagehand/tests/integration/iframe-ctx-addInitScript.spec.js
  • @browserbasehq/stagehand/tests/integration/keep-alive.child
  • @browserbasehq/stagehand/tests/integration/keep-alive.child.js
  • @browserbasehq/stagehand/tests/integration/keep-alive.spec
  • @browserbasehq/stagehand/tests/integration/keep-alive.spec.js
  • @browserbasehq/stagehand/tests/integration/keyboard.spec
  • @browserbasehq/stagehand/tests/integration/keyboard.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-backend-node-id.spec
  • @browserbasehq/stagehand/tests/integration/locator-backend-node-id.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-content-methods.spec
  • @browserbasehq/stagehand/tests/integration/locator-content-methods.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-count-iframe.spec
  • @browserbasehq/stagehand/tests/integration/locator-count-iframe.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-count.spec
  • @browserbasehq/stagehand/tests/integration/locator-count.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-fill.spec
  • @browserbasehq/stagehand/tests/integration/locator-fill.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-input-methods.spec
  • @browserbasehq/stagehand/tests/integration/locator-input-methods.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-nth.spec
  • @browserbasehq/stagehand/tests/integration/locator-nth.spec.js
  • @browserbasehq/stagehand/tests/integration/locator-select-option.spec
  • @browserbasehq/stagehand/tests/integration/locator-select-option.spec.js
  • @browserbasehq/stagehand/tests/integration/logger-initialization.spec
  • @browserbasehq/stagehand/tests/integration/logger-initialization.spec.js
  • @browserbasehq/stagehand/tests/integration/multi-instance-logger.spec
  • @browserbasehq/stagehand/tests/integration/multi-instance-logger.spec.js
  • @browserbasehq/stagehand/tests/integration/nested-div.spec
  • @browserbasehq/stagehand/tests/integration/nested-div.spec.js
  • @browserbasehq/stagehand/tests/integration/page-addInitScript.spec
  • @browserbasehq/stagehand/tests/integration/page-addInitScript.spec.js
  • @browserbasehq/stagehand/tests/integration/page-console.spec
  • @browserbasehq/stagehand/tests/integration/page-console.spec.js
  • @browserbasehq/stagehand/tests/integration/page-drag-and-drop.spec
  • @browserbasehq/stagehand/tests/integration/page-drag-and-drop.spec.js
  • @browserbasehq/stagehand/tests/integration/page-extra-http-headers.spec
  • @browserbasehq/stagehand/tests/integration/page-extra-http-headers.spec.js
  • @browserbasehq/stagehand/tests/integration/page-goto-response.spec
  • @browserbasehq/stagehand/tests/integration/page-goto-response.spec.js
  • @browserbasehq/stagehand/tests/integration/page-hover.spec
  • @browserbasehq/stagehand/tests/integration/page-hover.spec.js
  • @browserbasehq/stagehand/tests/integration/page-screenshot.spec
  • @browserbasehq/stagehand/tests/integration/page-screenshot.spec.js
  • @browserbasehq/stagehand/tests/integration/page-scroll.spec
  • @browserbasehq/stagehand/tests/integration/page-scroll.spec.js
  • @browserbasehq/stagehand/tests/integration/page-send-cdp.spec
  • @browserbasehq/stagehand/tests/integration/page-send-cdp.spec.js
  • @browserbasehq/stagehand/tests/integration/perform-understudy-method.spec
  • @browserbasehq/stagehand/tests/integration/perform-understudy-method.spec.js
  • @browserbasehq/stagehand/tests/integration/setinputfiles.spec
  • @browserbasehq/stagehand/tests/integration/setinputfiles.spec.js
  • @browserbasehq/stagehand/tests/integration/shadow-iframe-oopif.spec
  • @browserbasehq/stagehand/tests/integration/shadow-iframe-oopif.spec.js
  • @browserbasehq/stagehand/tests/integration/shadow-iframe-spif.spec
  • @browserbasehq/stagehand/tests/integration/shadow-iframe-spif.spec.js
  • @browserbasehq/stagehand/tests/integration/testUtils
  • @browserbasehq/stagehand/tests/integration/testUtils.js
  • @browserbasehq/stagehand/tests/integration/text-selector-innermost.spec
  • @browserbasehq/stagehand/tests/integration/text-selector-innermost.spec.js
  • @browserbasehq/stagehand/tests/integration/timeouts.spec
  • @browserbasehq/stagehand/tests/integration/timeouts.spec.js
  • @browserbasehq/stagehand/tests/integration/user-data-dir.spec
  • @browserbasehq/stagehand/tests/integration/user-data-dir.spec.js
  • @browserbasehq/stagehand/tests/integration/v3.config
  • @browserbasehq/stagehand/tests/integration/v3.config.js
  • @browserbasehq/stagehand/tests/integration/v3.dynamic.config
  • @browserbasehq/stagehand/tests/integration/v3.dynamic.config.js
  • @browserbasehq/stagehand/tests/integration/v3.playwright.config
  • @browserbasehq/stagehand/tests/integration/v3.playwright.config.js
  • @browserbasehq/stagehand/tests/integration/wait-for-selector.spec
  • @browserbasehq/stagehand/tests/integration/wait-for-selector.spec.js
  • @browserbasehq/stagehand/tests/integration/wait-for-timeout.spec
  • @browserbasehq/stagehand/tests/integration/wait-for-timeout.spec.js
  • @browserbasehq/stagehand/tests/integration/xpath-for-location-deep.spec
  • @browserbasehq/stagehand/tests/integration/xpath-for-location-deep.spec.js
  • @browserbasehq/stagehand/tests/unit/agent-captcha-hooks.test
  • @browserbasehq/stagehand/tests/unit/agent-captcha-hooks.test.js
  • @browserbasehq/stagehand/tests/unit/agent-execution-model.test
  • @browserbasehq/stagehand/tests/unit/agent-execution-model.test.js
  • @browserbasehq/stagehand/tests/unit/agent-system-prompt-variables.test
  • @browserbasehq/stagehand/tests/unit/agent-system-prompt-variables.test.js
  • @browserbasehq/stagehand/tests/unit/api-client-observe-variables.test
  • @browserbasehq/stagehand/tests/unit/api-client-observe-variables.test.js
  • @browserbasehq/stagehand/tests/unit/api-multiregion.test
  • @browserbasehq/stagehand/tests/unit/api-multiregion.test.js
  • @browserbasehq/stagehand/tests/unit/api-optional-model-api-key.test
  • @browserbasehq/stagehand/tests/unit/api-optional-model-api-key.test.js
  • @browserbasehq/stagehand/tests/unit/api-variables-schema.test
  • @browserbasehq/stagehand/tests/unit/api-variables-schema.test.js
  • @browserbasehq/stagehand/tests/unit/browserbase-session-accessors.test
  • @browserbasehq/stagehand/tests/unit/browserbase-session-accessors.test.js
  • @browserbasehq/stagehand/tests/unit/cache-llm-resolution.test
  • @browserbasehq/stagehand/tests/unit/cache-llm-resolution.test.js
  • @browserbasehq/stagehand/tests/unit/captcha-solver.test
  • @browserbasehq/stagehand/tests/unit/captcha-solver.test.js
  • @browserbasehq/stagehand/tests/unit/cdp-connection-close.test
  • @browserbasehq/stagehand/tests/unit/cdp-connection-close.test.js
  • @browserbasehq/stagehand/tests/unit/context-extra-http-headers.test
  • @browserbasehq/stagehand/tests/unit/context-extra-http-headers.test.js
  • @browserbasehq/stagehand/tests/unit/cookies.test
  • @browserbasehq/stagehand/tests/unit/cookies.test.js
  • @browserbasehq/stagehand/tests/unit/flowlogger-capturing-cdp.test
  • @browserbasehq/stagehand/tests/unit/flowlogger-capturing-cdp.test.js
  • @browserbasehq/stagehand/tests/unit/flowlogger-capturing-llm.test
  • @browserbasehq/stagehand/tests/unit/flowlogger-capturing-llm.test.js
  • @browserbasehq/stagehand/tests/unit/flowlogger-eventstore.test
  • @browserbasehq/stagehand/tests/unit/flowlogger-eventstore.test.js
  • @browserbasehq/stagehand/tests/unit/helpers/mockCDPSession
  • @browserbasehq/stagehand/tests/unit/helpers/mockCDPSession.js
  • @browserbasehq/stagehand/tests/unit/llm-middleware.test
  • @browserbasehq/stagehand/tests/unit/llm-middleware.test.js
  • @browserbasehq/stagehand/tests/unit/llm-provider.test
  • @browserbasehq/stagehand/tests/unit/llm-provider.test.js
  • @browserbasehq/stagehand/tests/unit/model-deprecation.test
  • @browserbasehq/stagehand/tests/unit/model-deprecation.test.js
  • @browserbasehq/stagehand/tests/unit/model-utils.test
  • @browserbasehq/stagehand/tests/unit/model-utils.test.js
  • @browserbasehq/stagehand/tests/unit/openai-cua-client.test
  • @browserbasehq/stagehand/tests/unit/openai-cua-client.test.js
  • @browserbasehq/stagehand/tests/unit/page-extra-http-headers.test
  • @browserbasehq/stagehand/tests/unit/page-extra-http-headers.test.js
  • @browserbasehq/stagehand/tests/unit/page-snapshot.test
  • @browserbasehq/stagehand/tests/unit/page-snapshot.test.js
  • @browserbasehq/stagehand/tests/unit/prompt-observe-variables.test
  • @browserbasehq/stagehand/tests/unit/prompt-observe-variables.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/export-surface.test
  • @browserbasehq/stagehand/tests/unit/public-api/export-surface.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/llm-and-agents.test
  • @browserbasehq/stagehand/tests/unit/public-api/llm-and-agents.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/public-error-types.test
  • @browserbasehq/stagehand/tests/unit/public-api/public-error-types.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/public-types.test
  • @browserbasehq/stagehand/tests/unit/public-api/public-types.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/runtime-utils.test
  • @browserbasehq/stagehand/tests/unit/public-api/runtime-utils.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/schema-utils.test
  • @browserbasehq/stagehand/tests/unit/public-api/schema-utils.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/timeout-error-types.test
  • @browserbasehq/stagehand/tests/unit/public-api/timeout-error-types.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/tool-type-export.test
  • @browserbasehq/stagehand/tests/unit/public-api/tool-type-export.test.js
  • @browserbasehq/stagehand/tests/unit/public-api/v3-core.test
  • @browserbasehq/stagehand/tests/unit/public-api/v3-core.test.js
  • @browserbasehq/stagehand/tests/unit/safety-confirmation.test
  • @browserbasehq/stagehand/tests/unit/safety-confirmation.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-a11y-resolvers.test
  • @browserbasehq/stagehand/tests/unit/snapshot-a11y-resolvers.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-a11y-tree-utils.test
  • @browserbasehq/stagehand/tests/unit/snapshot-a11y-tree-utils.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-capture-orchestration.test
  • @browserbasehq/stagehand/tests/unit/snapshot-capture-orchestration.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-cbor.test
  • @browserbasehq/stagehand/tests/unit/snapshot-cbor.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-dom-session-builders.test
  • @browserbasehq/stagehand/tests/unit/snapshot-dom-session-builders.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-dom-tree-utils.test
  • @browserbasehq/stagehand/tests/unit/snapshot-dom-tree-utils.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-focus-selectors-utils.test
  • @browserbasehq/stagehand/tests/unit/snapshot-focus-selectors-utils.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-frame-merge.test
  • @browserbasehq/stagehand/tests/unit/snapshot-frame-merge.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-tree-format-utils.test
  • @browserbasehq/stagehand/tests/unit/snapshot-tree-format-utils.test.js
  • @browserbasehq/stagehand/tests/unit/snapshot-xpath-utils.test
  • @browserbasehq/stagehand/tests/unit/snapshot-xpath-utils.test.js
  • @browserbasehq/stagehand/tests/unit/timeout-handlers.test
  • @browserbasehq/stagehand/tests/unit/timeout-handlers.test.js
  • @browserbasehq/stagehand/tests/unit/understudy-command-exception.test
  • @browserbasehq/stagehand/tests/unit/understudy-command-exception.test.js
  • @browserbasehq/stagehand/tests/unit/xpath-parser.test
  • @browserbasehq/stagehand/tests/unit/xpath-parser.test.js
  • @browserbasehq/stagehand/tests/unit/xpath-resolver.test
  • @browserbasehq/stagehand/tests/unit/xpath-resolver.test.js
  • @browserbasehq/stagehand/tests/unit/zod-enum-compatibility.test
  • @browserbasehq/stagehand/tests/unit/zod-enum-compatibility.test.js

Readme

The AI Browser Automation Framework
Read the Docs

MIT License Discord Community

browserbase%2Fstagehand | Trendshift

Ask DeepWiki

If you're looking for the Python implementation, you can find it here

Vibe code Stagehand with Director Director

What is Stagehand?

Stagehand is a browser automation framework used to control web browsers with natural language and code. By combining the power of AI with the precision of code, Stagehand makes web automation flexible, maintainable, and actually reliable.

Why Stagehand?

Most existing browser automation tools either require you to write low-level code in a framework like Selenium, Playwright, or Puppeteer, or use high-level agents that can be unpredictable in production. By letting developers choose what to write in code vs. natural language (and bridging the gap between the two) Stagehand is the natural choice for browser automations in production.

  1. Choose when to write code vs. natural language: use AI when you want to navigate unfamiliar pages, and use code when you know exactly what you want to do.

  2. Go from AI-driven to repeatable workflows: Stagehand lets you preview AI actions before running them, and also helps you easily cache repeatable actions to save time and tokens.

  3. Write once, run forever: Stagehand's auto-caching combined with self-healing remembers previous actions, runs without LLM inference, and knows when to involve AI whenever the website changes and your automation breaks.

Getting Started

Start with Stagehand with one line of code, or check out our Quickstart Guide for more information:

npx create-browser-app

Example

Here's how to build a sample browser automation with Stagehand:

// Stagehand's CDP engine provides an optimized, low level interface to the browser built for automation
const page = stagehand.context.pages()[0];
await page.goto("https://github.com/browserbase");

// Use act() to execute individual actions
await stagehand.act("click on the stagehand repo");

// Use agent() for multi-step tasks
const agent = stagehand.agent();
await agent.execute("Get to the latest PR");

// Use extract() to get structured data from the page
const { author, title } = await stagehand.extract(
  "extract the author and title of the PR",
  z.object({
    author: z.string().describe("The username of the PR author"),
    title: z.string().describe("The title of the PR"),
  }),
);

Documentation

Visit docs.stagehand.dev to view the full documentation.

Build and Run from Source

git clone https://github.com/browserbase/stagehand.git
cd stagehand
pnpm install
pnpm run build
pnpm 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

Installing from a branch

You can install and build Stagehand directly from a github branch using gitpkg

In your project's package.json set:

"@browserbasehq/stagehand": "https://gitpkg.now.sh/browserbase/stagehand/packages/core?<branchName>",

Contributing

[!NOTE] We highly value contributions to Stagehand! For questions or support, please join our Discord community.

At a high level, we're focused on improving reliability, extensibility, speed, and cost in that order of priority. If you're interested in contributing, bug fixes and small improvements are the best way to get started. For more involved features, we strongly recommend reaching out to Miguel Gonzalez or Paul Klein in our Discord community before starting to ensure that your contribution aligns with our goals.

Acknowledgements

We'd like to thank the following people for their major contributions to Stagehand:

License

Licensed under the MIT License.

Copyright 2025 Browserbase, Inc.