Maven Central Javadocs Build Status Update Status

chrome-reactive-kotlin is a low level Chrome DevTools Protocol client written in Kotlin and leveraging RxJava2 for easy composability.

Library exposes all protocol domains in a single, cohesive and highly composable API. It supports both headless and standalone Chrome versions and supports creating isolated environments via BrowserContext from Target domain and flatted sessions mode (see:

For debugging purposes you can use my other project: chrome-protocol-proxy.

Please note that most up-to-date protocol is used at the moment.

Documentation can be found on


Add to your Kotlin or Java project (Gradle dependency):

compile group: 'pl.wendigo', name: 'chrome-reactive-kotlin', version: '0.6.+'


Run headless chrome:

docker container run -d -p 9222:9222 zenika/alpine-chrome --no-sandbox --remote-debugging-address= --remote-debugging-port=9222 about:blank

And now execute:


fun main() {
    val chrome = Browser.builder()

    chrome.use { browser ->"about:blank").use { target ->
            await {

            await {
                target.Page.navigate(NavigateRequest(url = "")).flatMap { (frameId) ->
                    target.Page.frameStoppedLoading().filter {
                        it.frameId == frameId
compile "pl.wendigo:chrome-reactive-kotlin:0.6.0"

Related Libraries


Headless Chrome DevTools Protocol Client (RxJava2 + Kotlin)

Last updated 3 mins ago


Vert.x for Kotlin

Last updated 3 mins ago


Kotlin Web Framework for the JVM

Last updated 3 mins ago


GraphQL request string builder written in Kotlin

Last updated 3 mins ago


A framework designed around Kotlin providing a full-featured HTTP Framework, Restful HTTP Client, JDBC DSL, Loading Cache, Configurations, Validations, and more

Last updated 3 mins ago