Session Replay

Session replay provides a way to inspect the executed actions and network requests. This feature allows replaying recorded sessions, enabling a detailed page-by-page examination of executed actions and network requests.

Advantages

✅ Real-time recording – Automatically logs all network requests during script execution

✅ Frame-by-frame playback – Precisely retrace browser actions

✅ Team collaboration – Easily share session recordings for team debugging

✅ Millisecond precision – Inspect event-level timestamps for enhanced script tuning

✅ Secure isolation – Session data is encrypted and protected by fine-grained access control

✅ Lightweight format – Recording files are 90% smaller than video files thanks to rrweb-powered DOM diffing

How to Use

Create a Scrapeless Browser Session

Type One: Create a Session Recording through Playground

The playground has session recording enabled by default through parameter settings.

image1.png

You can also enable session recording in the Playground settings. However, note that once you enable the Use Playground Settings option, it will overwrite the connection parameters in the playground code.

image2.png

After configuration, click “Run” to start recording.

Type Two: Create a Session Recording through API

You can also connect our session functionality in your other projects via API, setting session parameters in your code.

To enable recording, set the query parameter session_recording to true. The default value is false. You can also use the session_name parameter to set a name for your session, making it easier to quickly find your session in the session list.

image3.png

For more detailed documentation, please refer to: Scraping Browser API Docs. The code example is as follows:

const puppeteer =require('puppeteer-core');
 
const token = 'API Key'
 
// custom fingerprint
const fingerprint = {
    platform: 'Windows',
}
 
const query = new URLSearchParams({
    session_ttl: 180,
    session_name: 'test_scraping', // session name
    session_recording: true, // enable web session recording
    proxy_country: 'ANY',
    token: token,
    fingerprint: encodeURIComponent(JSON.stringify(fingerprint)),
});
 
const connectionURL = `wss://browser.scrapeless.com/browser?${query.toString()}`;
 
(async () => {
    const browser = await puppeteer.connect({browserWSEndpoint: connectionURL});
    const page = await browser.newPage();
 
    await page.goto('https://www.scrapeless.com');
    await new Promise(res => setTimeout(res, 3000));
 
    await page.goto('https://www.google.com');
    await new Promise(res => setTimeout(res, 3000));
 
    await page.goto('https://www.youtube.com');
    await new Promise(res => setTimeout(res, 3000));
 
    await browser.close();
})();
 

View Replay

After the browser finishes running, the session recording will be automatically saved. Click the session history list to view it.

image4.gif

Limitations

💡 Session recording only focuses on the user’s visual experience in the browser and does not include any underlying server activity, database interactions, or technical changes not reflected in the page structure (DOM).

💡 Complex animations built with technologies such as WebGL or canvas may not be perfectly faithfully reproduced in session recordings.