# Website WebUnlocker
## Overview
| Property | Value |
|----------|-------|
| **Status** | active |
| **Method** | `GET` |
| **Endpoint** | `/v2/website/webunlocker` |
| **Base URL** | `https://api.piloterr.com` |
| **Credit Cost** | 3 credits per call |
| **Documentation** | https://www.piloterr.com/library/website-webunlocker |
## Description
Bypass advanced anti-bot systems (Cloudflare, DataDome, Akamai, PerimeterX) on whitelisted domains. Combines browser rendering and unlock tooling; use after Crawler and Rendering fail.
## Authentication
- **Key Name:** `x-api-key`
- **Location:** HTTP Header
- **Get an API key:** https://app.piloterr.com/register
## Example Request
```bash
curl --location --request GET 'https://api.piloterr.com/v2/website/webunlocker' \
--header 'Content-Type: application/json' \
--header 'x-api-key: YOUR_API_KEY'
```
## Example Response
### Unlock norauto.fr product page
```json
Pneus été 185/55 R14 | Norauto
```
## Documentation
## Choosing the right endpoint
Piloterr exposes three complementary ways to fetch a public web page. Pick the **lightest engine that works** for your target site.
| Endpoint | Engine | Credits | Use when |
|---|---|---:|---|
| [Website Crawler](https://www.piloterr.com/library/website-crawler) | HTTP request (no JavaScript) | 1 | The HTML you need is already in the first response: blogs, docs, server-rendered catalog pages, sitemaps. |
| [Website Rendering](https://www.piloterr.com/library/website-rendering) | Headless browser (JavaScript executed) | 2 | Content appears only after JS runs: React/Vue/Angular SPAs, lazy-loaded listings, pages that need `wait_for` or POST `browser_instructions`. |
| [Website WebUnlocker](https://www.piloterr.com/library/website-webunlocker) | Browser + unlock stack | 3 | [Website Rendering](https://www.piloterr.com/library/website-rendering) or [Website Crawler](https://www.piloterr.com/library/website-crawler) hit bot walls (Cloudflare, DataDome, Akamai, PerimeterX) **and** the domain is on Piloterr's approved whitelist. |
**Decision flow**
1. Try **Crawler** first if you do not need client-side rendering. It is the fastest and cheapest option.
2. Switch to **Rendering** when the DOM is empty, prices load asynchronously, or you must wait for a selector / run browser steps.
3. Escalate to **WebUnlocker** only for hardened retail or marketplace domains that block normal browser traffic. Whitelist approval is required before production use.
See also: [Website Scraping guide](https://www.piloterr.com/blog/website-crawler-vs-rendering-vs-webunlocker).
## Overview
[Website WebUnlocker](https://www.piloterr.com/library/website-webunlocker) is the **hardest tier** of the website stack. It combines headless rendering with an unlock layer tuned for enterprise bot managers. Use it when:
- [Website Crawler](https://www.piloterr.com/library/website-crawler) cannot pass bot checks (not designed for that), and
- [Website Rendering](https://www.piloterr.com/library/website-rendering) still returns challenges, empty pages, or blocked sessions.
**Whitelist required:** the target hostname must be approved on Piloterr's approved whitelist before production traffic. Contact Piloterr support to request new domains.
> **Beta:** behavior and supported domains may evolve.
Costs **3 credits** per successful call.
## Quickstart
```
GET https://api.piloterr.com/v2/website/webunlocker?query=https://www.norauto.fr/t/pneu/w-185-h-55-r-14/ete-s/80-l-h-q.html
```
## Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `query` | string | yes | Public URL (`http`/`https`). Domain must be whitelisted |
| `allow_redirects` | boolean | no | Follow redirects when `true` (default) |
| `return_page_source` | boolean | no | Raw HTML when `true`. Default `false` |
## Response
| Field | Description |
|---|---|
| Response body | HTML after bypassing bot protection |
## Related endpoints
| Situation | Endpoint |
|---|---|
| No advanced bot wall | [Website Crawler](https://www.piloterr.com/library/website-crawler) or [Website Rendering](https://www.piloterr.com/library/website-rendering) (cheaper) |
| Check which engine a site needs | [Website Antibot](https://www.piloterr.com/library/website-antibot) |
| Stack detection on a URL | [Website Technology](https://www.piloterr.com/library/website-technology) |
Example whitelisted domains include `mobile.de`, `leroymerlin.fr`, and `norauto.fr`.
## Notes
- Do not start with WebUnlocker: validate Crawler and Rendering first to save credits.
- Whitelist is per domain; subdomains may require separate approval.
- For standard JS rendering without whitelist, use [Website Rendering](https://www.piloterr.com/library/website-rendering) instead.
## Main use cases
- Product and listing pages on DataDome or Akamai-protected retailers
- Automotive and home-improvement marketplaces on approved domains
- Pipelines where Rendering consistently returns challenge pages
- Competitive price monitoring on hardened e-commerce sites