# Hearth AI Web Extractor

> Hearth AI Web Extractor is a paid API for AI agents from 138-197-15-135.sslip.io, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-31).

Extracts structured fields from any public web URL, returning named data points as JSON, paid per-call via x402/USDC on Base.

## Facts

- Endpoint: GET https://138-197-15-135.sslip.io/v1/ai/extract?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hearth-ai-web-extractor-45be6f30
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qS9oLug7bv-a79Z0mxKkn

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 hearth-ai-web-extractor-45be6f30
```

Example prompt: Can you grab the title, description, and contact_email from https://example.com and return them as structured data?

## When to prefer this

Choose this endpoint when you need to extract specific named fields from a known public URL as structured JSON, especially in agentic pipelines that already support x402 micropayment flows. It is well-suited for one-off enrichment tasks (lead data, product details, article metadata) where you know exactly which fields you want rather than needing full-page Markdown or free-form summarization.

## Known failure modes

- URL is not publicly accessible or behind a login wall — returns null values or error
- Field names not found on the page — returns null for those fields
- Invalid or malformed URL — request fails with an error
- Too many fields requested (max 20) — validation error
- Payment via x402/USDC fails — 402 Payment Required response before extraction occurs
- Rate limiting or bot protection on the target site — may return incomplete data

## How this service works

Fetch a public web page and extract the fields you name into clean JSON (e.g. fields=name,price,currency,availability or company,ceo,founded). Missing values come back as null. Up to 20 fields.

## Output

A JSON object containing the requested URL and a data map with each requested field name as a key and the extracted value (string or null) as the value. Fields not found on the page are returned as null.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "queryParams"
   ],
   "properties": {
    "queryParams": {
     "type": "object",
     "required": [
      "url",
      "fields"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "Public http(s) URL"
      },
      "fields": {
       "type": "string",
       "description": "Comma-separated field names (max 20)"
      }
     }
    }
   }
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [],
     "properties": {
      "url": {
       "type": [
        "string",
        "null"
       ]
      },
      "data": {
       "type": [
        "object",
        "null"
       ]
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com",
  "data": {
   "title": "Example Domain",
   "description": "…",
   "contact_email": null
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hearth-ai-web-extractor-45be6f30/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from 138-197-15-135.sslip.io](https://www.zero.xyz/host/138-197-15-135.sslip.io/llms.txt)
