# Reducto Document Parse via PaySponge

> Reducto Document Parse via PaySponge is a paid API for AI agents from api.paysponge.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-13).

Parses documents (PDF, URLs, uploads) into structured chunks with content, embeddings, and optional AI enrichment via a pay-per-call x402 endpoint

## Facts

- Endpoint: POST https://api.paysponge.com/x402/purchase/svc_d672d90ggvqqygj60/parse
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/reducto-document-parse-via-paysponge-34d02508
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_XMawl9bzzKrqpv0l7N_VS

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 reducto-document-parse-via-paysponge-34d02508 -d '<json body>'
```

Example prompt: Parse this PDF for me — https://example.com/report.pdf — and break it into chunks with embedding-ready text so I can load it into my vector database.

## When to prefer this

Use this endpoint when you need to parse PDFs or documents into AI-ready chunks with embedding text and optional table/figure enrichment, especially in RAG or document intelligence pipelines. Prefer this over raw OCR tools when you need structured, chunked output with embed fields. Use when you need to pay per-call without a subscription via x402/crypto.

## Known failure modes

- Invalid or inaccessible document URL returns an error
- Document too large or page count exceeds quota
- Malformed input schema returns 422 validation error
- Payment not fulfilled returns 402 Payment Required
- Timeout on very large documents
- Agentic enrichment fails for complex tables/figures — enrichment_success will be false

## How this service works

Service: Reducto (https://api.paysponge.com/parse)

## Output

Returns a ParseResponse containing a job_id, processing duration, page usage stats, and a result object with an array of chunks — each chunk has raw content, embed-optimized text, enriched content, and underlying block-level data. May also return OCR word/line data and custom extraction fields.

## Request schema (JSON Schema)

```json
{
 "oneOf": [
  {
   "type": "object",
   "title": "SyncParseConfig",
   "required": [
    "input"
   ],
   "properties": {
    "input": {
     "anyOf": [
      {
       "type": "string"
      },
      {
       "type": "array",
       "items": {
        "type": "string"
       }
      },
      {
       "type": "object",
       "title": "UploadResponse",
       "required": [
        "file_id"
       ],
       "properties": {
        "file_id": {
         "type": "string",
         "title": "File Id"
        },
        "presigned_url": {
         "anyOf": [
          {
           "type": "string"
          },
          {
           "type": "null"
          }
         ],
         "title": "Presigned Url"
        }
       }
      }
     ],
     "title": "Input",
     "description": "For parse/split/extract pipelines, the URL of the document to be processed. You can provide one of the following:\n            1. A publicly available URL\n            2. A presigned S3 URL\n            3. A reducto:// prefixed URL obtained from the /upload endpoint after directly uploading a document\n            4. A jobid:// prefixed URL obtained from a previous /parse invocation\n            5. A list of URLs (for multi-document pipelines, V3 API only)\n\n            For edit pipelines, this should be a string containing the edit instructions"
    },
    "enhance": {
     "type": "object",
     "title": "Enhance",
     "properties": {
      "agentic": {
       "type": "array",
       "items": {
        "anyOf": [
         {
          "type": "object",
          "title": "TableAgentic",
          "required": [
           "scope"
          ],
          "properties": {
           "scope": {
            "type": "string",
            "const": "table",
            "title": "Scope"
           },
           "prompt": {
            "anyOf": [
             {
              "type": "string"
             },
             {
              "type": "null"
             }
            ],
            "title": "Prompt",
            "description": "Custom prompt for table agentic."
           }
          }
         },
         {
          "type": "object",
          "title": "FigureAgentic",
          "required": [
           "scope"
          ],
          "properties": {
           "scope": {
            "type": "string",
            "const": "figure",
            "title": "Scope"
           },
           "prompt": {
            "anyOf": [
             {
              "type": "string"
             },
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "anyOf": [
  {
   "type": "object",
   "title": "ParseResponse",
   "required": [
    "job_id",
    "duration",
    "usage",
    "result"
   ],
   "properties": {
    "usage": {
     "type": "object",
     "title": "ParseUsage",
     "required": [
      "num_pages"
     ],
     "properties": {
      "credits": {
       "anyOf": [
        {
         "type": "number"
        },
        {
         "type": "null"
        }
       ],
       "title": "Credits"
      },
      "num_pages": {
       "type": "integer",
       "title": "Num Pages"
      },
      "credit_breakdown": {
       "anyOf": [
        {
         "type": "object",
         "additionalProperties": {
          "type": "number"
         }
        },
        {
         "type": "null"
        }
       ],
       "title": "Credit Breakdown"
      }
     }
    },
    "job_id": {
     "type": "string",
     "title": "Job Id"
    },
    "result": {
     "anyOf": [
      {
       "type": "object",
       "title": "FullResult",
       "required": [
        "type",
        "chunks"
       ],
       "properties": {
        "ocr": {
         "anyOf": [
          {
           "type": "object",
           "title": "OCRResult",
           "required": [
            "words",
            "lines"
           ],
           "properties": {
            "lines": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/OCRLine"
             },
             "title": "Lines"
            },
            "words": {
             "type": "array",
             "items": {
              "$ref": "#/components/schemas/OCRWord"
             },
             "title": "Words"
            }
           }
          },
          {
           "type": "null"
          }
         ]
        },
        "type": {
         "type": "string",
         "const": "full",
         "title": "Type",
         "description": "type = 'full'"
        },
        "chunks": {
         "type": "array",
         "items": {
          "type": "object",
          "title": "ParseChunk",
          "required": [
           "content",
           "embed",
           "enriched",
           "blocks"
          ],
          "properties": {
           "embed": {
            "type": "string",
            "title": "Embed",
            "description": "Chunk content optimized for embedding and retrieval."
           },
           "blocks": {
            "type": "array",
            "items": {
             "$ref": "#/components/schemas/
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/reducto-document-parse-via-paysponge-34d02508/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.paysponge.com](https://www.zero.xyz/host/api.paysponge.com/llms.txt)
