Resolving Vercel Firewall Challenges

Vercel Firewall gates protected URLs behind a JavaScript challenge that issues a _vcrcs session cookie on success. MeshPrivacy executes the challenge server-side and returns the cookie ready to attach to your downstream requests.

Service Schema

FieldTypeRequiredDescription
urlstringYesVercel-hosted page showing the challenge
script_urlstringNoVercel challenge script URL
challenge_idstringNoChallenge ID from URL params or hidden inputs
proxy_configstringNoProxy in http://user:pass@ip:port format
user_agentstringNoCustom user agent

Service ID: vercel · Status: Stable

Real-time API status: trust.meshprivacy.com

Cookies Returned

_vcrcs — Vercel firewall clearance cookie

Bind the cookie to the same proxy IP and user agent used for the solve.

Integration Example

vercel.js
// Submit Vercel Firewall task to MeshPrivacy
const response = await fetch('https://api.meshprivacy.com/v1/tasks/submit', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json', 'X-API-Key': API_KEY },
  body: JSON.stringify({
    service: 'vercel',
    url: 'https://target-site.vercel.app/',                   // required
    script_url: 'https://vercel.com/_vercel/challenge.js',    // optional
    challenge_id: '<from URL params or hidden inputs>',       // optional
    proxy_config: 'http://user:pass@ip:port',                 // optional
    user_agent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)...'// optional
  })
});
const { task_id } = await response.json();

const result = await fetch(`https://api.meshprivacy.com/v1/tasks/result/${task_id}`, {
  headers: { 'X-API-Key': API_KEY }
});
const { cookies } = await result.json();
// Use the returned _vcrcs cookie in downstream requests

FAQ

Some Vercel deployments rotate the challenge ID per request and embed it in the URL or a hidden form field. Pass it explicitly only when the page exposes it.

Related Services