# SignalHarness Web Extract

> SignalHarness Web Extract is a paid API for AI agents from signalharness.ai, paid per call via x402, $0.02/call, status unknown (last checked 2026-09-14).

Fetches and extracts structured content from a given HTTPS URL, returning visible text, links, images, headings, metadata, Open Graph tags, and JSON-LD data.

## Facts

- Endpoint: POST https://signalharness.ai/api/agent/services/web_extract/invoke
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signalharness-web-extract-b423d9d8
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap__c-ejM-Yn4d11DEK5zij5

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 signalharness-web-extract-b423d9d8 -d '<json body>'
```

Example prompt: Can you fetch and extract all the visible text, links, headings, and metadata from https://example.com/some-article so I can analyze what's on that page?

## When to prefer this

Choose this endpoint when you need to extract structured web content — text, links, images, headings, metadata, Open Graph, and JSON-LD — from a single HTTPS URL at low cost ($0.02 per call). Ideal for AI agents that need to read and process web pages programmatically without running a full browser. Prefer over general-purpose HTTP fetch when you want pre-parsed, structured output ready for downstream analysis.

## Known failure modes

- Non-HTTPS URLs are rejected by input schema validation
- URL longer than 2048 characters is rejected
- Target page may block automated requests (bot protection, CAPTCHAs), resulting in empty or partial content
- Network timeouts if target server is slow or unreachable
- JavaScript-rendered content may not be captured if page requires browser execution
- Payment failure results in no execution

## How this service works

Explore 330 pay-per-call x402 API services and 27 agent-native digital products, with Base USDC pricing, secure Polar checkout, and free discovery.

## Output

Returns a JSON object containing: visible text scraped from the page, arrays of links, images, headings, metadata entries, Open Graph properties, and JSON-LD objects found on the page, along with the source URL, execution receipt with payment details, latency metrics, a SHA-256 hash of the result, and status information.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "pattern": "^https://",
   "maxLength": 2048,
   "minLength": 9
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "replay": false,
  "result": {
   "links": [
    {
     "href": "example",
     "text": "Example caller-supplied content."
    }
   ],
   "images": [
    {
     "alt": "example",
     "src": "example"
    }
   ],
   "jsonLd": [
    "{\"example\":\"schema-valid caller-supplied data\"}"
   ],
   "headings": [
    {
     "text": "Example caller-supplied content.",
     "level": 1
    }
   ],
   "metadata": [
    {
     "name": "example",
     "value": "example"
    }
   ],
   "openGraph": [
    {
     "name": "example",
     "value": "example"
    }
   ],
   "sourceUrl": "example00",
   "visibleText": "example"
  },
  "status": "succeeded",
  "receipt": {
   "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
   "usage": [],
   "status": "succeeded",
   "network": "eip155:8453",
   "artifacts": [],
   "endedAtMs": 0,
   "latencyMs": 0,
   "paymentId": "example-payment",
   "receiptId": "example-receipt",
   "requestId": "example-request",
   "serviceId": "web_extract",
   "executionId": "example-execution",
   "startedAtMs": 0,
   "amountAtomic": "20000",
   "resultSha256": "00c362cc75297a51279588a83ceba25d5b265727f2057f5a22114ae792ef201b",
   "serviceVersion": "1.0.0",
   "settlementReference": "0x0000000000000000000000000000000000000000000000000000000000000000"
  },
  "artifacts": [],
  "requestId": "example-request",
  "executionId": "example-execution"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/signalharness-web-extract-b423d9d8/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from signalharness.ai](https://www.zero.xyz/host/signalharness.ai/llms.txt)
