# SignalHarness Link Graph Extractor

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

Extracts a structured link graph from a webpage, returning nodes, edges, internal links, external links, anchors, and link counts.

## Facts

- Endpoint: POST https://signalharness.ai/api/agent/services/link_graph_extract/invoke
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/signalharness-link-graph-extractor-26041606
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_xCvBav40GeA_rXWjk8beD

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-link-graph-extractor-26041606 -d '<json body>'
```

Example prompt: Can you pull out all the internal and external links from https://example.com/blog and give me the full link graph — nodes, edges, anchors, everything?

## When to prefer this

Choose this endpoint when you need a structured, machine-readable link graph — including node/edge topology, internal vs. external link classification, anchor data, and deduplication stats — rather than a simple flat list of hyperlinks. It is well-suited for agent workflows that need to reason about page link structure programmatically, feed links into downstream crawlers, or audit SEO linking patterns at $0.01 per call.

## Known failure modes

- Invalid or unreachable URL returns an error or empty graph
- HTML content exceeding 65,536 characters is rejected
- URL not matching ^https:// pattern causes validation failure
- Missing both url and html fields may cause a failed invocation
- Payment failure results in no execution and a failed receipt status

## 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: graph nodes and edges representing the link structure, an array of anchor elements, arrays of internal and external links, total link count, duplicate link count, and unique destination count — plus a payment receipt with execution metadata, latency, and a SHA-256 result hash.

## Request schema (JSON Schema)

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

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "replay": false,
  "result": {
   "edges": [
    "example"
   ],
   "nodes": [
    "example"
   ],
   "anchors": [
    "example"
   ],
   "baseUrl": "example00",
   "linkCount": 0,
   "externalLinks": [
    "example"
   ],
   "internalLinks": [
    "example"
   ],
   "duplicateCount": 0,
   "uniqueDestinationCount": 0
  },
  "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": "link_graph_extract",
   "executionId": "example-execution",
   "startedAtMs": 0,
   "amountAtomic": "10000",
   "resultSha256": "b02ed9f247a705573b6f2f8f5ca89f178d4d23ccd6da547fd05490e8ffb0b53e",
   "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-link-graph-extractor-26041606/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)
