Browserbase
DEVELOPER · DEVELOPER
Cloud browser sessions, agent runs, and Functions on their own key.
Acts as the person, not as itself
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Credentials never touch the agent
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Every call on the record
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
What an agent can do
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
browserbase_delete_v1_agents_by_agentidWRITEDelete an Agent via DELETE /v1/agents/{agentId}. Delete an agent. Runs that already referenced this agent are unaffected. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held.
browserbase_delete_v1_certificates_by_idWRITEDelete a Certificate via DELETE /v1/certificates/{id}. Remove a client TLS certificate from the project. Sessions configured to present it can no longer do so, and the certificate must be uploaded again to restore that -- an upload this integration cannot make, because it is a multipart request. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held.
browserbase_delete_v1_contexts_by_idWRITEDelete a Context via DELETE /v1/contexts/{id}. DESTRUCTIVE: delete a browser context and the encrypted user-data directory behind it. Every cookie and logged-in session persisted in it is gone and cannot be recovered; sessions that named this context must log in again. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held.
browserbase_delete_v1_downloads_by_idWRITEDelete a Download via DELETE /v1/downloads/{id}. Delete a download file from storage and mark as deleted. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held.
browserbase_delete_v1_extensions_by_idWRITEDelete an Extension via DELETE /v1/extensions/{id}. Remove an uploaded Chrome extension from the project. Sessions created with this `extensionId` can no longer load it, and restoring it needs a fresh upload -- a multipart request this integration cannot make. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held.
browserbase_delete_v1_webhooks_by_idWRITEDelete a Webhook via DELETE /v1/webhooks/{id}. Delete a webhook. Deliveries stop immediately and the signing secret is retired. Events that occurred before the delete are not replayed if the endpoint is registered again. DESTRUCTIVE: the resource is removed and there is no undo. Read it first with the matching Get tool if you may need what it held.
browserbase_get_v1_agentsREADList Agents via GET /v1/agents. List agents across your account. Supports filtering by creation time.
browserbase_get_v1_agents_by_agentidREADGet an Agent via GET /v1/agents/{agentId}. Retrieve an agent by ID.
browserbase_get_v1_agents_runsREADList Runs via GET /v1/agents/runs. List runs across your account. Supports filtering by status, by the agent they reference, and by creation time.
browserbase_get_v1_agents_runs_by_runidREADGet a Run via GET /v1/agents/runs/{runId}. Retrieve the current status and details of a run, including its result and associated session information. To fetch the run's messages, use [List Run Messages](/reference/api/list-run-messages).
browserbase_get_v1_agents_runs_by_runid_messagesREADList Run Messages via GET /v1/agents/runs/{runId}/messages. Returns a paginated list of messages produced by a run, in chronological order, with the oldest messages first. Messages conform to the [AI SDK UIMessage format](https://ai-sdk.dev/docs/reference/ai-sdk-core/ui-message).
browserbase_get_v1_certificatesREADList Certificates via GET /v1/certificates. List the client TLS certificates registered on the project. Each entry carries its id, `projectId` and timestamps; the certificate material itself is not returned. Uploading a certificate is a multipart request and is not available through this integration.
browserbase_get_v1_certificates_by_idREADGet a Certificate via GET /v1/certificates/{id}. Retrieve one registered client TLS certificate by id, as its identifiers and timestamps. The certificate material itself is not returned.
browserbase_get_v1_contexts_by_idREADGet a Context via GET /v1/contexts/{id}. Retrieve one browser context by id, with the project it belongs to and its timestamps. The stored browsing state itself is encrypted and is never returned by the API.
browserbase_get_v1_downloadsREADList Downloads via GET /v1/downloads. List all downloads for a session with optional filtering and pagination.
browserbase_get_v1_downloads_by_idREADGet a Download via GET /v1/downloads/{id}. Get download metadata (Accept: application/json) or file content (Accept: application/octet-stream).
browserbase_get_v1_extensions_by_idREADGet an Extension via GET /v1/extensions/{id}. Retrieve one uploaded Chrome extension by id, as its identifiers, `fileName` and timestamps. The extension archive itself is not returned.
browserbase_get_v1_functionsREADList Functions via GET /v1/functions. List the Functions defined on the account -- deployed browser automation scripts that Browserbase builds and runs on demand. Page with `offset` and `limit`.
browserbase_get_v1_functions_buildsREADList Function Builds via GET /v1/functions/builds. List Function builds across the account, newest first, optionally narrowed to one build `status`. A build is one publish of a Function's code. Page with `offset` and `limit`.
browserbase_get_v1_functions_builds_by_idREADGet a Function Build via GET /v1/functions/builds/{id}. Retrieve one Function build by id, with its status and timestamps. Use the build logs tool to read why a failed build failed.
browserbase_get_v1_functions_builds_by_id_logsREADGet Function Build Logs via GET /v1/functions/builds/{id}/logs. Read the build log for one Function build -- the output of compiling and packaging the Function. This is where the reason for a `FAILED` build is written.
browserbase_get_v1_functions_by_idREADGet a Function via GET /v1/functions/{id}. Retrieve one Function by id, with the version it currently serves and its timestamps.
browserbase_get_v1_functions_by_id_versionsREADList Function Versions via GET /v1/functions/{id}/versions. List the versions of one Function, newest first. Page with `offset` and `limit`.
browserbase_get_v1_functions_invocations_by_idREADGet an Invocation via GET /v1/functions/invocations/{id}. Retrieve one Function invocation by id: a single run of a Function, with its status, timing and result. Use the invocation logs tool for what the run itself printed.
browserbase_get_v1_functions_invocations_by_id_logsREADGet Invocation Logs via GET /v1/functions/invocations/{id}/logs. Read what one Function invocation logged while it ran. Use this, not the build logs, to diagnose a run that started and then failed.
browserbase_get_v1_functions_versions_by_idREADGet a Function Version via GET /v1/functions/versions/{id}. Retrieve one Function version by id -- the immutable snapshot of a Function's code that a build produced and that invocations run.
browserbase_get_v1_functions_versions_by_id_invocationsREADList Invocations for a Function Version via GET /v1/functions/versions/{id}/invocations. List the invocations that ran one specific Function version, optionally narrowed to one `status`. Page with `offset` and `limit`. Use this to compare how a version behaves against another.
browserbase_get_v1_projectsREADList Projects via GET /v1/projects. List the projects on the account, each with its id, name, owner and default region. This is how a caller DISCOVERS the `projectId` that a few other operations accept -- Agentic Fabriq asks for no project at connect time, because the API key already selects the account and a project is chosen per call.
browserbase_get_v1_projects_by_idREADGet a Project via GET /v1/projects/{id}. Retrieve one project by id, with its name, owner id, default region and concurrency settings.
browserbase_get_v1_projects_by_id_usageREADGet Project Usage via GET /v1/projects/{id}/usage. Read a project's usage totals -- browser minutes and proxy bytes consumed. This is the account's metered consumption, which is what the plan tier caps; it is the cheapest way to see what sessions have cost so far.
browserbase_get_v1_sessionsREADList Sessions via GET /v1/sessions. List the account's browser sessions, optionally narrowed by `status` (RUNNING, ERROR, TIMED_OUT, COMPLETED) or by a free-text `q` query over the session's user metadata.
browserbase_get_v1_sessions_by_idREADGet a Session via GET /v1/sessions/{id}. Retrieve one browser session by id, with its status, region, timing, the project it belongs to and its usage so far. As on create, the `connectUrl`, `seleniumRemoteUrl` and `signingKey` fields are session connection credentials and are redacted by Agentic Fabriq before the result is returned. CREDENTIAL FIELDS ARE REDACTED FROM THIS RESULT. Browserbase returns `signingKey` (the per-session `x-bb-signing-key` credential) and the `connectUrl`/`seleniumRemoteUrl` connection URLs, whose query string carries the account's API key; Agentic Fabriq replaces that key material before the reply leaves the connector, because a tool result reaches the model's context and the audit pipeline. Everything else is returned untouched, and driving the browser is done with Browserbase's own SDK, holding your key yourself.
browserbase_get_v1_sessions_by_id_debugREADSession Live URLs via GET /v1/sessions/{id}/debug. Read a session's Live URLs: `debuggerUrl` and `debuggerFullscreenUrl` for watching or taking over the browser in a normal web page, `wsUrl`, and the same pair per open page with each page's title and current URL. These links are CAPABILITY URLs -- Browserbase documents them as shareable, so anyone who holds one can watch and drive that session until it ends. They are returned here because that is what this operation is for; treat them as you would a password.
browserbase_get_v1_sessions_by_id_logsREADSession Logs via GET /v1/sessions/{id}/logs. Read a session's browser logs: the Chrome DevTools Protocol traffic recorded for the session, request and response by request and response. This is the raw detail behind what the browser did, and on a long session it is large.
browserbase_get_v1_sessions_by_id_recording_downloadsREADList Session Recording Downloads via GET /v1/sessions/{id}/recording/downloads. Returns the per-page download status for a session, with a short-lived signed URL for each completed page on standard (non-BYOS) projects.
browserbase_get_v1_sessions_by_id_replaysREADGet Session Replay via GET /v1/sessions/{id}/replays. Returns page metadata for a session replay, including timing information and the URL of each page's HLS playlist.
browserbase_get_v1_webhooksREADList Webhooks via GET /v1/webhooks. List the project's webhooks, newest first. Signing secrets are not included. Page by passing the previous response's `nextCursor` as `cursor`; a null `nextCursor` means there are no further pages.
browserbase_get_v1_webhooks_by_idREADGet a Webhook via GET /v1/webhooks/{id}. Retrieve a single webhook by ID. The signing secret is not included; it is only ever returned on create and rotate.
browserbase_patch_v1_agents_by_agentidWRITEUpdate an Agent via PATCH /v1/agents/{agentId}. Update an existing agent. Only the fields provided in the body are modified; omitted fields are left unchanged.
browserbase_patch_v1_webhooks_by_idWRITEUpdate a Webhook via PATCH /v1/webhooks/{id}. Update a webhook's endpoint URL, its subscribed event types, or both. Omitted fields are left unchanged. `eventTypes` replaces the existing subscription rather than adding to it. The signing secret is unaffected.
browserbase_post_v1_agentsWRITECreate an Agent via POST /v1/agents. Create a reusable agent. An agent defines a `systemPrompt` and `resultSchema` that guide its behavior for every run. Only `name` is required; an agent created with no `systemPrompt` behaves like an unconfigured run.
browserbase_post_v1_agents_runsWRITERun an Agent via POST /v1/agents/runs. Run a browser agent to complete the `task` by using web search and browser tooling. Optionally pass `agentId` to run a [custom agent](/reference/api/create-an-agent) you've created. CAPACITY: this starts a real cloud browser, so it occupies one of the plan's CONCURRENT SESSION slots (3 on the free tier) and consumes browser minutes while it runs. A request over the limit is refused by Browserbase, and the remedy is to release a session or raise the plan -- never to re-paste the API key.
browserbase_post_v1_agents_runs_by_runid_stopWRITEStop a Run via POST /v1/agents/runs/{runId}/stop. Request that an in-progress run stop. The run winds down and transitions to `STOPPED`. Stopping a run that has already finished returns a conflict.
browserbase_post_v1_contextsWRITECreate a Context via POST /v1/contexts. Create a browser context: a reusable, encrypted user-data directory that persists cookies, local storage and the logged-in state of websites between sessions. Both fields are optional -- `projectId` selects the project (read the ids from List Projects) and `name` labels the context. The reply carries the context id plus the public key, cipher algorithm and initialization-vector size used to encrypt the directory.
browserbase_post_v1_fetchWRITEFetch a Page via POST /v1/fetch. Fetch a page and return its content, headers, and metadata. This reaches the OPEN INTERNET from Browserbase's infrastructure using the connection's account, so the address requested is attributable to the customer and counts against the plan's usage.
browserbase_post_v1_functions_by_id_invokeWRITEInvoke a Function via POST /v1/functions/{id}/invoke. Run a Function. `params` is passed to the Function's own code and `sessionCreateParams` configures the browser session the run gets -- both optional. This starts a real browser session against the account's concurrency limit and counts towards the plan's usage; the reply identifies the invocation, which the invocation and log tools then follow. CAPACITY: this starts a real cloud browser, so it occupies one of the plan's CONCURRENT SESSION slots (3 on the free tier) and consumes browser minutes while it runs. A request over the limit is refused by Browserbase, and the remedy is to release a session or raise the plan -- never to re-paste the API key.
browserbase_post_v1_searchWRITEWeb Search via POST /v1/search. Perform a web search and return structured results. This reaches the OPEN INTERNET from Browserbase's infrastructure using the connection's account, so the address requested is attributable to the customer and counts against the plan's usage.
browserbase_post_v1_sessionsWRITECreate a Session via POST /v1/sessions. Start a cloud browser session. Every field is optional: `projectId` selects the project (read ids from List Projects), `browserSettings` configures the browser (viewport, context, fingerprint, ad blocking), `proxies`/`proxySettings` route traffic, `region` places the browser, `timeout` caps its lifetime, `keepAlive` keeps it open after the last client disconnects, `extensionId` loads an uploaded extension and `userMetadata` labels it for later search. A session occupies one of the plan's concurrent slots -- three on the free tier -- and consumes browser minutes until it is released. The reply's `connectUrl`, `seleniumRemoteUrl` and `signingKey` are session CONNECTION CREDENTIALS and are redacted by Agentic Fabriq before the result is returned; drive the session with Browserbase's own SDK, holding your key yourself. CAPACITY: this starts a real cloud browser, so it occupies one of the plan's CONCURRENT SESSION slots (3 on the free tier) and consumes browser minutes while it runs. A request over the limit is refused by Browserbase, and the remedy is to release a session or raise the plan -- never to re-paste the API key. CREDENTIAL FIELDS ARE REDACTED FROM THIS RESULT. Browserbase returns `signingKey` (the per-session `x-bb-signing-key` credential) and the `connectUrl`/`seleniumRemoteUrl` connection URLs, whose query string carries the account's API key; Agentic Fabriq replaces that key material before the reply leaves the connector, because a tool result reaches the model's context and the audit pipeline. Everything else is returned untouched, and driving the browser is done with Browserbase's own SDK, holding your key yourself.
browserbase_post_v1_sessions_by_idWRITEUpdate a Session via POST /v1/sessions/{id}. Update a running session. `status` is required, and setting it to `REQUEST_RELEASE` is how a session is CLOSED -- which ends its billing, frees one of the plan's concurrent slots and cannot be undone. A session that is already finished cannot be updated.
browserbase_post_v1_sessions_by_id_recording_downloadsWRITECreate Session Recording Downloads via POST /v1/sessions/{id}/recording/downloads. Requests one downloadable MP4 per recorded page of a session. Assembly runs asynchronously and every page returns as `PENDING`. Re-posting re-enqueues all pages and retries any that failed. Poll the GET endpoint for per-page status and, on standard (non-BYOS) projects, download URLs.
browserbase_post_v1_webhooksWRITECreate a Webhook via POST /v1/webhooks. Register an HTTPS endpoint to receive events for this project. The response includes the signing secret, which is shown only here and when the secret is rotated. Store it before discarding the response. An endpoint may only be registered once per project. THE SIGNING SECRET IS REDACTED FROM THIS RESULT, and Browserbase returns it only here -- no endpoint reads it back, which is also why Agentic Fabriq does not offer the rotate operation. If you need to hold the secret in order to verify delivery signatures, register the endpoint with Browserbase's own SDK or API; everything else about the webhook is returned normally.
Often connected alongside
Put Browserbase behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.