Scrapybara is shutting down their virtual desktop and browser service on October 15, 2025. If you’re currently using Scrapybara for browser automation, Kernel is here to help you migrate seamlessly.Documentation Index
Fetch the complete documentation index at: https://tbd-6fc993ce-mason-add-copy-page-to-context-menu.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Key Concepts
| Feature | Scrapybara | Kernel |
|---|---|---|
| Start Browser | client.start_browser() | client.browsers.create() |
| Standby Mode | instance.pause() / instance.resume() | Automatic standby mode |
| CDP URL | instance.get_cdp_url().cdp_url | Returns cdp_ws_url in create response |
| Live View | instance.get_stream_url().stream_url | Returns browser_live_view_url in create response |
| Stealth Mode | ❌ Not available | Create browser with stealth: true |
| Replays | ❌ Not available | client.browsers.replays.start() and client.browsers.replays.stop() |
| Save Auth | instance.browser.save_auth(name="default") | Create Profile. Then create browser with kernel.browsers.create(profile={"name": "profile1", "save_changes": True}) |
How to migrate
Basic Browser Creation
ScrapybaraSave & Reuse Authentication
ScrapybaraFile Download
ScrapybaraLong-Running Sessions
ScrapybaraFull API Comparison
| Feature | Scrapybara | Kernel |
|---|---|---|
| Create Browser | client.start_browser() | client.browsers.create() |
| Get CDP URL | instance.get_cdp_url().cdp_url | Returns cdp_ws_url in create response |
| Get Live View | instance.get_stream_url().stream_url | Returns browser_live_view_url in create response |
| Delete Browser | instance.stop() | client.browsers.delete_by_id(session_id) |
| List Browsers | client.get_instances() | client.browsers.list() |
| Save Auth State | instance.browser.save_auth(name="default") | Create Profile. Then create browser with kernel.browsers.create(profile={"name": "profile1", "save_changes": True}) |
| Load Auth State | instance.browser.authenticate(auth_state_id="xyz") | kernel.browsers.create(profile={"name": "profile1"}) |
| Pause/Resume | instance.pause() / instance.resume() | Automatic standby mode |
| Screenshot | instance.screenshot() | Use Playwright or Puppeteer |
| Timeout Config | timeout_hours parameter | timeout_seconds parameter |
| Stealth Mode | ❌ Not available | Create browser with stealth: true |
| Headless Mode | ❌ Not available | Create browser with headless: true |
| Session Persistence | Auth state only | Full browser state via creating browser with persistence={"id": "persist-id"} |
| Video Replays | ❌ Not available | client.browsers.replays.start() and client.browsers.replays.stop() |
| File Upload | instance.upload() | client.browsers.fs.upload() or Playwright |
| File Download | Via browser, then instance.file() | client.browsers.fs.read_file() |
| Process Control | instance.bash() | client.browsers.process.* |
| Proxy Support | ❌ Not available | Create Proxy. Then create browser with client.browsers.create(proxy_id=proxy.id) |

