# 17711 URL Extract with Question

> 17711 URL Extract with Question is a paid API for AI agents from api.17711.xyz, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-13).

Fetches a web page and answers a natural-language question about it, returning the answer as structured JSON validated against an optional schema

## Facts

- Endpoint: POST https://api.17711.xyz/registry/url-extract-service/v1/url-extract/get_structured_data?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/17711-url-extract-with-question-b8453857
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_185hpGHY_jiadWYUYEwEk

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 17711-url-extract-with-question-b8453857 -d '<json body>'
```

Example prompt: Go to https://stripe.com/pricing and extract the pricing plan names and their monthly costs as JSON — use the schema {"plans": [{"name": "string", "monthly_price_usd": "number"}]}.

## When to prefer this

Choose this endpoint when you need to extract structured, schema-validated data from a specific known URL by asking a natural language question about its content. It is ideal over generic scrapers when you want the answer shaped to a precise JSON schema with automatic correction. Prefer it over web search when you already have the exact URL and want a typed, validated answer rather than raw HTML or free-form text.

## Known failure modes

- URL is unreachable or returns an error (network error or 4xx/5xx response)
- Page content is JavaScript-rendered and not accessible via static fetch
- The answer cannot be coerced to satisfy the provided JSON schema, reported in remaining_issues
- Rate limiting or payment failure via x402 protocol
- The cached answer is stale and max_age_seconds is set too low for the page to be re-fetched in time
- Question is too ambiguous to produce a deterministic structured answer

## How this service works

URL extract with a question: ask any web page a question and get structured data as JSON that matches your schema

## Output

A JSON object containing the answer to the question, structured according to the provided JSON schema if one was given. Also includes information about the age of the cached answer and any remaining schema validation issues that could not be automatically corrected.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "Address of the web page to read (`http` or `https`)."
  },
  "schema": {
   "default": null,
   "description": "Optional JSON Schema the answer must satisfy. When given, the answer is validated against it\nand automatically corrected where a safe fix exists (type coercion, missing defaults,\nout-of-range numbers, unknown properties); anything that cannot be fixed is reported in\n`remaining_issues`. Omitted = a free-form JSON answer, returned as-is."
  },
  "question": {
   "type": "string",
   "description": "What to extract or answer, in plain language, e.g. \"list the pricing plans with their name\nand monthly price in USD\"."
  },
  "max_age_seconds": {
   "type": [
    "integer",
    "null"
   ],
   "format": "uint64",
   "default": null,
   "minimum": 0,
   "description": "The oldest answer you accept, in seconds. Omit it for the default (an identical question about\nthe same page up to 1 hour old); `0` forces a fresh read of the page and a fresh answer. The\nresponse always says how old it is."
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/17711-url-extract-with-question-b8453857/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.17711.xyz](https://www.zero.xyz/host/api.17711.xyz/llms.txt)
