# Quant Agent Shop Structured Extraction

> Quant Agent Shop Structured Extraction is a paid API for AI agents from quantagentshop.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-23).

Extracts structured JSON fields from text, web pages, or PDFs according to a caller-supplied JSON Schema, with one automatic repair attempt if validation fails.

## Facts

- Endpoint: POST https://quantagentshop.com/v1/extract?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/quant-agent-shop-structured-extraction-8386900d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_LC5acEmk3EjgZPQSVC9Y-

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 quant-agent-shop-structured-extraction-8386900d -d '<json body>'
```

Example prompt: Extract the vendor name, invoice number, total amount, and line items from this invoice text and return them as structured JSON: 'Invoice #INV-2045 from Acme Supplies dated 2024-03-15. Item: 50x Widget A @ $4.00 = $200.00. Item: 10x Widget B @ $12.00 = $120.00. Total: $320.00.'

## When to prefer this

Choose this endpoint when you need to extract specific, schema-defined fields from text, HTML pages, or PDFs and want the output validated against a JSON Schema automatically. Prefer it over generic LLM extraction when you need guaranteed schema compliance and a deterministic structure. Not appropriate for free-form summaries (use /v1/summarize instead) or when the source document requires authentication or is behind a paywall.

## Known failure modes

- Schema exceeds 8,000 characters or 16 nesting levels — request rejected
- Text input exceeds 20,000 characters — truncated or rejected
- URL is not publicly accessible or returns non-200 — extraction fails
- JSON Schema uses disallowed keywords (pattern, patternProperties) — rejected
- Extracted content does not match schema after one repair attempt — error returned
- PDF is encrypted or requires authentication — extraction fails
- Ambiguous or missing fields in source content — fields may be null or omitted

## How this service works

Structured extraction. Send text (up to 20,000 characters; 20 KB of UTF-8 is read) or a public page or PDF URL, plus a JSON Schema (up to 8,000 characters, no pattern keywords, $ref only inside it); returns JSON checked against your schema, after one repair attempt if needed. Use to pull fields from invoices, listings, filings or emails. Not for free-form summaries (use /v1/summarize). Typical response 3 to 10 s. Failed calls are not charged.

## Output

A JSON object matching the caller-supplied JSON Schema, containing the fields extracted from the provided text or URL. If the initial extraction fails schema validation, one automatic repair attempt is made. If the call fails entirely, no charge is applied. Typical response time is 3–10 seconds.

## 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",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "json_schema"
     ],
     "properties": {
      "url": {
       "anyOf": [
        {
         "type": "string",
         "format": "uri",
         "maxLength": 2083,
         "minLength": 1
        },
        {
         "type": "null"
        }
       ],
       "title": "Url",
       "default": null,
       "description": "Or a public page or PDF to extract from. Send text or url."
      },
      "text": {
       "anyOf": [
        {
         "type": "string",
         "maxLength": 20000,
         "minLength": 1
        },
        {
         "type": "null"
        }
       ],
       "title": "Text",
       "default": null,
       "description": "The text to extract from."
      },
      "json_schema": {
       "type": "object",
       "title": "Json Schema",
       "description": "JSON Schema the result must match, up to 8,000 characters and 16 levels deep. No pattern or patternProperties; $ref only to #/ inside the schema, not recursive.",
       "additionalProperties": true
      },
      "instructions": {
       "anyOf": [
        {
         "type": "string",
         "maxLength": 1000
        },
        {
         "type": "null"
        }
       ],
       "title": "Instructions",
       "default": null,
       "description": "Optional: what to extract, in plain words."
      }
     },
     "additionalProperties": false
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST",
      "PUT",
      "PATCH"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/quant-agent-shop-structured-extraction-8386900d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from quantagentshop.com](https://www.zero.xyz/host/quantagentshop.com/llms.txt)
