How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Browser Use Public API v4

The current Browser Use Cloud REST API for long-horizon agent runs — create and monitor runs, continue conversations in sessions with a message queue, persist files in workspaces, launch and stop stealth cloud browsers, and manage authenticated browser profiles. 32 operations, OpenAPI 3.1, API-key auth via the X-Browser-Use-API-Key header.

Browser Use Public API v4 is one of 4 APIs that Browser Use publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Web Agents, Browser Automation, and Cloud Browsers. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 32 operations across 21 paths, organized into 5 resource areas, and defines 52 schemas. It is described by OpenAPI 3.1.0, at version 4.0.0.

Requests are made against a single base URL, https://api.browser-use.com/api/v4.

32 operations 21 paths 52 schemas 4 DELETE17 GET3 PATCH8 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
4.0.0
Base URL
https://api.browser-use.com/api/v4
Authentication
API Key
Resource Areas
5

Authentication & Security 1

Browser Use Public API v4 declares 1 security scheme for authenticating requests. An API key is passed in the header as X-Browser-Use-API-Key (APIKeyHeader).

Paths & Operations 32

Across 21 paths, the API surfaces 32 operations — 4 DELETE, 17 GET, 3 PATCH, 8 POST. They span 5 resource areas: Runs, Sessions, Workspaces, Browsers, Profiles. Each is listed below with its method, path, parameters, and response codes.

Runs 7
POST
/runs
Create Run
create_run_runs_post body → 200402403404409400422
GET
/runs
List Runs
list_runs_runs_get 3 params → 200403400422
GET
/runs/{run_id}/attachments
List Run Attachments
list_run_attachments_runs__run_id__attachments_get 1 param → 200403404422
GET
/runs/{run_id}
Get Run
get_run_runs__run_id__get 1 param → 200403404422
GET
/runs/{run_id}/status
Get Run Status
get_run_status_runs__run_id__status_get 1 param → 200403404422
POST
/runs/{run_id}/cancel
Cancel Run
cancel_run_runs__run_id__cancel_post 1 param → 200403404502422
GET
/runs/{run_id}/events
Get Run Events
get_run_events_runs__run_id__events_get 4 params → 200403404422
Sessions 7
GET
/sessions
List Sessions
list_sessions_sessions_get 2 params → 200403400422
POST
/sessions/{session_id}/purge
Purge Session
purge_session_sessions__session_id__purge_post 1 param → 204403404422
GET
/sessions/{session_id}
Get Session
get_session_sessions__session_id__get 1 param → 200403404422
POST
/sessions/{session_id}/queue
Queue Session Message
queue_session_message_sessions__session_id__queue_post 1 param body → 200403404429422
GET
/sessions/{session_id}/queue
List Session Queue
list_session_queue_sessions__session_id__queue_get 1 param → 200403404422
GET
/sessions/{session_id}/queue/{message_id}
Get Session Queue Message
get_session_queue_message_sessions__session_id__queue__message_id__get 2 params → 200403404422
DELETE
/sessions/{session_id}/queue/{message_id}
Cancel Queued Message
cancel_queued_message_sessions__session_id__queue__message_id__delete 2 params → 200403404409422
Workspaces 8
POST
/workspaces
Create Workspace
create_workspace_workspaces_post body → 200422
POST
/workspaces/{workspace_id}/files/upload
Upload Workspace Files
upload_workspace_files_workspaces__workspace_id__files_upload_post 1 param body → 200403404400409422
GET
/workspaces/{workspace_id}
Get Workspace
get_workspace_workspaces__workspace_id__get 1 param → 200422
PATCH
/workspaces/{workspace_id}
Update Workspace
update_workspace_workspaces__workspace_id__patch 1 param body → 200404422
DELETE
/workspaces/{workspace_id}
Delete Workspace
delete_workspace_workspaces__workspace_id__delete 1 param → 204422
GET
/workspaces/{workspace_id}/size
Get Workspace Size
get_workspace_size_workspaces__workspace_id__size_get 1 param → 200404422
GET
/workspaces/{workspace_id}/files
List Workspace Files
list_workspace_files_workspaces__workspace_id__files_get 6 params → 200403404400422
DELETE
/workspaces/{workspace_id}/files
Delete Workspace File
delete_workspace_file_workspaces__workspace_id__files_delete 2 params → 204404400422
Browsers 5
GET
/browsers
List Browser Sessions
list_browser_sessions_browsers_get 5 params → 200422
POST
/browsers
Create Browser Session
create_browser_session_browsers_post body → 201403404422429
GET
/browsers/{session_id}
Get Browser Session
get_browser_session_browsers__session_id__get 1 param → 200404422
PATCH
/browsers/{session_id}
Update Browser Session
update_browser_session_browsers__session_id__patch 1 param body → 200404422
GET
/browsers/{session_id}/downloads
List Browser Session Downloads
list_browser_session_downloads_browsers__session_id__downloads_get 4 params → 200404422
Profiles 5
GET
/profiles
List Profiles
list_profiles_profiles_get 3 params → 200422
POST
/profiles
Create Profile
create_profile_profiles_post body → 201402422
GET
/profiles/{profile_id}
Get Profile
get_profile_profiles__profile_id__get 1 param → 200404422
PATCH
/profiles/{profile_id}
Update Profile
update_profile_profiles__profile_id__patch 1 param body → 200404422
DELETE
/profiles/{profile_id}
Delete Browser Profile
delete_browser_profile_profiles__profile_id__delete 1 param → 204422

Schemas 52

The contract defines 52 schemas that model the data the API accepts and returns. The most detailed are RunSummary (17 properties), BrowserSessionView (13 properties), BrowserSessionItemView (13 properties), RunCreateRequest (11 properties). Each schema is shown below with its type and property counts.

BrowserDownloadFile
object
A single file the browser downloaded during the session.
4 properties 3 required
BrowserDownloadListResponse
object
Paginated list of browser downloads with optional presigned URLs.
3 properties 1 required
BrowserSessionItemView
object
View model for representing a browser session in list views.
13 properties 4 required
BrowserSessionListResponse
object
Response model for paginated browser session list requests.
4 properties 4 required
BrowserSessionStatus
string
Enumeration of possible browser session states Attributes: ACTIVE: Session is currently active and running (browser is running) STOPPED: Session has been stopp…
BrowserSessionUpdateAction
string
Available actions that can be performed on a browser session Attributes: STOP: Stop the browser session (cannot be undone)
BrowserSessionView
object
View model for representing a browser session.
13 properties 4 required
CreateBrowserSessionRequest
object
Request model for creating a browser session.
9 properties
CustomProxy
object
Request model for creating a custom proxy.
5 properties 2 required
ExternalBrowserAttach
object
DEV-ONLY: hand v4 a pre-provisioned browser instead of having CP call UseBrowserService. Gated to env=='development' in the router.
2 properties 1 required
HTTPValidationError
object
1 property
InlineSecretSource
object
A value the caller supplies directly with the run.
2 properties 2 required
InsufficientCreditsError
object
Error response when there are insufficient credits
1 property
ProfileCreateRequest
object
Request model for creating a new profile.
2 properties
ProfileListResponse
object
Response model for paginated profile list requests.
4 properties 4 required
ProfileNotFoundError
object
Error response when a profile is not found
1 property
ProfileUpdateRequest
object
Request model for updating a profile.
2 properties
ProfileView
object
View model for representing a profile. A profile lets you preserve the login state between sessions. We recommend that you create a separate profile for each u…
7 properties 3 required
ProxyCountryCode
string
QueueListResponse
object
2 properties 1 required
QueueMessageRequest
object
Send a message to a session. If the session is busy the message waits on the queue and runs as the next turn; if idle it runs immediately. Set interrupt to mak…
3 properties 1 required
QueuedMessage
object
One message on a session's queue (a v4sessioninput row).
8 properties 7 required
RunAttachment
object
5 properties 5 required
RunAttachmentsResponse
object
1 property 1 required
RunBrowserSettings
object
Browser config, owned by the browser row (never the run). Follow-ups: omitted fields inherit the session's prior browser; explicit values apply only to newly p…
6 properties
RunCreateRequest
object
11 properties 1 required
RunCreateResponse
object
7 properties 6 required
RunEvent
object
5 properties 5 required
RunEventsResponse
object
3 properties 1 required
RunJudgeSettings
object
Opt-in LLM judgement of the finished run. Presence of this object turns the judge on (send {} for defaults); CP judges the run's trajectory after it goes termi…
1 property
RunListResponse
object
3 properties 1 required
RunStatusResponse
object
Minimal poll target: just the run's status. Poll this until terminal (cheap indexed lookup, tiny payload — never the task/result text), then fetch the full Run…
1 property 1 required
RunSummary
object
17 properties 15 required
SecretBinding
object
One credential this run may have typed into a browser field. The value never reaches the agent. It is encrypted at rest, kept out of the worker payload, and ty…
3 properties 3 required
SessionInfo
object
Lightweight metadata for one V4 session (its most recent run). Deliberately slim — just what a session list needs (open the conversation, show a label + status…
8 properties 8 required
SessionListResponse
object
One entry per session (the session's most recent run), most-recent first. A V4 session is a conversation: every follow-up run reuses the same publicsessionid.…
3 properties 1 required
SessionNotFoundError
object
Error response when a session is not found
1 property
SessionTimeoutLimitExceededError
object
Error response when session timeout exceeds the maximum allowed limit
1 property
SteeringCutoff
object
Earliest accepted steer for one interrupted source run. The queue endpoint returns these compact boundaries separately from message rows so a remount can keep…
2 properties 2 required
TooManyConcurrentActiveSessionsError
object
Error response when user has too many concurrent active sessions
1 property
UpdateBrowserSessionRequest
object
Request model for updating browser session state.
1 property 1 required
ValidationError
object
3 properties 3 required
WorkspaceCreateRequest
object
1 property
WorkspaceFileInfo
object
A file the agent has produced for the workspace. Shape mirrors V3 files (FileInfo) so a single UI component can render both.
4 properties 3 required
WorkspaceFileListResponse
object
3 properties 1 required
WorkspaceFileUploadItem
object
3 properties 2 required
WorkspaceFileUploadRequest
object
2 properties 1 required
WorkspaceFileUploadResponse
object
1 property 1 required
WorkspaceFileUploadResponseItem
object
6 properties 6 required
WorkspaceInfo
object
5 properties 4 required
WorkspaceSizeInfo
object
2 properties 2 required
WorkspaceUpdateRequest
object
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

browser-use-api-v4-openapi.json Raw ↑

Other APIs Browser Use publishes across the network.

Browser Use Public API v3
Browser Use Public API v2
Browser Use MCP Server
Where this information came from

This is an independent, third-party profile of Browser Use Public API v4, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.