# URL to JSON

> URL to JSON is a paid API for AI agents from k2so.wrong.systems, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Fetches a webpage by URL, extracts its text content using trafilatura, and returns structured JSON including topic, key points, entities, and summary.

## Facts

- Endpoint: GET https://k2so.wrong.systems/api/services/url-to-json
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/url-to-json-500bbfff
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_U2bqqOsw25SCu3D5XGJJv

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 url-to-json-500bbfff
```

Example prompt: Can you fetch this article URL and give me back structured JSON with the topic, key points, named entities, and a summary? Here's the URL: https://example.com/article-about-climate-change

## When to prefer this

Use this endpoint when you need clean, structured JSON from a single webpage URL — especially for article and blog content — and want automatic summarization, entity extraction, and key point identification without running your own NLP pipeline. Prefer it over raw scraping tools when you need structured output rather than raw HTML, and over general LLM summarization when you want a cost-effective, deterministic extraction pipeline backed by trafilatura.

## Known failure modes

- URL is unreachable or returns non-200 status — ok field will be false
- Paywalled or JavaScript-rendered pages may yield empty or partial text extraction
- Malformed or non-HTTP URL causes request rejection
- Payment not included triggers a 402 response requiring USDC payment
- Rate limiting or network timeout from the target server

## How this service works

Extract a webpage (title, author, text) with trafilatura and convert it into structured JSON: topic, key points, entities, summary. For agents that need clean data from a URL.

## Output

A JSON object containing the extracted webpage data: title, author, topic, key points (array), named entities, and a text summary. Also includes metadata fields like ok (boolean), service slug, confidence, score, and a generatedAt ISO-8601 timestamp.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "url": {
       "type": "string",
       "description": "Composite input parameter"
      },
      "meta": {
       "enum": [
        "0",
        "1"
       ],
       "type": "string",
       "description": "Set to 1 for free metadata JSON (no payment required)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "title": "URL to JSON paid response",
     "$schema": "https://json-schema.org/draft/2020-12/schema",
     "required": [
      "ok",
      "paid",
      "service",
      "provider",
      "result"
     ],
     "properties": {
      "ok": {
       "type": "boolean"
      },
      "paid": {
       "type": "boolean"
      },
      "result": {
       "type": "object",
       "required": [
        "ok",
        "service"
       ],
       "properties": {
        "ok": {
         "type": "boolean",
         "description": "Handler success"
        },
        "score": {
         "type": "number"
        },
        "service": {
         "type": "string",
         "description": "Service slug"
        },
        "summary": {
         "type": "string"
        },
        "evidence": {
         "type": "object"
        },
        "strengths": {
         "type": "array",
         "items": {
          "type": "string"
         }
        },
        "confidence": {
         "type": "string"
        },
        "generatedAt": {
         "type": "string",
         "description": "ISO-8601 timestamp"
        },
        "riskFactors": {
         "type": "array",
         "items": {
          "type": "string"
         }
        }
       }
      },
      "payment": {
       "type": "object",
       "properties": {
        "code": {
         "type": "string"
        },
        "payer": {
         "type": "string"
        },
        "detail": {
         "type": "string"
        },
        "selfPay": {
         "type": "bo
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "paid": true,
  "result": {
   "ok": true,
   "service": "url-to-json"
  },
  "service": "url-to-json",
  "provider": "K-2SO"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/url-to-json-500bbfff/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from k2so.wrong.systems](https://www.zero.xyz/host/k2so.wrong.systems/llms.txt)
