> ## Documentation Index
> Fetch the complete documentation index at: https://docs.anchorbrowser.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Web Unlocker

> Fetch content from any webpage — including bot-protected sites — with a single API call.

The Web Unlocker lets you retrieve fully-rendered page content from any URL without managing a browser session. It handles residential proxies, captcha solving, and fingerprinting automatically — so bot-protected sites respond as if you're a real user.

## Quick Start

```bash cURL theme={null}
curl -X POST "https://api.anchorbrowser.io/v1/tools/fetch/webpage" \
  -H "anchor-api-key: $ANCHOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://www.g2.com/products/notion/reviews" }'
```

## Request Reference

**Endpoint:** `POST https://api.anchorbrowser.io/v1/tools/fetch/webpage`

**Headers:**

| Header           | Value              |
| ---------------- | ------------------ |
| `anchor-api-key` | Your API key       |
| `Content-Type`   | `application/json` |

**Body:**

<ParamField body="url" type="string" required>
  The fully-qualified URL to fetch (e.g. `https://www.linkedin.com/company/openai`).
</ParamField>

**Response codes:**

| Code  | Meaning                                       |
| ----- | --------------------------------------------- |
| `200` | Page content returned successfully            |
| `400` | Invalid request — check the URL and try again |
| `422` | Could not reach the requested URL             |
| `429` | Rate limit exceeded                           |
| `500` | Failed to fetch the requested page            |
| `504` | The page took too long to load                |

## Examples

### Scrape a protected site

```bash cURL theme={null}
curl -X POST "https://api.anchorbrowser.io/v1/tools/fetch/webpage" \
  -H "anchor-api-key: $ANCHOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://www.indeed.com/jobs?q=software+engineer&l=New+York" }'
```

### Fetch multiple pages in parallel

```bash bash theme={null}
urls=(
  "https://www.crunchbase.com/organization/openai"
  "https://www.crunchbase.com/organization/anthropic"
  "https://www.crunchbase.com/organization/mistral-ai"
)

for url in "${urls[@]}"; do
  curl -s -X POST "https://api.anchorbrowser.io/v1/tools/fetch/webpage" \
    -H "anchor-api-key: $ANCHOR_API_KEY" \
    -H "Content-Type: application/json" \
    -d "{\"url\": \"$url\"}" &
done
wait
```

<Note>
  When given a PDF URL, the Web Unlocker returns the file directly as a binary response. To extract text content from a PDF instead, use the [Get webpage content](/api-reference/tools/get-webpage-content) tool — it handles PDF pages the same as any other page.
</Note>

## Web Unlocker vs. Browser Sessions

|          | Web Unlocker                           | Browser Session                              |
| -------- | -------------------------------------- | -------------------------------------------- |
| Setup    | No session needed                      | Create a session first                       |
| Stealth  | Always on                              | Configurable                                 |
| Speed    | No cold start                          | Session startup time                         |
| Best for | High-volume scraping, one-shot fetches | Multi-step workflows, interactive automation |

Use the Web Unlocker when you need content from a single URL. Use a [browser session](/api-reference/browser-sessions/start-browser-session) when you need to navigate, click, fill forms, or maintain state across multiple pages.
