Skip to main content
POST
Stop a running cloud browser to end billing and free up your concurrent running slot. Call this endpoint when you are done with an interactive session. Closing the viewer tab, losing your connection, or letting the session expire in the UI does not stop billing. A confirmed 200 response with runtime.status: stopped is the only signal that the browser has stopped and the running slot has been released. The saved profile and all its configuration are retained after stop; the browser can be restarted at any time.
string (UUID)
required
The persistent profile identifier returned by create or list. This is distinct from the runtime sessionId.

Response

boolean
Always true.
object
Calling stop on a browser that is already stopped returns 200 with runtime.status: stopped. The running slot is not double-released and no additional charge is applied.
Closing the viewer tab does not stop the browser. Always call POST /cloud-browsers/{id}/stop to end the session and stop billing. Billing continues at 1 credit per minute until a confirmed stop.
After a confirmed stop, the saved profile is retained, not deleted. It continues to count toward your saved-profile allowance and can be restarted at any time. Profiles are only removed by an explicit DELETE /cloud-browsers/{id} call. Profiles created via POST /cloud-browsers/launch follow the same retention policy: deleteOnStop is always false.
Use a bounded polling loop for reliable stop confirmation. Call stop, then if the response is 202, poll GET /cloud-browsers/{id} every 2 seconds (up to about 30 attempts) until runtime.status is stopped. The Node.js lifecycle example in the create profile docs shows a complete implementation.