A high-level Go driver for the Chrome DevTools Protocol, built for web automation, scraping and end-to-end testing.
At a Glance
Rod is a Go driver for the DevTools Protocol, released under the MIT License and free to use, copy, modify and distribute.
Engagement
Available On
Alternatives
Listed Oct 2026
About Rod
Rod is an open-source Go library for driving browsers through the Chrome DevTools Protocol. It is aimed at developers who need web automation and scraping, and it supports both high-level helpers and low-level protocol access. The project is MIT licensed and its latest listed release is v0.116.2.
What It Is
Rod is a high-level driver based directly on the DevTools Protocol. According to its documentation, it can automate most things that can be done manually in a browser: capturing page screenshots, scraping client-side rendered pages, auto-filling forms, running end-to-end tests, and hijacking requests. Developers can use the low-level packages to customize or build their own version of Rod, while the high-level functions serve as a default build.
Automation Workflow and Design
The README describes a chained context design that makes it intuitive to time out or cancel long-running tasks. Elements are auto-waited until they are ready. Helpers such as WaitStable, WaitRequestIdle, HijackRequests and WaitDownload cover common page-state needs. A two-step WaitEvent design is meant to ensure events are not missed. Nested iframes and shadow DOMs are handled, and all operations are thread-safe.
Browser Management and Debugging
Rod can automatically find or download a browser. It documents input tracing and remote monitoring of a headless browser for debugging, and states that no zombie browser processes remain after a crash. The documentation site covers custom browser launch, selectors, events, input, emulation, network, page resources, JavaScript runtime, custom WebSocket and end-to-end testing guides.
Learning Resources
The docs include a Get Started guide, FAQ, API reference, examples, and a comparison of examples between Rod and Chromedp. The documentation is available in several languages, and community help is offered through a Discord chat room and GitHub issues and discussions.
Community Discussions
Be the first to start a conversation about Rod
Share your experience with Rod, ask questions, or help others learn from your insights.
Pricing
Open Source (MIT)
Rod is a Go driver for the DevTools Protocol, released under the MIT License and free to use, copy, modify and distribute.
- MIT License
- Chained context design with timeout and cancel support
- Auto-wait for elements to be ready
- Thread-safe for all operations
- Automatically finds or downloads a browser
Capabilities
Key Features
- Chained context design for timeouts and cancellation
- Auto-wait for elements to be ready
- Debugging-friendly input tracing and remote monitoring of headless browsers
- Thread-safe operations
- Automatic browser discovery or download
- High-level helpers like WaitStable, WaitRequestIdle, HijackRequests, WaitDownload
- Two-step WaitEvent design
- Handles nested iframes and shadow DOMs
- No zombie browser processes after a crash
- Page screenshots, form auto-fill and request hijacking
- End-to-end testing support
