Deduplicated feed digest
Merge RSS and Atom feeds, select working sources, fall back to supplied mirrors, remove repeated links and return a chronological digest with provenance.
Try extraction freeNo account. No API key. 0.002000 USDC per execution.
curl https://api.xguardgate.com/v1/execute \
-H 'content-type: application/json' \
-d '{"intent":"Get a technology news digest","limit":10}'The demo runs the real parser on labelled sample HTML.
What comes back
Up to 30 deduplicated entries, source attribution, publication times, coverage and digests.
When to use it
An agent or scheduled workflow needs one clean stream from several feeds, including coverage and failure reporting.
Limits
- Default sources are Hacker News and GitHub Changelog
- A feed entry is not a verified news claim
- No full-article reproduction or LLM summary
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: feed-digest
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": "Get a technology news digest",
"limit": 10
}
]
}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.