Browser Infrastructure
Watch every browser. Replay the ones that failed.
Every cloud browser returns a live URL you can open or embed, read-only or with human takeover. Turn on recording and get an mp4 of the session after it stops.
- Every browser
- returns a liveUrl, for standalone browsers and agent runs
- mp4
- recording per browser when you set enableRecording, fetched after it stops
- Opt-in
- recording is off by default; Zero Data Retention projects never record
Embed it in your product.
Debug from the recording, not the logs.
Live view and recording, exactly
- Live URL
- liveUrl on POST /api/v4/browsers; live_view_url in an agent run's browser.ready event.
- Embedding
- Any iframe. Viewer origin live.browser-use.com. readOnly=true blocks input; ui=false hides tabs and toolbar.
- Takeover
- Interactive by default, so a person can act in the same browser your code is driving.
- Recording
- mp4, opt-in with enableRecording (browsers) or browserSettings.record (agent runs).
- Retrieval
- GET /api/v4/browsers/{id} returns recordingUrl once the browser has stopped and the upload is done.
- Privacy
- Zero Data Retention projects never record. Zero data retention.
Questions people ask
Does every browser have a live view?
Yes. A standalone browser returns liveUrl from POST /api/v4/browsers. An agent run emits the same link in its browser.ready event. Open it in a tab or embed it in an iframe; the viewer is hosted on live.browser-use.com.
Is recording on by default?
No. Recording is opt-in per browser: enableRecording: true on POST /api/v4/browsers (enable_recording=True in Python), or browserSettings.record: true on an agent run. Zero Data Retention projects never record, even when asked.
When is the recording ready?
After the browser stops and the upload finishes. Poll GET /api/v4/browsers/{id} until recordingUrl is set, and stop polling if recordingAvailable is false. The link is a presigned URL that expires.
Can a person take over the browser?
Yes. The live view is interactive unless you make it read-only, so a person can log in, solve a step or approve a payment, and your Playwright script or agent continues on the same browser.
How do I make the embed read-only?
Add readOnly=true to the live URL, or wrap the iframe in an inert element with pointer-events: none. Both are UI restrictions: anyone with the live URL or the CDP URL can still control the browser, so treat both URLs as credentials.
What does it cost?
Browser time is $0.02 per browser-hour, no subscription. The pricing page lists no separate charge for live view or recording.