# Soren Structured Text Extraction

> Soren Structured Text Extraction is a paid API for AI agents from soren.com, paid per call via x402, $0.03/call, status unknown (last checked 2026-09-15).

Extracts named fields from unstructured text as guaranteed-valid JSON, with server-side validation ensuring no missing keys or parse errors

## Facts

- Endpoint: POST https://soren.com/v1/ai/extract
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/soren-structured-text-extraction-97b42435
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_OCQKJ6DH288b2_kq12dPG

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 soren-structured-text-extraction-97b42435 -d '<json body>'
```

Example prompt: Extract the vendor name, invoice number, total amount, and due date from this invoice text: 'Invoice #4821 from Acme Corp dated March 3 2025, total due $1,240.00 by April 1 2025.' Return them as validated JSON with fields vendor,invoice_number,total,due_date.

## When to prefer this

Choose this endpoint when you need guaranteed-valid structured JSON from unstructured text and cannot tolerate missing keys or parse errors. It is ideal for agentic pipelines where downstream code depends on every field being present. The server-side validation guarantee and zero-cost failed inference make it safer than rolling your own LLM extraction prompt, especially for document processing workflows like invoice parsing, form extraction, or entity identification where correctness matters more than cost.

## Known failure modes

- More than 12 fields requested — request rejected
- Text body is empty or missing — no extractable content
- Fields query parameter omitted — 400 bad request
- Inference fails server-side validation — no charge, but no result returned
- Network timeout on large text inputs
- Ambiguous field names may produce null even when data is present

## How this service works

Named fields pulled out of unstructured text as GUARANTEED-VALID JSON. POST the text as the raw body with fields=comma,separated,names (max 12). Every requested field is present in the answer — null when the text does not contain it — and the JSON is validated server-side BEFORE you are charged: no parse errors, no missing keys, ever. A failed inference costs nothing.

## Output

A validated JSON object containing every requested field name as a key. Fields found in the text carry their extracted string or numeric value; fields absent from the text are explicitly set to null. The response is guaranteed to have no missing keys and no JSON parse errors — invalid inferences are rejected server-side before billing.

## Request schema (JSON Schema)

```json
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "fields"
     ],
     "properties": {
      "fields": {
       "type": "string",
       "examples": [
        "vendor,invoice_number,total,due_date"
       ],
       "description": "Comma-separated field names to extract, max 12."
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/soren-structured-text-extraction-97b42435/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from soren.com](https://www.zero.xyz/host/soren.com/llms.txt)
