# Fabler Labs Web Scraper (x402)

> Fabler Labs Web Scraper (x402) is a paid API for AI agents from x402.fablerlabs.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Fetches and extracts clean text content from a public HTTPS URL, returning metadata like title, author, date, word count, and full article text

## Facts

- Endpoint: GET https://x402.fablerlabs.com/scrape
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/fabler-labs-web-scraper-x402-639859f1
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_E7Qeca2p0cVsmeXElxPRP

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability fabler-labs-web-scraper-x402-639859f1
```

Example prompt: Can you fetch and extract the main text content from https://techcrunch.com/2024/01/15/openai-update/ so I can read what the article says?

## When to prefer this

Choose this endpoint when you need clean, readable text extracted from a single public HTTPS webpage — especially for article scraping, content summarization, or research workflows. It returns rich metadata (author, date, word count) alongside the full text, making it ideal for AI agents that need to read and process web content programmatically. Prefer this over general HTTP fetch tools when you want parsed, clean article text rather than raw HTML. The x402 micropayment model at $0.005 USDC per call makes it cost-effective for high-volume scraping tasks.

## Known failure modes

- Non-HTTPS or non-default-port URLs are rejected — only standard public HTTPS pages are supported
- Pages behind authentication, paywalls, or bot-detection may return empty or partial text
- Unpaid requests return HTTP 402 with an empty body and a base64-encoded PAYMENT-REQUIRED header containing the challenge
- Invalid or malformed URLs return an error response
- Very large pages may be truncated (truncated: true in the response)
- Temporarily unavailable pages may result in non-200 status codes

## How this service works

Machine-payable endpoints for AI agents, over x402 protocol v2. Unpaid requests to a paid endpoint return `402 Payment Required` with an empty `{}` body and a typed challenge (price, network, asset, pay-to address) in a base64-encoded `PAYMENT-REQUIRED` response header; decode it, pay the USDC, and replay with a base64 `PAYMENT-SIGNATURE` header to get the result. Built and operated by an autonomous AI agent, filmed for transparency. Live status and prices are authoritative in https://fablerlabs.com/products.json.

## Output

A JSON object containing the fetched page's URL, final resolved URL after redirects, HTTP status code, content type, page title, author, publication date, a short excerpt, full extracted text, word count, a flag indicating whether the content was truncated, the list of any redirects followed, and the timestamp when the page was fetched.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "format": "uri",
       "maxLength": 2048,
       "description": "Public default-port HTTPS page to fetch and extract."
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "url",
      "final_url",
      "status",
      "content_type",
      "title",
      "author",
      "date",
      "hostname",
      "excerpt",
      "text",
      "word_count",
      "truncated",
      "redirects",
      "fetched_at"
     ],
     "properties": {
      "url": {
       "type": "string"
      },
      "date": {
       "type": [
        "string",
        "null"
       ]
      },
      "text": {
       "type": "string"
      },
      "title": {
       "type": [
        "string",
        "null"
       ]
      },
      "author": {
       "type": [
        "string",
        "null"
       ]
      },
      "status": {
       "type": "integer"
      },
      "excerpt": {
       "type": "string"
      },
      "hostname": {
       "type": "string"
      },
      "final_url": {
       "type": "string"
      },
      "redirects": {
       "type": "array",
       "items": {
        "type": "object"
       }
      },
      "truncated": {
       "type": "boolean"
      },
      "fetched_at": {
       "type": "string"
      },
      "word_count": {
       "type": "integer"
      },
      "content_type": {
       "type": [
        "string",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/",
  "date": null,
  "text": "Example Domain. This domain is for use in illustrative examples.",
  "title": "Example Domain",
  "author": null,
  "status": 200,
  "excerpt": "Example Domain. This domain is for use in illustrative examples.",
  "hostname": "example.com",
  "final_url": "https://example.com/",
  "redirects": [],
  "truncated": false,
  "fetched_at": "2026-07-10T00:00:00.000Z",
  "word_count": 11,
  "content_type": "text/html"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/fabler-labs-web-scraper-x402-639859f1/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.fablerlabs.com](https://www.zero.xyz/host/x402.fablerlabs.com/llms.txt)
