Skip to main content
Scrapybara has shut down their virtual desktop and browser service as of October 15, 2025. If you were using Scrapybara for browser automation, Kernel is here to help you migrate seamlessly.

Key Concepts

FeatureScrapybaraKernel
Start Browserclient.start_browser()kernel.browsers.create()
Standby Modeinstance.pause() / instance.resume()Automatic standby mode
CDP URLinstance.get_cdp_url().cdp_urlReturns cdp_ws_url in create response
Live Viewinstance.get_stream_url().stream_urlReturns browser_live_view_url in create response
Stealth Mode❌ Not availableCreate browser with stealth: true
Replays❌ Not availablekernel.browsers.replays.start() and kernel.browsers.replays.stop()
Save Authinstance.browser.save_auth(name="default")Create Profile. Then create browser with kernel.browsers.create(profile={"name": "profile1", "save_changes": true})
Clickinstance.computer(action="click_mouse", button="left")kernel.browsers.computer.click_mouse(id=session_id, x=100, y=200)
Draginstance.computer(action="drag_mouse", path=[[100, 200], [300, 400]])kernel.browsers.computer.drag_mouse(id=session_id, path=[[100, 200], [150, 220], [200, 260]])
Screenshotinstance.computer(action="take_screenshot").base64_imagekernel.browsers.computer.capture_screenshot(id=session_id)

How to migrate

Basic Browser Creation

Scrapybara
Kernel

Save & Reuse Authentication

Scrapybara
Kernel

File Download

Scrapybara
Kernel

Long-Running Sessions

Scrapybara
Kernel

Computer Controls

Both Scrapybara and Kernel provide Computer Controls APIs that allow you to programmatically control the browser environment at the system level - including mouse movements, clicks, keyboard input, and screenshots. Scrapybara
Kernel
For a complete reference of all available Computer Controls methods in Kernel, see the Computer Controls documentation.

Full API Comparison

FeatureScrapybaraKernel
Create Browserclient.start_browser()kernel.browsers.create()
Get CDP URLinstance.get_cdp_url().cdp_urlReturns cdp_ws_url in create response
Get Live Viewinstance.get_stream_url().stream_urlReturns browser_live_view_url in create response
Delete Browserinstance.stop()kernel.browsers.delete_by_id(session_id)
List Browserskernel.get_instances()kernel.browsers.list()
Save Auth Stateinstance.browser.save_auth(name="default")Create Profile. Then create browser with kernel.browsers.create(profile={"name": "profile1", "save_changes": True})
Load Auth Stateinstance.browser.authenticate(auth_state_id="xyz")kernel.browsers.create(profile={"name": "profile1"})
Pause/Resumeinstance.pause() / instance.resume()Automatic standby mode
Screenshotinstance.screenshot()Use Playwright or Puppeteer
Timeout Configtimeout_hours parametertimeout_seconds parameter
Stealth Mode❌ Not availableCreate browser with stealth: true
Headless Mode❌ Not availableCreate browser with headless: true
Session PersistenceAuth state onlyFull browser state via creating browser with extended timeout
Video Replays❌ Not availablekernel.browsers.replays.start() and kernel.browsers.replays.stop()
File Uploadinstance.upload()kernel.browsers.fs.upload() or Playwright
File DownloadVia browser, then instance.file()kernel.browsers.fs.read_file()
Process Controlinstance.bash()kernel.browsers.process.*
Proxy Support❌ Not availableCreate Proxy. Then create browser with kernel.browsers.create(proxy_id=proxy.id)
Click Mouseinstance.computer(action="click_mouse", button="left")kernel.browsers.computer.click_mouse(id=session_id, x=100, y=200)
Move Mouseinstance.computer(action="move_mouse", coordinates=[100, 200])kernel.browsers.computer.move_mouse(id=session_id, x=100, y=200)
Drag Mouseinstance.computer(action="drag_mouse", path=[[100, 200], [300, 400]])kernel.browsers.computer.drag_mouse(id=session_id, path=[[100, 200], [150, 220], [200, 260]])
Scrollinstance.computer(action="scroll", coordinates=[100, 100], delta_x=0, delta_y=200)kernel.browsers.computer.scroll(id=session_id, delta_x=0, delta_y=100)
Type Textinstance.computer(action="type_text", text="Hello")kernel.browsers.computer.type_text(id=session_id, text="Hello")
Press Keyinstance.computer(action="press_key", keys=["ctrl", "c"])kernel.browsers.computer.press_key(id=session_id, keys=["Ctrl+t"])
Take Screenshotinstance.computer(action="take_screenshot").base64_imagekernel.browsers.computer.capture_screenshot(id=session_id)
Get Cursor Positioninstance.computer(action="get_cursor_position").outputUse move_mouse with tracking

Need Help?