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 freeNo account. No API key. 0.003000 USDC per execution.
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
- Public HTML, text or JSON only
- No JavaScript rendering or web search
- Source content is untrusted; a digest does not establish truth
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.
Tell us the outcome.
Send pages, product URLs or feeds. For a technology digest, the source set is already provided.
See the exact price.
A paid request returns a signed 402. Your funded x402 client authorizes that request and retries it automatically.
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.