oxylabs/web-unblocker
Bypasses anti-bot protections using Oxylabs Web Unblocker, an AI-powered proxy that handles fingerprinting, JavaScript rendering, and retries automatically. Use when the user needs to scrape protected websites, bypass CAPTCHAs, access blocked content, or when regular proxies fail due to anti-bot measures.
npx skills add https://github.com/oxylabs/agent-skills --skill web-unblocker
AI-powered proxy solution that automatically manages fingerprinting, headers, retries, and JavaScript rendering.
https://unblock.oxylabs.io:60000
HTTP Basic Auth via proxy credentials:
curl -k -x "https://unblock.oxylabs.io:60000" \
-U "$OXYLABS_USERNAME:$OXYLABS_PASSWORD" \
"https://example.com"
Basic request:
curl -k -x "https://unblock.oxylabs.io:60000" \
-U "$OXYLABS_USERNAME:$OXYLABS_PASSWORD" \
"https://ip.oxylabs.io/headers"
With JavaScript rendering:
curl -k -x "https://unblock.oxylabs.io:60000" \
-U "$OXYLABS_USERNAME:$OXYLABS_PASSWORD" \
-H "x-oxylabs-render: html" \
"https://example.com/spa-page"
| Header | Description |
|--------|-------------|
| x-oxylabs-render | html for rendered HTML, png for raw PNG bytes; empty value disables automatic forced rendering |
| X-Oxylabs-Session-Id | Reuse same IP across requests (any random string) |
| X-Oxylabs-Geo-Location | Target country, city/state, ZIP/postcode, or coordinates |
| x-oxylabs-force-headers: 1 | Enable custom header passthrough |
| x-oxylabs-force-cookies: 1 | Enable custom cookie passthrough |
| X-Oxylabs-Successful-Status-Codes | Define custom success codes to prevent retries |
| x-oxylabs-browser-instructions | JSON-escaped browser actions; requires x-oxylabs-render: html |
Reuse the same IP across multiple requests:
curl -k -x "https://unblock.oxylabs.io:60000" \
-U "$OXYLABS_USERNAME:$OXYLABS_PASSWORD" \
-H "X-Oxylabs-Session-Id: my-session-123" \
"https://example.com/page1"
curl -k -x "https://unblock.oxylabs.io:60000" \
-U "$OXYLABS_USERNAME:$OXYLABS_PASSWORD" \
-H "X-Oxylabs-Geo-Location: Germany" \
"https://example.com"
Use values such as Germany, 90210, California,United States, New York,New York,United States, or lat: 40.7128, lng: -74.0060, rad: 50.
Use normal HTTP methods and request bodies through the proxy; Web Unblocker supports both GET and POST.
| Scenario | Use |
|----------|-----|
| Sites with anti-bot protection | Web Unblocker |
| CAPTCHAs, fingerprint detection | Web Unblocker |
| JavaScript-heavy SPAs | Web Unblocker with x-oxylabs-render: html |
| Simple requests, no protection | Regular Proxies |
| High volume, price sensitive | Regular Proxies |
-k flag (or disable SSL verification) - the proxy uses its own certificatesx-oxylabs-render: html if experiencing empty content or low success rates; set client timeouts near 180 seconds for rendered requestsX-Oxylabs-Final-Url in response headers when redirects matterx-oxylabs-render: htmlFor code examples in Python, Node.js, PHP, Go, Java, and C#, see examples.md.
Take oxylabs/web-unblocker from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.