Skip to content
Cascading Labs QScrape VoidCrawl Yosoi

VoidCrawl

VoidCrawl is a Rust-native Chrome DevTools Protocol (CDP) client exposed to Python via PyO3 . It replaces Playwright and Selenium with a permissively-licensed (Apache-2.0) stack for rendering JavaScript-heavy pages, controlling browsers, and automating web interactions.

Built on chromiumoxide with a shared Tokio runtime, VoidCrawl gives you async-first browser automation with near-zero overhead tab reuse.

How Yosoi Uses VoidCrawl

Yosoi uses VoidCrawl as its browser automation backend. When a page requires JavaScript rendering before selector discovery can begin, VoidCrawl handles the headless browsing — launching tabs, waiting for content, and returning the fully rendered DOM for Yosoi to analyse.

Key Features

  • Rust-native performance — CDP commands run in a compiled Tokio runtime, not a Node.js subprocess.
  • Async-first — Every API is async/await from the ground up.
  • Browser pool — Reuse tabs across tasks with near-zero overhead.
  • Built-in actions — Click, type, scroll, screenshot, and evaluate JavaScript without extra dependencies.
  • Docker-ready — First-class support for headless and headful containers.

FAQs

Why does Yosoi use VoidCrawl instead of Playwright or Selenium?

VoidCrawl is Apache-2.0 licensed and written in Rust via PyO3, so it avoids the Node.js subprocess overhead of Playwright and the WebDriver latency of Selenium. It also shares a single Tokio runtime across tabs for near-zero overhead reuse.

Do I need VoidCrawl to use Yosoi?

Only when your target pages require JavaScript rendering. For static HTML pages, Yosoi can work with a simple HTTP response. VoidCrawl is needed when the page content is rendered client-side.

What is the Chrome DevTools Protocol?

CDP is the low-level protocol that Chrome exposes for programmatic control — navigating pages, executing JavaScript, capturing screenshots, and intercepting network requests. VoidCrawl speaks CDP natively from Rust.

Can VoidCrawl run in Docker?

Yes. VoidCrawl has first-class support for both headless and headful Docker containers, including VNC for visual debugging.

References

Chrome DevTools Protocol. Google. Protocol for instrumenting, inspecting, and debugging Chromium-based browsers. https://chromedevtools.github.io/devtools-protocol/

PyO3. PyO3 Project. Rust bindings for the Python interpreter. https://pyo3.rs/

Playwright. Microsoft. End-to-end testing and browser automation framework. https://playwright.dev/

Selenium. Selenium Project. Browser automation for testing and scraping. https://www.selenium.dev/

Tokio. Tokio Project. Asynchronous runtime for Rust. https://tokio.rs/