# Agent Tools Document Extract (URL)

> Agent Tools Document Extract (URL) 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 a PDF or image URL using OCR and extracts full text plus structured fields (dates, amounts, totals, identifiers, tables, key-value pairs, emails, phones, URLs)

## Facts

- Endpoint: GET https://agents.crowdspark.me/v1/document/extract?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-url-7dfdd7c2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_hF79jWjMtehhC4en5Lpr5

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-url-7dfdd7c2
```

Example prompt: Can you parse this invoice PDF and pull out the invoice number, date, totals, and any other key fields? Here's the URL: https://example.com/invoice-1042.pdf

## When to prefer this

Use this endpoint when you have a publicly accessible URL pointing to a PDF or image document (invoice, receipt, form, statement, scanned page) and need both the raw text and structured field extraction in a single call. Prefer this over the POST upload variant when the document is already hosted at a reachable URL. Prefer this over general-purpose LLM vision when you need reliably structured output fields (amounts, dates, identifiers, tables) rather than free-form description.

## Known failure modes

- URL is not publicly accessible or requires authentication — returns an error
- URL does not point to a supported format (PDF, PNG, JPEG, WebP) — format error
- PDF has no extractable text layer and no embedded image for OCR — empty text result
- Document is too large or times out during download — timeout error
- Scanned image is too low resolution for accurate OCR — degraded field extraction
- Malformed or invalid URL — bad request error

## How this service works

Pay-per-call utilities for AI agents over x402, USDC on Base.

## Output

A JSON object containing: the document kind (pdf or image), the full extracted text, page count, character count, and a structured fields object with arrays of dates, email addresses, phone numbers, URLs, monetary amounts, totals (with labels like 'total', 'tax', 'amount due'), identifiers (invoice/order numbers), simple tables, and key-value pairs extracted 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"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "Public PDF or image URL"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "kind": "pdf",
  "text": "INVOICE\nInvoice #: INV-1042\nDate: 2026-10-01\nTotal: $1,250.00",
  "pages": 1,
  "fields": {
   "urls": [],
   "dates": [
    "2026-10-01"
   ],
   "emails": [],
   "phones": [],
   "tables": [],
   "totals": [
    {
     "label": "total",
     "value": "$1,250.00"
    }
   ],
   "amounts": [
    "$1,250.00"
   ],
   "key_values": {
    "Date": "2026-10-01",
    "Invoice": "INV-1042"
   },
   "identifiers": [
    "Invoice #: INV-1042"
   ]
  },
  "characters": 1840
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/agent-tools-document-extract-url-7dfdd7c2/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)
