# Fresh402 Web Intelligence API – Web Extraction

> Fresh402 Web Intelligence API – Web Extraction is a paid API for AI agents from fresh402.kirilllabs.workers.dev, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-11).

Extracts text, links, headings, structured data, and metadata from any public HTTPS URL via a paid on-demand HTTP request, without browser rendering or LLM inference.

## Facts

- Endpoint: POST https://fresh402.kirilllabs.workers.dev/v2/extract?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/fresh402-web-intelligence-api-web-extraction-687cd9ee
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_eolmYMnJQYrOZkpx7WQgA

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 fresh402-web-intelligence-api-web-extraction-687cd9ee -d '<json body>'
```

Example prompt: Fetch the full text, all links, and any structured data from https://en.wikipedia.org/wiki/Octopus — limit the result to 10000 characters and skip the navigation and footer sections.

## When to prefer this

Choose this endpoint when you need structured, parseable web content (text, links, headings, structured data) from a known public URL without spinning up a headless browser. It is ideal for lightweight, on-demand scraping of static or server-rendered HTML pages where you want a content hash for change detection and don't need JavaScript execution or AI inference. Prefer it over browser-based scrapers when speed and cost matter and the page renders server-side.

## Known failure modes

- URL uses non-443 port or embedded credentials — request rejected
- Target is a private or non-public host — rejected by policy
- URL returns non-200 status — extraction fails with error
- Page requires JavaScript rendering — content may be incomplete or empty
- Content exceeds max_chars limit — result is truncated and truncated flag is set true
- Invalid CSS selector syntax — selector ignored or error returned
- Network timeout on target URL — request fails

## How this service works

Fresh402 2.0.0: durable payment results, private recovery, public web extraction, structural comparison and backward-compatible freshness. On-demand requests; no browser rendering or LLM inference.

## Output

Returns a JSON object containing the page title, extracted text content (up to the specified character limit), a list of headings with their levels, an array of links, embedded structured data (e.g. JSON-LD), the final resolved URL after redirects, canonical URL, meta description, a SHA-256 hash of the content, content kind (e.g. 'html'), and a truncation flag indicating whether the content was cut off.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "format": "uri",
   "pattern": "^[Hh][Tt][Tt][Pp][Ss]://",
   "maxLength": 4096,
   "description": "Public HTTPS URL on port 443; embedded credentials and private targets are rejected."
  },
  "selector": {
   "type": "string",
   "maxLength": 256,
   "minLength": 1
  },
  "max_chars": {
   "type": "integer",
   "default": 20000,
   "maximum": 50000,
   "minimum": 100
  },
  "include_links": {
   "type": "boolean",
   "default": true
  },
  "ignore_selectors": {
   "type": "array",
   "items": {
    "type": "string",
    "maxLength": 256,
    "minLength": 1
   },
   "maxItems": 20
  },
  "ignore_json_paths": {
   "type": "array",
   "items": {
    "type": "string",
    "pattern": "^\\/",
    "maxLength": 256,
    "minLength": 1
   },
   "maxItems": 20
  },
  "include_structured_data": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://example.com/",
  "data": null,
  "hash": "1111111111111111111111111111111111111111111111111111111111111111",
  "text": "Example Domain",
  "links": [],
  "title": "Example Domain",
  "headings": [
   {
    "text": "Example Domain",
    "level": 1
   }
  ],
  "final_url": "https://example.com/",
  "truncated": false,
  "description": null,
  "text_length": 14,
  "content_kind": "html",
  "canonical_url": null,
  "structured_data": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/fresh402-web-intelligence-api-web-extraction-687cd9ee/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from fresh402.kirilllabs.workers.dev](https://www.zero.xyz/host/fresh402.kirilllabs.workers.dev/llms.txt)
