# AgentShelf CSS Caption Extractor

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

Extracts table caption text from a public webpage or raw HTML using the CSS `caption` selector

## Facts

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

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-caption-extractor-f32baf56 -d '<json body>'
```

Example prompt: Can you pull out all the table caption texts from this page: https://example.com/data-tables — I need the caption text that labels each table on that page.

## When to prefer this

Use this endpoint when you specifically need to extract `<caption>` element text from HTML tables on a public webpage or from raw HTML content. It is purpose-built for the CSS caption selector, SSRF-safe for public URLs, and costs only $0.007 USDC per call. Prefer this over a general-purpose scraper when you only need table caption text and want a lightweight, cheap extraction. Note: a free sandbox alternative at POST /v1/sandbox/css-caption should be tried first when available.

## Known failure modes

- No caption elements found on the page — returns empty result
- Invalid or unreachable URL — returns fetch/network error
- HTML input exceeds 200,000 character limit — returns validation error
- SSRF-blocked URL (private/internal IP ranges) — returns security rejection
- Malformed HTML that cannot be parsed — may return empty or partial results

## How this service works

Call when an agent needs table caption text via caption from a public page or HTML (SSRF-safe). Exact $0.007 USDC. Prefer unpaid POST /v1/sandbox/css-caption first.

## Output

Returns the extracted caption text found via the CSS `caption` selector from the provided URL or HTML content — typically a list of caption strings corresponding to each `<caption>` element in the page's tables.

## 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-caption-extractor-f32baf56/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)
