# Claim Check Extract

> Claim Check Extract is a paid API for AI agents from claim-check.agent-utils.workers.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Extracts structured JSON from unstructured text (invoices, receipts, job posts, contacts, events) using a built-in preset or custom schema, paying per call via x402.

## Facts

- Endpoint: POST https://claim-check.agent-utils.workers.dev/v1/extract
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/claim-check-extract-30fcc11a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Hy4p1xvQrEKCN3fwegeln

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 claim-check-extract-30fcc11a -d '<json body>'
```

Example prompt: Parse this invoice text into structured JSON using the invoice preset — extract the seller, buyer, line items, totals, due date, and invoice number: 'Acme Tools Ltd | Invoice 2026-0142 | Bill to: Beta Corp | Widget Pro x1 @ £120, Cable x3 @ £9.50 | Subtotal £148.50 + VAT £29.70 = £178.20 | Due 2026-09-30, bank transfer 30 days'.

## When to prefer this

Choose this endpoint when you need to turn free-form document text (invoices, receipts, job postings, contacts, events) into typed, structured JSON without setting up an API key — especially in agentic pipelines that already handle x402 micropayments. It is ideal for one-off or low-volume extraction tasks where pay-per-call is preferable to a subscription. Prefer it over general-purpose LLM calls when you want a deterministic output schema and verbatim grounding from the source text.

## Known failure modes

- Text exceeds 200,000 character limit — request rejected
- Custom schema exceeds 8 KB limit — schema rejected
- Model quota exhausted for the day — check /health for current quota
- Payment not processed via x402 — 402 response returned
- Malformed or ambiguous text yields incomplete extraction with null fields
- Unsupported preset value causes validation error

## How this service works

Grounded verification and extraction for AI agents: fact-check a claim against a source with verbatim quotes, or turn invoices, receipts, job posts and any text into typed JSON. Pay per call over x402, no API key. Daily model quota published at /health.

## Output

A JSON object shaped by the chosen preset or custom schema containing all extracted fields (e.g. for invoices: seller, buyer, line items, subtotal, tax, total, due date, currency, invoice number), plus metadata including the model used, processing time in milliseconds, and character count of the input text.

## 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": [
      "POST"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "text"
     ],
     "properties": {
      "text": {
       "type": "string",
       "maxLength": 200000
      },
      "preset": {
       "enum": [
        "invoice",
        "receipt",
        "contact",
        "event",
        "job"
       ],
       "type": "string",
       "description": "Built-in schema to use"
      },
      "schema": {
       "type": "object",
       "description": "Your own JSON Schema (type object with properties), max 8 KB. Used instead of preset."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "data": {
       "type": "object",
       "description": "Object shaped by the preset or your schema"
      },
      "model": {
       "type": "string"
      },
      "preset": {
       "type": [
        "string",
        "null"
       ]
      },
      "modelMs": {
       "type": "integer"
      },
      "textChars": {
       "type": "integer"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": {
   "tax": 29.7,
   "iban": null,
   "buyer": {
    "name": "Beta Corp",
    "taxId": null,
    "address": null
   },
   "total": 178.2,
   "seller": {
    "name": "Acme Tools Ltd",
    "email": null,
    "taxId": "GB123456789",
    "address": null
   },
   "dueDate": "2026-09-30",
   "currency": "EUR",
   "subtotal": 148.5,
   "issueDate": "2026-09-01",
   "lineItems": [
    {
     "amount": 120,
     "quantity": 1,
     "unitPrice": 120,
     "description": "Widget Pro"
    },
    {
     "amount": 28.5,
     "quantity": 3,
     "unitPrice": 9.5,
     "description": "Cable"
    }
   ],
   "paymentTerms": "bank transfer, 30 days",
   "invoiceNumber": "2026-0142"
  },
  "model": "@cf/meta/llama-3.3-70b-instruct-fp8-fast",
  "preset": "invoice",
  "modelMs": 2100,
  "textChars": 230
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/claim-check-extract-30fcc11a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from claim-check.agent-utils.workers.dev](https://www.zero.xyz/host/claim-check.agent-utils.workers.dev/llms.txt)
