wreq-js (v2.3.1) is a Node.js/TypeScript HTTP client that bypasses TLS fingerprinting checks (JA3/JA4) used by Cloudflare, DataDome, and other anti-bot services. It provides browser impersonation profiles for Chrome, Firefox, Safari, Edge, Opera, and OkHttp without running a full browser, using native Rust bindings from the wreq library for high throughput. Unlike alternatives like CycleTLS (Go subprocess) or got-scraping (JS customization), wreq-js offers a fetch-style API, built-in session and cookie management, proxy support, WebSocket helper, and TypeScript-first design with generated definitions. Prebuilt binaries are available for macOS, Linux, and Windows; installation may require a Rust toolchain if no matching prebuilt artifact is found. Development is active with community releases via npm.
npm install wreq-jsNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Demonstrates basic fetch with browser impersonation and a session-based flow with cookie persistence. Uses environment variable for auth.
Use import statements or switch to dynamic import().
Always specify 'browser' and 'os' options when calling standalone fetch() or creating a session.
Install Rust via rustup.rs or use a Docker image with Rust preinstalled.
Wrap session usage in try/finally block and always call close().
Use explicit proxy configuration: import { setGlobalProxy } from 'wreq-js'; setGlobalProxy('http://proxy:8080');Pin version and review changelog when upgrading.
Complement with header/behavior customization; consider using session's setHeaders() method.
Run 'npm install wreq-js' and ensure your project uses ESM (type: 'module' in package.json or .mjs extension).
Change 'import fetch from "wreq-js"' to 'import { fetch } from "wreq-js"'.Replace 'const wreq = require("wreq-js")' with 'import * as wreq from "wreq-js"' or use dynamic import().Install Rust from https://rustup.rs and ensure cargo is in PATH, then npm install wreq-js again.
Ensure you do not reuse a closed session; create a new one if needed.
No dependency data recorded yet.