API V1 vs V2 vs V2s Comparison Guide

This guide follows the current Scrapingbypass API documentation: V2s uses the same parameters as V2 but adds stream response support. Before production use, confirm the latest settings in the official docs and your API console.

Quick Summary

Scrapingbypass V1, V2, and V2s are not simple old-versus-new versions. They are designed for different traffic patterns. V1 is best for lightweight 403 bypass cases. V2 is for JavaScript challenges, Turnstile, and session-based verification. V2s keeps the V2 behavior but adds stream response support for large files or long responses.

VersionBest forMain headerProxyResponse style
V1Browser works but code gets 403; no JS Challenge or TurnstileNo x-cb-version requiredBuilt-in dynamic proxy or custom proxyNormal full response
V2JS Challenge, Turnstile, session reuse, server-side cookie handlingx-cb-version: 2Fixed or time-sensitive proxy requiredNormal full response
V2sV2 scenarios plus large downloads or processing while data arrivesx-cb-version: 2sSame as V2Stream response

V1: lightweight and stateless

Use V1 when the target page is accessible in a browser but returns 403 from code, and there is no visible Cloudflare challenge flow. V1 is lighter, stateless, and often enough for standard protected pages.

curl --request GET   --url "https://api.scrapingbypass.com/path"   --header "x-cb-apikey: YOUR_APIKEY"   --header "x-cb-host: target.com"

V2: challenge handling and sessions

Use V2 when the target site returns a JS Challenge, requires Turnstile, or needs a validated session to be reused. V2 requires a proxy and can use x-cb-part to separate server-side session partitions.

curl --request GET   --url "https://api.scrapingbypass.com/path"   --header "x-cb-apikey: YOUR_APIKEY"   --header "x-cb-host: target.com"   --header "x-cb-version: 2"   --header "x-cb-proxy: http://user:pass@proxy-host:port"   --header "x-cb-part: 0"

V2s: V2 plus stream response

V2s uses the same V2 parameters, including x-cb-proxy, x-cb-part, and x-cb-sitekey. The key difference is x-cb-version: 2s, which enables stream response. Use it for large file downloads, exported reports, long responses, or any workflow where the client should process data as it arrives.

curl --request GET   --url "https://api.scrapingbypass.com/files/report.zip"   --header "x-cb-apikey: YOUR_APIKEY"   --header "x-cb-host: target.com"   --header "x-cb-version: 2s"   --header "x-cb-proxy: http://user:pass@proxy-host:port"   --output report.zip

How to choose

  • Use V1 for ordinary 403 bypass cases without challenge state.
  • Use V2 for JS Challenge, Turnstile, and session reuse.
  • Use V2s when you need V2 behavior and stream response.
  • If unsure, test V1 first; switch to V2 or V2s when you see challenges, Turnstile, or large-response requirements.