session.replay() returns a ReplayResponse containing a presigned URL for the MP4 file, which you can download with replay.download().
Quick Start
Get a recording after your session ends:quick_start.py
What Gets Recorded
Session recordings capture:- Page navigation - All page loads and URL changes
- User interactions - Clicks, fills, scrolls, key presses
- DOM changes - Dynamic content updates
- Visual state - What the browser displays
- Timing - Real-time playback speed
Session Replays
Download as MP4
download_mp4.py
Replay by Session ID
Get a replay for any session using its ID:replay_by_id.py
Agent Replays
After running an agent, get the replay from the session:agent_replay.py
agent_replay_alt.py
Debugging Failed Runs
Use recordings to understand what went wrong:debug_failed.py
Best Practices
1. Name Recordings Meaningfully
Use descriptive filenames:name_recordings.py
2. Record Only on Failures
For production, save recordings only when something goes wrong:record_on_failures.py
3. Clean Up Old Recordings
Remove old recordings to save disk space:cleanup_old.py
Recording Limitations
What’s Recorded
- All page interactions
- Visual state changes
- Navigation and reloads
- Dynamic content
What’s NOT Recorded
- Audio
- Network request details (use CDP for this)
- Console logs (use logging)
- Session state before first action
Storage
Recordings are:- Stored on Notte’s servers after the session ends
- Accessed via presigned URLs (returned by
session.replay()) - Retained for 24 hours
- Downloadable as MP4 via
replay.download()
Next Steps
Live View
Watch sessions in real-time
Session Lifecycle
Understand session management
Playwright
Connect with Playwright via CDP
Agent Replay
Agent-specific replay features

