# ZeroClick PDF Extraction API Quote & Purchase Guide

> ZeroClick PDF Extraction API Quote & Purchase Guide is a free API for AI agents from extract.pay.zeroclick.io, callable via x402, Free, status unknown (last checked 2026-10-31).

Returns a free, wallet-proof quote with pricing, contract details, and next steps for using the pay-per-use PDF text/table extraction API — no purchase is made.

## Facts

- Endpoint: POST https://extract.pay.zeroclick.io/zeroclick/agent/quote?utm_source=zero.xyz
- Price: Free
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Provider: extract.pay.zeroclick.io
- Website: https://extract.pay.zeroclick.io
- Tags: x402
- Canonical page: https://www.zero.xyz/c/extract-pay-zeroclick-io-zeroclick-pdf-extraction-api-quote-purchase-8765082c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fViIX3Hwax9tW8XJHmw2d

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 extract-pay-zeroclick-io-zeroclick-pdf-extraction-api-quote-purchase-8765082c -d '<json body>'
```

Example prompt: Before I commit to anything, can you get me a quote for extracting text and tables from about 50 PDFs using the ZeroClick extract proxy, with a budget of $10 USD and x402 as the payment method?

## When to prefer this

Use this endpoint before purchasing any PDF extraction API calls through ZeroClick — it is always free ($0), requires no wallet, and returns the exact contract, pricing, and setup steps. Prefer it over calling the paid extraction endpoints directly when you need to plan a budget, verify prerequisites, or explore options without committing funds.

## Known failure modes

- goal field missing or empty — returns validation error
- goal too long (over 2000 characters) — truncation or rejection
- unsupported task type — status returns 'unsupported'
- service temporarily unavailable — status returns 'unavailable'
- budgetUsd format incorrect (non-numeric or wrong pattern) — schema validation error
- quantity out of range (less than 1 or over 1,000,000) — schema validation error

## How this service works

Describe your task to get the matching API contract, prices, prerequisites and next steps. This is a $0 wallet-proof lookup, not the seller's paid service. No purchase is executed. Without a wallet, use /zeroclick/agent/guide.

## Output

A JSON response containing a status (quoted/ready/needs_input/blocked/etc.), a priceUsd of '0' confirming no charge, a Markdown guide with task result, exact API contract, per-call pricing, prerequisites, and next steps, plus a guideUrl for wallet-free follow-up planning.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "goal"
 ],
 "properties": {
  "goal": {
   "type": "string",
   "maxLength": 2000,
   "minLength": 1,
   "description": "Describe the task and known inputs. Do not include credentials."
  },
  "payment": {
   "enum": [
    "x402",
    "mpp",
    "card"
   ],
   "type": "string",
   "description": "Known payment method for the eventual purchase, independent of this free lookup's wallet proof."
  },
  "quantity": {
   "type": "integer",
   "maximum": 1000000,
   "minimum": 1,
   "description": "Number of API calls, not returned items. Omit when unknown; describe desired output in goal."
  },
  "budgetUsd": {
   "type": "string",
   "pattern": "^(0|[1-9]\\d{0,8})(\\.\\d{1,6})?$",
   "description": "Total cash budget in USD. A quote does not authorize spending."
  },
  "requirements": {
   "type": "string",
   "maxLength": 300,
   "minLength": 1
  },
  "humanAvailable": {
   "type": "boolean",
   "description": "Whether a human is in the loop. False recommends anonymous auth for a new autonomous identity; omit when unknown. Executing a human's request without further interruptions does not by itself mean false."
  },
  "budgetExclusive": {
   "type": "boolean"
  },
  "reviewAfterCalls": {
   "type": "integer",
   "maximum": 1000000,
   "minimum": 1
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "status",
  "priceUsd",
  "guide",
  "guideUrl"
 ],
 "properties": {
  "guide": {
   "type": "string",
   "description": "Markdown guidance containing the task result, exact contract, pricing and next steps when available. No purchase is executed."
  },
  "status": {
   "enum": [
    "quoted",
    "catalog",
    "ready",
    "needs_input",
    "blocked",
    "unknown",
    "unsupported",
    "unavailable"
   ],
   "type": "string"
  },
  "guideUrl": {
   "type": "string",
   "format": "uri",
   "description": "Wallet-free advisor endpoint for further planning or recovery."
  },
  "priceUsd": {
   "type": "string",
   "const": "0"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/extract-pay-zeroclick-io-zeroclick-pdf-extraction-api-quote-purchase-8765082c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from extract.pay.zeroclick.io](https://www.zero.xyz/host/extract.pay.zeroclick.io/llms.txt)
