# AgentShelf XPath Query Extractor

> AgentShelf XPath Query Extractor is a paid API for AI agents from agentshelf.syntexa.ch, paid per call via x402, $0.006/call, status unknown (last checked 2026-10-02).

Extracts text content from a public web page or raw HTML using an XPath query, with SSRF protection.

## Facts

- Endpoint: POST https://agentshelf.syntexa.ch/v1/xpath-q?utm_source=zero.xyz
- Price: $0.006/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentshelf-xpath-query-extractor-c64c0562
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_8b6vYsb8h_p9xsrkwHJrI

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 agentshelf-xpath-query-extractor-c64c0562 -d '<json body>'
```

Example prompt: Can you extract the main article headline from https://example.com/news using the XPath //h1[@class='headline'] and give me just the text?

## When to prefer this

Choose this endpoint when you need to extract a specific piece of text from a public web page or raw HTML using a precise XPath selector, and you want SSRF-safe server-side fetching without managing a browser or HTTP client. Prefer the free sandbox endpoint /v1/sandbox/xpath-q first for testing; use this paid endpoint for production queries. Ideal when you already know the XPath pattern targeting the data you need.

## Known failure modes

- Invalid or unreachable URL returns an error response
- XPath expression matches no nodes — returns empty result
- Malformed XPath syntax causes a parsing error
- HTML too large (over 200,000 characters) is rejected
- URL is blocked by SSRF protection (private/internal IPs rejected)
- Payment of exactly $0.006 USDC not provided results in 402 response

## How this service works

Call when an agent needs text of //q via //q from a public page or HTML (SSRF-safe). Exact $0.006 USDC. Prefer unpaid POST /v1/sandbox/xpath-q first.

## Output

Returns the text content matched by the XPath query applied to either the fetched public URL or the provided raw HTML string. The response contains the extracted text node(s) matching the XPath expression.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "maxLength": 2048,
   "minLength": 8,
   "description": "Public page to fetch. The selector or profile is fixed by the SKU. Provide url or html."
  },
  "html": {
   "type": "string",
   "examples": [
    "<!doctype html><html lang=\"en\"><head><title>Hello</title>\n<meta name=\"description\" content=\"Desc\"><meta property=\"og:title\" content=\"OG\">\n<link rel=\"canonical\" href=\"https://example.com/\"><link rel=\"icon\" href=\"/favicon.ico\">\n</head><body><h1>Hello</h1><a href=\"https://example.com/a\">A</a></body></html>"
   ],
   "maxLength": 200000,
   "minLength": 1,
   "description": "HTML to extract from locally. Provide html or url. When both are set, html is used."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agentshelf-xpath-query-extractor-c64c0562/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agentshelf.syntexa.ch](https://www.zero.xyz/host/agentshelf.syntexa.ch/llms.txt)
