Appearance
Test
Status: PASS (Node.js SDK) / NEEDS-ACCOUNT (cloud features)
Classification: PASS for the open-source SDK. NEEDS-ACCOUNT for the cloud scraper API and ready-made datasets at rebrowser.net.
Verified install
The rebrowser-puppeteer package installs successfully from npm without an account.
bash
npm install rebrowser-puppeteerVersion confirmed via:
bash
node -e "const p = require('./node_modules/rebrowser-puppeteer/package.json'); console.log(p.name + '@' + p.version)"Actual output:
rebrowser-puppeteer@24.8.1rebrowser-puppeteer is a drop-in replacement for puppeteer with anti-detection patches applied. The SDK installs and loads without any account or API key.
Smoke Test: Apply and revert a patch on puppeteer-core
In a project that already has puppeteer-core installed:
bash
# Apply patches
npx rebrowser-patches@latest patch --packageName puppeteer-core
# Expected output contains:
# Patching puppeteer-core...
# Patched successfully (or similar success line)
# Revert patches
npx rebrowser-patches@latest unpatch --packageName puppeteer-core
# Expected output contains:
# Unpatching puppeteer-core...
# Unpatched successfully (or similar success line)Smoke Test: Check latest tested compatibility versions
As of the last verified README update:
| Library | Latest tested version | Date |
|---|---|---|
| Puppeteer | 24.8.1 | 2025-05-06 |
| Playwright | 1.52.0 | 2025-04-17 |
If your installed version is newer than these, check https://github.com/rebrowser/rebrowser-patches for updated compatibility notes before deploying to production.
Debug Mode
Enable verbose output to confirm patch activation at runtime:
bash
REBROWSER_PATCHES_DEBUG=1 node your-automation-script.jsExpected success output includes lines like:
[rebrowser-patches] Runtime fix mode: addBinding
[rebrowser-patches] Source URL override: pptr:internal -> jquery.min.jsIf these lines appear in stderr/stdout, the patches are active for that run.
Cloud Platform Connection Test (NEEDS-ACCOUNT)
The cloud scraper API and ready-made datasets at rebrowser.net require a registered account and API key. Without an account, the connection below will fail authentication.
javascript
import puppeteer from 'rebrowser-puppeteer-core'
const browser = await puppeteer.connect({
browserWSEndpoint: 'wss://api.rebrowser.net/YOUR_PROFILE_ID?apiKey=YOUR_API_KEY',
})
const page = await browser.newPage()
await page.goto('https://example.com')
console.log('Connected. Title:', await page.title())
await browser.close()Expected success output:
Connected. Title: Example DomainA successful connection with a page title printed confirms the profile is active, the API key is valid, and the CDP endpoint is reachable.