cyrus-and/chrome-remote-interface

Chrome Debugging Protocol interface for Node.js

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 17 minutes ago
Added to GitGenius on September 15th, 2026
Created on April 17th, 2013
Open Issues & Pull Requests: 12 (+0)
GitHub issues: Enabled
Number of forks: 322
Total Stargazers: 4,553 (+0)
Total Subscribers: 79 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 1.3 hours
Mean response time: 25.8 days
90th percentile: 17.0 days
Tracked items: 21

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 20% of issues opened in the past year have been closed. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 814 days
Stale 30+ days: 2
Stale 90+ days: 2

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • invalid (6)
  • external issue (4)
  • question (4)
  • protocol (2)
  • feature request (1)
  • not an issue (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

chrome-remote-interface is a Node.js library that provides a JavaScript API for the Chrome Debugging Protocol, enabling programmatic control and inspection of Chrome and other protocol-compatible browsers.

The library solves the problem of instrumenting browsers for automation, testing, and debugging by abstracting the Chrome Debugging Protocol into a straightforward JavaScript interface. Rather than working directly with protocol messages, developers use simple method calls and event handlers to control browser behavior, navigate pages, capture network traffic, and interact with page content. The tool connects to a browser instance running with remote debugging enabled on a known port and translates high-level commands into protocol operations.

The tool suits developers building browser automation scripts, testing frameworks, or debugging tools who want to work with JavaScript rather than raw protocol messages. It works with Chrome, Chromium, Opera, Firefox Nightly, Edge, Safari on iOS, and Node.js, though support varies by implementation—Chrome and Opera offer the most complete feature coverage, while other browsers support a partial set of operations. The README does not compare this library to alternatives, so no comparative guidance can be offered. Setup requires starting the target browser or runtime with a debugging port enabled, which is straightforward for desktop browsers but requires additional configuration steps for Android devices and WebView instances.

Development activity shows consistent maintenance with regular updates addressing compatibility across multiple browser implementations. The project maintains comprehensive documentation including a wiki with examples and an FAQ addressing common questions. The codebase demonstrates attention to supporting the evolving Chrome Debugging Protocol across different versions and implementations, with explicit tracking of which protocol features work with which browsers.