# Agent Tools Document Extract Upload

> Agent Tools Document Extract Upload is a paid API for AI agents from agents.crowdspark.me, paid per call via x402, $0.012/call, status unknown (last checked 2026-10-31).

Parses an uploaded PDF or image file (raw bytes, multipart, or base64) and extracts structured text, dates, amounts, totals, IDs, and tables

## Facts

- Endpoint: POST https://agents.crowdspark.me/v1/document/extract/upload?utm_source=zero.xyz
- Price: $0.012/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/agent-tools-document-extract-upload-20e0de22
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_qiWcAraP2Pkxnwabzr3bg

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 agent-tools-document-extract-upload-20e0de22 -d '<json body>'
```

Example prompt: Can you parse this PDF invoice I'm uploading and pull out all the line items, dates, totals, and any reference IDs from it?

## When to prefer this

Choose this endpoint when you need to upload a raw document file (PDF or image) directly as bytes, multipart, or base64, and receive structured field extraction including dates, amounts, totals, IDs, and tables in a single call. Prefer it over URL-based document parsing endpoints when the file is already in memory or on disk rather than accessible via a public URL. It is especially suited for invoices, receipts, statements, and scanned forms where structured financial and metadata fields are needed alongside raw text.

## Known failure modes

- HTTP 400 with a hint message if the file is corrupt, unsupported format, or exceeds size limits (20 MB for PDF, 10 MB for images)
- HTTP 400 if no text layer is present in a PDF and OCR is not applicable
- HTTP 400 if the content-type header is missing or mismatched
- Empty or partial extraction if the document has very low image quality or non-standard encoding
- Timeout or error for extremely large multi-page PDFs near the size limit

## How this service works

Document parsing from uploaded bytes. POST a raw PDF (max 20 MB, text layer) or PNG/JPEG/WebP image (max 10 MB, OCR) as the body with its content-type; multipart 'file' or JSON {"base64"} also work. Returns text plus dates, amounts, totals, IDs and tables. Bad files get HTTP 400 with a hint and are not charged. Samples: https://agents.crowdspark.me/samples/sample.pdf

## Output

A JSON object containing a 'kind' field (pdf or image), the full extracted 'text', a 'pages' count (null for images), and a 'fields' object with structured sub-arrays: totals (label+value pairs), amounts (currency strings), dates, IDs, and tables parsed from the document.

## 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": [],
     "properties": {}
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "image",
  "text": "TOTAL $12.40",
  "pages": null,
  "fields": {
   "totals": [
    {
     "label": "total",
     "value": "$12.40"
    }
   ],
   "amounts": [
    "$12.40"
   ]
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-tools-document-extract-upload-20e0de22/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from agents.crowdspark.me](https://www.zero.xyz/host/agents.crowdspark.me/llms.txt)
