---
title: "Fetch Webpage (Pro)"
method: POST
path: "/fetch/pro"
tags: ["Pages"]
---

# Fetch Webpage (Pro)

`POST /fetch/pro`

## Request

- Base URL: `https://api.weblens.dev`
- URL: `https://api.weblens.dev/fetch/pro`
- Auth: API key in header `Payment-Signature`

Fetch webpage with full JavaScript rendering using headless browser. Perfect for SPAs, React/Vue apps, and dynamic content that requires JS execution. Price: $0.006, up to 3x on bot-protected or complex sites (70% off when served from cache); an x402 payment is at least $0.004.

## Request body

- object
  - `url` string, uri, required: The URL to process
  - `timeout` number: Request timeout in milliseconds
  - `cache` boolean: Serve a cached copy when one exists (cached responses are 70% off)
  - `cacheTtl` number: How long to cache this response, in seconds
  - `waitFor` string: CSS selector to wait for (Pro tier only)

## Response `200`

Same, but rendered in headless Chromium first — for SPAs.

- object
  - `url` string: Fetched URL
  - `title` string: Page title
  - `content` string: Clean markdown content after JS rendering
  - `tier` string
  - `fetchedAt` string: ISO timestamp
  - `metadata` object: Page metadata
    - `description` string
    - `author` string
    - `publishedAt` string
  - `cached` boolean: Present and true when the response was served from cache
  - `requestId` string

## Other responses

- `400`: The body failed validation
- `402`: Payment required — x402 v2 protocol. Parse the PAYMENT-REQUIRED response header (base64-encoded JSON), sign the payment with your wallet, then retry the request with the Payment-Signature request header.

---

[API](https://skmtc.dev/weblens/apis/weblens-api.md) · [All operations](https://skmtc.dev/weblens/apis/weblens-api/llms.txt) · [OpenAPI document](https://skmtc.dev/weblens/apis/weblens-api/revisions/63a7e81b6921?raw)
