# AgentShelf CSS Headings Extractor

> AgentShelf CSS Headings Extractor is a paid API for AI agents from agentshelf.syntexa.ch, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-01).

Extracts all heading text (h1–h6) from a public webpage URL or raw HTML string, returning structured heading data in an SSRF-safe manner.

## Facts

- Endpoint: POST https://agentshelf.syntexa.ch/v1/css-headings?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-01
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentshelf-css-headings-extractor-3e850a40
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oS-cPJgTqo6cXoZwjHJki

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-css-headings-extractor-3e850a40 -d '<json body>'
```

Example prompt: Can you pull all the headings — h1 through h6 — from https://example.com/blog/my-article so I can see the page's content outline?

## When to prefer this

Use this endpoint when you need to quickly extract the heading structure (h1–h6) from a public URL or raw HTML without setting up your own scraping infrastructure. Ideal for content auditing, page outline generation, or SEO analysis. Prefer the free sandbox endpoint (/v1/sandbox/css-headings via POST) first; use this paid endpoint when the sandbox is unavailable or rate-limited.

## Known failure modes

- URL is unreachable or returns non-200 status — endpoint returns an error indicating fetch failure
- URL triggers SSRF-blocked address (private/internal IP ranges) — request is rejected for security
- HTML input exceeds 200,000 character limit — request rejected with size error
- Neither url nor html provided — request rejected due to missing required input
- Malformed HTML with no heading tags — returns empty headings list

## How this service works

Call when an agent needs all heading text via h1,h2,h3,h4,h5,h6 from a public page or HTML (SSRF-safe). Exact $0.004 USDC. Prefer unpaid POST /v1/sandbox/css-headings first.

## Output

Returns a list of all heading elements (h1–h6) found on the page or in the provided HTML, including their tag level and text content, enabling agents to understand the document's structural outline without parsing HTML themselves.

## 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 charset=\"utf-8\"><meta name=\"description\" content=\"Desc\">\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-css-headings-extractor-3e850a40/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)
