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
If you're looking for the Python implementation, you can find it here
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.
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.
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.
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-appExample
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.tsStagehand 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 keysInstalling 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:
- Paul Klein
- Sean McGuire
- Miguel Gonzalez
- Sameel Arif
- Thomas Katwan
- Filip Michalsky
- Anirudh Kamath
- Jeremy Press
- Navid Pour
License
Licensed under the MIT License.
Copyright 2025 Browserbase, Inc.