XGuard
PUBLIC SOURCES → USABLE OUTPUT

Multi-page evidence extraction

Turn up to three public pages into a deduplicated bundle of main text, titles, links, metadata and source digests, with optional backup sources.

Try extraction free

No account. No API key. 0.003000 USDC per execution.

ONE REQUEST TO START
curl https://api.xguardgate.com/v1/execute \
  -H 'content-type: application/json' \
  -d '{"intent":"Extract these pages","urls":["https://example.com/","https://www.iana.org/help/example-domains"]}'

The demo runs the real parser on labelled sample HTML.

What comes back

Normalized documents, duplicate groups, coverage, retrieval timestamps and source hashes.

When to use it

An agent needs several pages in one consistent evidence format and wants bounded fetching, fallback and provenance handled together.

Limits

Latency: measured figures are not yet available; source timeouts are bounded. No SLA.

Machine contract

Input and output schemas · OpenAPI: xguardExecute · MCP: xguard_execute · A2A skill: web-extraction

Input schema
{
  "type": "object",
  "properties": {
    "intent": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 3000
        },
        {
          "type": "object"
        }
      ]
    },
    "capability": {
      "type": "string",
      "enum": [
        "extract-preview",
        "web-extraction",
        "product-offers",
        "feed-digest"
      ]
    },
    "url": {
      "type": "string",
      "format": "uri"
    },
    "urls": {
      "type": "array",
      "maxItems": 3,
      "items": {
        "type": "string",
        "format": "uri"
      }
    },
    "sources": {
      "type": "array",
      "maxItems": 3,
      "items": {
        "oneOf": [
          {
            "type": "string",
            "format": "uri",
            "pattern": "^https://"
          },
          {
            "type": "object",
            "required": [
              "url"
            ],
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              },
              "fallbacks": {
                "type": "array",
                "maxItems": 1,
                "items": {
                  "type": "string",
                  "format": "uri"
                }
              }
            },
            "additionalProperties": false
          }
        ]
      }
    },
    "action": {
      "type": "string"
    },
    "desired_action": {
      "type": "string"
    },
    "html": {
      "type": "string",
      "maxLength": 12288
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "max_age_seconds": {
      "type": "integer",
      "minimum": 0,
      "maximum": 60,
      "default": 0
    },
    "query": {
      "type": "string",
      "maxLength": 200
    },
    "testnet": {
      "type": "boolean",
      "default": false
    },
    "input": {
      "type": "object"
    },
    "arguments": {
      "type": "object"
    },
    "name": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    },
    "operation": {
      "type": "object",
      "description": "Resolved read-only OpenAPI operation with URL, method and desired action; no remote spec fetching."
    },
    "http": {
      "type": "object"
    },
    "command": {
      "type": "string"
    },
    "task": {
      "type": "object"
    }
  },
  "additionalProperties": false,
  "description": "Use intent:'demo' for a free result. Paid outcomes accept supported English/Arabic intents with public sources. Unknown jobs return repair guidance; this is not a general-purpose language model.",
  "examples": [
    {
      "intent": "Extract these pages",
      "urls": [
        "https://example.com/",
        "https://www.iana.org/help/example-domains"
      ]
    }
  ]
}
Output schema
{
  "type": "object",
  "required": [
    "ok",
    "intent",
    "capability",
    "result",
    "verification",
    "cost",
    "receipt"
  ],
  "properties": {
    "ok": {
      "const": true
    },
    "intent": {
      "type": "object"
    },
    "capability": {
      "type": "string"
    },
    "result": {
      "type": "object"
    },
    "verification": {
      "type": "object"
    },
    "cost": {
      "type": "object"
    },
    "receipt": {
      "type": [
        "object",
        "null"
      ]
    }
  }
}

Less work between intent and result.

01 / DESCRIBE

Tell us the outcome.

Send pages, product URLs or feeds. For a technology digest, the source set is already provided.

02 / AUTHORIZE

See the exact price.

A paid request returns a signed 402. Your funded x402 client authorizes that request and retries it automatically.

03 / USE

Get a consistent answer.

Receive normalized records, coverage, source digests and a signed receipt. Identical paid retries recover the stored outcome.

A signed source digest records what was observed. It does not prove that an article is true, a merchant price is current at checkout, or multiple pages are independent sources.

Bring your agent.

REST: POST /v1/execute · MCP: xguard_execute · A2A skills · Short agent instructions

JavaScript and Python examples
// JavaScript: free first result
const response = await fetch('https://api.xguardgate.com/v1/execute', {
  method: 'POST', headers: {'content-type': 'application/json'},
  body: JSON.stringify({intent: 'demo'})
});
console.log(await response.json());

# Python: free first result
import requests
print(requests.post('https://api.xguardgate.com/v1/execute', json={'intent': 'demo'}).json())

Cursor · VS Code · Claude Code · Codex configuration

Installing an MCP server does not supply a funded wallet. Advanced scoped vendor actions and operator credits remain at operator pricing.