# Strale Web Extract (JavaScript-Rendered)

> Strale Web Extract (JavaScript-Rendered) is a paid API for AI agents from api.strale.io, paid per call via x402, $0.162/call, status unknown (last checked 2026-10-09).

Extracts structured data from any web page using full JavaScript rendering, including SPAs and dynamically loaded content.

## Facts

- Endpoint: POST https://api.strale.io/x402/web-extract?utm_source=zero.xyz
- Price: $0.162/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-09
- Success rate: 0% of calls made through Zero
- Activations on Zero: 1
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-strale-io-d45a1fca
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_oC1HK2P2ep2pTI4oCwF-J

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 api-strale-io-d45a1fca -d '<json body>'
```

Example prompt: Go to https://example.com/products/laptop-x and extract the product name, price, availability, and technical specifications — the page uses JavaScript to load its content.

## When to prefer this

Choose this endpoint when the target web page uses JavaScript frameworks (React, Vue, Angular) or dynamic loading that means a plain HTTP fetch would return empty or skeleton HTML. Ideal for SPAs, infinite scroll pages, or any page where content only appears after JS execution. If the page is static HTML, a simpler HTTP-based scraper may be faster and cheaper.

## Known failure modes

- URL is unreachable or returns a non-200 status — extraction fails with an error
- Page requires authentication or login — returns empty or partial data
- JavaScript rendering timeout — page may load but dynamic content not fully populated
- Malformed URL input — returns validation error
- Extraction instruction too vague — may return incomplete or mismatched fields
- Anti-bot measures block the renderer — returns empty or error response

## How this service works

Extract structured data from any web page with full JavaScript rendering. Handles SPAs, dynamic content, and pages that require JS to load.

## Output

Returns structured data as specified by the natural language extraction instruction, pulled from the fully JavaScript-rendered version of the target URL. Fields are extracted and returned in a structured format matching the requested entities.

## Example request

```json
{
 "url": "https://example.com",
 "extract": "page title, main heading, and primary content summary"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "url"
 ],
 "properties": {
  "url": {
   "type": "string",
   "description": "URL to extract data from"
  },
  "extract": {
   "type": "string",
   "description": "What data to extract (natural language)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "data": {
  "type": "object"
 },
 "page_title": {
  "type": "string"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-strale-io-d45a1fca/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.strale.io](https://www.zero.xyz/host/api.strale.io/llms.txt)
