# AgentShelf JSON-LD Article Extractor

> AgentShelf JSON-LD Article Extractor is a paid API for AI agents from agentshelf.syntexa.ch, paid per call via x402, $0.002/call, status unknown (last checked 2026-09-29).

Extracts JSON-LD structured data of type Article, NewsArticle, or BlogPosting from a public URL or raw HTML input, with SSRF protection.

## Facts

- Endpoint: POST https://agentshelf.syntexa.ch/v1/profile-jsonld-article?utm_source=zero.xyz
- Price: $0.002/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agentshelf-json-ld-article-extractor-c731b108
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_D1zRPC6N5LGGX3nCWMXqo

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-json-ld-article-extractor-c731b108 -d '<json body>'
```

Example prompt: Can you extract the JSON-LD Article structured data from this news page — https://www.bbc.com/news/world-us-canada-12345678 — and give me the headline, author, and publish date?

## When to prefer this

Choose this endpoint when you need to extract schema.org-compliant Article, NewsArticle, or BlogPosting JSON-LD structured data from a web page or HTML fragment. It is SSRF-safe, making it suitable for agent pipelines processing arbitrary user-supplied URLs. Prefer the free sandbox endpoint (/v1/sandbox/profile-jsonld-article) for testing; use this paid endpoint ($0.002 USDC) for production workloads. It is more targeted than a general HTML scraper — use it specifically when you need schema.org article metadata, not arbitrary page content.

## Known failure modes

- URL is unreachable or returns non-200 status — extraction fails with an error
- No JSON-LD of type Article/NewsArticle/BlogPosting present on the page — returns empty result
- HTML input exceeds 200,000 character limit — request rejected
- URL blocked by SSRF protection (private/internal IP ranges) — request rejected
- Malformed or invalid URL input — validation error returned

## How this service works

Call when an agent needs JSON-LD @type Article, NewsArticle, or BlogPosting extracted from a public page or HTML (SSRF-safe). Exact $0.002 USDC. Prefer unpaid POST /v1/sandbox/profile-jsonld-article first.

## Output

Returns the parsed JSON-LD object(s) of @type Article, NewsArticle, or BlogPosting found on the page or in the provided HTML, including fields such as headline, author, datePublished, dateModified, description, publisher, and articleBody as available in the source markup.

## 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-json-ld-article-extractor-c731b108/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)
