client.billing.getAccountBilling() -> BrowserUse.AccountView
-
-
-
Get authenticated account information including credit balance and account details.
-
-
-
await client.billing.getAccountBilling();
-
-
-
requestOptions:
Billing.RequestOptions
-
-
client.tasks.listTasks({ ...params }) -> BrowserUse.TaskListResponse
-
-
-
Get paginated list of AI agent tasks with optional filtering by session and status.
-
-
-
await client.tasks.listTasks();
-
-
-
request:
BrowserUse.ListTasksTasksGetRequest
-
requestOptions:
Tasks.RequestOptions
-
-
client.tasks.createTask({ ...params }) -> BrowserUse.TaskCreatedResponse
-
-
-
Create and start a new task.
You can either:
- Start a new task without a sessionId (auto-creates a session with US proxy by default). Note: Tasks without a sessionId are one-off tasks that automatically close the session upon completion (keep_alive=false).
- Start a new task in an existing session (reuse for follow-up tasks or custom configuration)
Important: Proxy configuration (proxyCountryCode) and other session settings (like keep_alive) are session-level settings, not task-level settings. For full control over session configuration, create a session first via POST /sessions with your desired settings, then pass that sessionId when creating tasks.
-
-
-
await client.tasks.createTask({ task: "task" });
-
-
-
request:
BrowserUse.CreateTaskRequest
-
requestOptions:
Tasks.RequestOptions
-
-
client.tasks.getTask({ ...params }) -> BrowserUse.TaskView
-
-
-
Get detailed task information including status, progress, steps, and file outputs.
-
-
-
await client.tasks.getTask({ task_id: "task_id" });
-
-
-
request:
BrowserUse.GetTaskTasksTaskIdGetRequest
-
requestOptions:
Tasks.RequestOptions
-
-
client.tasks.updateTask({ ...params }) -> BrowserUse.TaskView
-
-
-
Control task execution with stop, pause, resume, or stop task and session actions.
-
-
-
await client.tasks.updateTask({ task_id: "task_id", action: "stop" });
-
-
-
request:
BrowserUse.UpdateTaskRequest
-
requestOptions:
Tasks.RequestOptions
-
-
client.tasks.getTaskStatus({ ...params }) -> BrowserUse.TaskStatusView
-
-
-
Lightweight endpoint optimized for polling task status.
Returns only the task status, output, and cost without loading steps, files, or session details. Use this endpoint for efficient polling instead of GET /tasks/{task_id}.
Recommended polling pattern:
- POST /tasks to create a task
- Poll GET /tasks/{task_id}/status until status is 'finished' or 'stopped'
- GET /tasks/{task_id} once at the end for full details including steps
-
-
-
await client.tasks.getTaskStatus({ task_id: "task_id" });
-
-
-
request:
BrowserUse.GetTaskStatusTasksTaskIdStatusGetRequest
-
requestOptions:
Tasks.RequestOptions
-
-
client.tasks.getTaskLogs({ ...params }) -> BrowserUse.TaskLogFileResponse
-
-
-
Get secure download URL for task execution logs with step-by-step details.
-
-
-
await client.tasks.getTaskLogs({ task_id: "task_id" });
-
-
-
request:
BrowserUse.GetTaskLogsTasksTaskIdLogsGetRequest
-
requestOptions:
Tasks.RequestOptions
-
-
client.sessions.listSessions({ ...params }) -> BrowserUse.SessionListResponse
-
-
-
Get paginated list of AI agent sessions with optional status filtering.
-
-
-
await client.sessions.listSessions();
-
-
-
request:
BrowserUse.ListSessionsSessionsGetRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.sessions.createSession({ ...params }) -> BrowserUse.SessionItemView
-
-
-
Create a new session with a new task.
-
-
-
await client.sessions.createSession();
-
-
-
request:
BrowserUse.CreateSessionRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.sessions.getSession({ ...params }) -> BrowserUse.SessionView
-
-
-
Get detailed session information including status, URLs, and task details.
-
-
-
await client.sessions.getSession({ session_id: "session_id" });
-
-
-
request:
BrowserUse.GetSessionSessionsSessionIdGetRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.sessions.deleteSession({ ...params }) -> void
-
-
-
Delete a session with all its tasks.
-
-
-
await client.sessions.deleteSession({ session_id: "session_id" });
-
-
-
request:
BrowserUse.DeleteSessionSessionsSessionIdDeleteRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.sessions.updateSession({ ...params }) -> BrowserUse.SessionView
-
-
-
Stop a session and all its running tasks.
-
-
-
await client.sessions.updateSession({ session_id: "session_id", action: "stop" });
-
-
-
request:
BrowserUse.UpdateSessionRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.sessions.getSessionPublicShare({ ...params }) -> BrowserUse.ShareView
-
-
-
Get public share information including URL and usage statistics.
-
-
-
await client.sessions.getSessionPublicShare({ session_id: "session_id" });
-
-
-
request:
BrowserUse.GetSessionPublicShareSessionsSessionIdPublicShareGetRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.sessions.createSessionPublicShare({ ...params }) -> BrowserUse.ShareView
-
-
-
Create or return existing public share for a session.
-
-
-
await client.sessions.createSessionPublicShare({ session_id: "session_id" });
-
-
-
request:
BrowserUse.CreateSessionPublicShareSessionsSessionIdPublicSharePostRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.sessions.deleteSessionPublicShare({ ...params }) -> void
-
-
-
Remove public share for a session.
-
-
-
await client.sessions.deleteSessionPublicShare({ session_id: "session_id" });
-
-
-
request:
BrowserUse.DeleteSessionPublicShareSessionsSessionIdPublicShareDeleteRequest
-
requestOptions:
Sessions.RequestOptions
-
-
client.files.agentSessionUploadFilePresignedUrl({ ...params }) -> BrowserUse.UploadFilePresignedUrlResponse
-
-
-
Generate a secure presigned URL for uploading files to an agent session.
-
-
-
await client.files.agentSessionUploadFilePresignedUrl({ session_id: "session_id", body: { fileName: "fileName", contentType: "image/jpg", sizeBytes: 1 } });
-
-
-
request:
BrowserUse.AgentSessionUploadFilePresignedUrlFilesSessionsSessionIdPresignedUrlPostRequest
-
requestOptions:
Files.RequestOptions
-
-
client.files.browserSessionUploadFilePresignedUrl({ ...params }) -> BrowserUse.UploadFilePresignedUrlResponse
-
-
-
Generate a secure presigned URL for uploading files to a browser session.
-
-
-
await client.files.browserSessionUploadFilePresignedUrl({ session_id: "session_id", body: { fileName: "fileName", contentType: "image/jpg", sizeBytes: 1 } });
-
-
-
request:
BrowserUse.BrowserSessionUploadFilePresignedUrlFilesBrowsersSessionIdPresignedUrlPostRequest
-
requestOptions:
Files.RequestOptions
-
-
client.files.getTaskOutputFilePresignedUrl({ ...params }) -> BrowserUse.TaskOutputFileResponse
-
-
-
Get secure download URL for an output file generated by the AI agent.
-
-
-
await client.files.getTaskOutputFilePresignedUrl({ task_id: "task_id", file_id: "file_id" });
-
-
-
request:
BrowserUse.GetTaskOutputFilePresignedUrlFilesTasksTaskIdOutputFilesFileIdGetRequest
-
requestOptions:
Files.RequestOptions
-
-
client.profiles.listProfiles({ ...params }) -> BrowserUse.ProfileListResponse
-
-
-
Get paginated list of profiles.
-
-
-
await client.profiles.listProfiles();
-
-
-
request:
BrowserUse.ListProfilesProfilesGetRequest
-
requestOptions:
Profiles.RequestOptions
-
-
client.profiles.createProfile({ ...params }) -> BrowserUse.ProfileView
-
-
-
Profiles allow you to preserve the state of the browser between tasks.
They are most commonly used to allow users to preserve the log-in state in the agent between tasks. You'd normally create one profile per user and then use it for all their tasks.
You can create a new profile by calling this endpoint.
-
-
-
await client.profiles.createProfile();
-
-
-
request:
BrowserUse.ProfileCreateRequest
-
requestOptions:
Profiles.RequestOptions
-
-
client.profiles.getProfile({ ...params }) -> BrowserUse.ProfileView
-
-
-
Get profile details.
-
-
-
await client.profiles.getProfile({ profile_id: "profile_id" });
-
-
-
request:
BrowserUse.GetProfileProfilesProfileIdGetRequest
-
requestOptions:
Profiles.RequestOptions
-
-
client.profiles.deleteBrowserProfile({ ...params }) -> void
-
-
-
Permanently delete a browser profile and its configuration.
-
-
-
await client.profiles.deleteBrowserProfile({ profile_id: "profile_id" });
-
-
-
request:
BrowserUse.DeleteBrowserProfileProfilesProfileIdDeleteRequest
-
requestOptions:
Profiles.RequestOptions
-
-
client.profiles.updateProfile({ ...params }) -> BrowserUse.ProfileView
-
-
-
Update a browser profile's information.
-
-
-
await client.profiles.updateProfile({ profile_id: "profile_id" });
-
-
-
request:
BrowserUse.ProfileUpdateRequest
-
requestOptions:
Profiles.RequestOptions
-
-
client.browsers.listBrowserSessions({ ...params }) -> BrowserUse.BrowserSessionListResponse
-
-
-
Get paginated list of browser sessions with optional status filtering.
-
-
-
await client.browsers.listBrowserSessions();
-
-
-
request:
BrowserUse.ListBrowserSessionsBrowsersGetRequest
-
requestOptions:
Browsers.RequestOptions
-
-
client.browsers.createBrowserSession({ ...params }) -> BrowserUse.BrowserSessionItemView
-
-
-
Create a new browser session.
Pricing: Browser sessions are charged per hour with tiered pricing:
- Pay As You Go users: $0.06/hour
- Business/Scaleup subscribers: $0.03/hour (50% discount)
The full rate is charged upfront when the session starts. When you stop the session, any unused time is automatically refunded proportionally.
Billing is rounded up to the minute (minimum 1 minute). For example, if you stop a session after 30 minutes, you'll be refunded half the charged amount.
Session Limits:
- All users: Up to 4 hours per session
-
-
-
await client.browsers.createBrowserSession();
-
-
-
request:
BrowserUse.CreateBrowserSessionRequest
-
requestOptions:
Browsers.RequestOptions
-
-
client.browsers.getBrowserSession({ ...params }) -> BrowserUse.BrowserSessionView
-
-
-
Get detailed browser session information including status and URLs.
-
-
-
await client.browsers.getBrowserSession({ session_id: "session_id" });
-
-
-
request:
BrowserUse.GetBrowserSessionBrowsersSessionIdGetRequest
-
requestOptions:
Browsers.RequestOptions
-
-
client.browsers.updateBrowserSession({ ...params }) -> BrowserUse.BrowserSessionView
-
-
-
Stop a browser session.
Refund: When you stop a session, unused time is automatically refunded. If the session ran for less than 1 hour, you'll receive a proportional refund. Billing is ceil to the nearest minute (minimum 1 minute).
-
-
-
await client.browsers.updateBrowserSession({ session_id: "session_id", action: "stop" });
-
-
-
request:
BrowserUse.UpdateBrowserSessionRequest
-
requestOptions:
Browsers.RequestOptions
-
-
client.skills.listSkills({ ...params }) -> BrowserUse.SkillListResponse
-
-
-
List all skills owned by the authenticated project with optional filtering.
-
-
-
await client.skills.listSkills();
-
-
-
request:
BrowserUse.ListSkillsSkillsGetRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.createSkill({ ...params }) -> BrowserUse.CreateSkillResponse
-
-
-
Create a new skill via automated generation.
-
-
-
await client.skills.createSkill({ goal: "goal", agentPrompt: "agentPrompt" });
-
-
-
request:
BrowserUse.CreateSkillRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.getSkill({ ...params }) -> BrowserUse.SkillResponse
-
-
-
Get details of a specific skill owned by the project.
-
-
-
await client.skills.getSkill({ skill_id: "skill_id" });
-
-
-
request:
BrowserUse.GetSkillSkillsSkillIdGetRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.deleteSkill({ ...params }) -> void
-
-
-
Delete a skill owned by the project.
-
-
-
await client.skills.deleteSkill({ skill_id: "skill_id" });
-
-
-
request:
BrowserUse.DeleteSkillSkillsSkillIdDeleteRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.updateSkill({ ...params }) -> BrowserUse.SkillResponse
-
-
-
Update skill metadata (name, description, enabled, etc.).
-
-
-
await client.skills.updateSkill({ skill_id: "skill_id" });
-
-
-
request:
BrowserUse.UpdateSkillRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.cancelGeneration({ ...params }) -> BrowserUse.SkillResponse
-
-
-
Cancel the current in-progress generation for a skill.
-
-
-
await client.skills.cancelGeneration({ skill_id: "skill_id" });
-
-
-
request:
BrowserUse.CancelGenerationSkillsSkillIdCancelPostRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.rollbackSkill({ ...params }) -> BrowserUse.SkillResponse
-
-
-
Rollback to the previous version (cannot be undone).
-
-
-
await client.skills.rollbackSkill({ skill_id: "skill_id" });
-
-
-
request:
BrowserUse.RollbackSkillSkillsSkillIdRollbackPostRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.executeSkill({ ...params }) -> BrowserUse.ExecuteSkillResponse
-
-
-
Execute a skill with the provided parameters.
-
-
-
await client.skills.executeSkill({ skill_id: "skill_id", body: {} });
-
-
-
request:
BrowserUse.ExecuteSkillSkillsSkillIdExecutePostRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.refineSkill({ ...params }) -> BrowserUse.RefineSkillResponse
-
-
-
Refine a skill based on feedback.
-
-
-
await client.skills.refineSkill({ skill_id: "skill_id", feedback: "feedback" });
-
-
-
request:
BrowserUse.RefineSkillRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.listSkillExecutions({ ...params }) -> BrowserUse.SkillExecutionListResponse
-
-
-
List executions for a specific skill.
-
-
-
await client.skills.listSkillExecutions({ skill_id: "skill_id" });
-
-
-
request:
BrowserUse.ListSkillExecutionsSkillsSkillIdExecutionsGetRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skills.getSkillExecutionOutput({ ...params }) -> BrowserUse.SkillExecutionOutputResponse
-
-
-
Get presigned URL for downloading skill execution output.
-
-
-
await client.skills.getSkillExecutionOutput({ skill_id: "skill_id", execution_id: "execution_id" });
-
-
-
request:
BrowserUse.GetSkillExecutionOutputSkillsSkillIdExecutionsExecutionIdOutputGetRequest
-
requestOptions:
Skills.RequestOptions
-
-
client.skillsMarketplace.listSkills({ ...params }) -> BrowserUse.MarketplaceSkillListResponse
-
-
-
List all public skills available in the marketplace with optional filtering.
-
-
-
await client.skillsMarketplace.listSkills();
-
-
-
request:
BrowserUse.ListSkillsMarketplaceSkillsGetRequest
-
requestOptions:
SkillsMarketplace.RequestOptions
-
-
client.skillsMarketplace.getSkill({ ...params }) -> BrowserUse.MarketplaceSkillResponse
-
-
-
Get details of a specific public skill from the marketplace.
-
-
-
await client.skillsMarketplace.getSkill({ skill_slug: "skill_slug" });
-
-
-
request:
BrowserUse.GetSkillMarketplaceSkillsSkillSlugGetRequest
-
requestOptions:
SkillsMarketplace.RequestOptions
-
-
client.skillsMarketplace.cloneSkill({ ...params }) -> BrowserUse.SkillResponse
-
-
-
Clone a public marketplace skill to the user's project.
-
-
-
await client.skillsMarketplace.cloneSkill({ skill_id: "skill_id" });
-
-
-
request:
BrowserUse.CloneSkillMarketplaceSkillsSkillIdClonePostRequest
-
requestOptions:
SkillsMarketplace.RequestOptions
-
-
client.skillsMarketplace.executeSkill({ ...params }) -> BrowserUse.ExecuteSkillResponse
-
-
-
Execute a skill with the provided parameters.
-
-
-
await client.skillsMarketplace.executeSkill({ skill_id: "skill_id", body: {} });
-
-
-
request:
BrowserUse.ExecuteSkillMarketplaceSkillsSkillIdExecutePostRequest
-
requestOptions:
SkillsMarketplace.RequestOptions
-
-