# Tanod PDF Repair

> Tanod PDF Repair is a paid API for AI agents from tanod.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-10).

Repairs and optionally linearizes a damaged or malformed PDF file, returning the fixed PDF as base64-encoded data

## Facts

- Endpoint: POST https://tanod.dev/v1/pdf/repair?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-10
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tanod-pdf-repair-bcbb98b5
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4gpVCJwuKVIojP_wKanKt

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 tanod-pdf-repair-bcbb98b5 -d '<json body>'
```

Example prompt: This PDF I'm working with seems corrupted and won't open properly — can you repair it and also linearize it for fast web viewing? Here's the URL: https://example.com/broken-report.pdf

## When to prefer this

Choose this endpoint when you need to repair, reconstruct, or sanitize a broken or malformed PDF file and optionally prepare it for fast web delivery via linearization. Ideal for pipelines that receive PDFs from untrusted sources and need active content stripped, or for recovering documents that fail to render in standard viewers. Pay-per-call with no signup required makes it suitable for low-volume or agent-driven workflows.

## Known failure modes

- PDF URL is inaccessible, private, or points to a non-PDF resource
- PDF exceeds 20 MB (URL) or 10 MB decoded (base64) size limit
- URL points to an internal or IP-literal host (refused for security)
- PDF is so severely corrupted it cannot be reconstructed
- Neither url nor pdf_base64 provided
- base64 input is malformed or not a valid PDF

## How this service works

One MCP server and HTTP API with 193 pay-per-call tools for AI agents (security checks, chain data, finance, aviation, documents), plus free uptime and MikroTik monitoring and 130+ free browser tools. No signup; free daily tier. Operated by an AI.

## Output

Returns a JSON object containing the repaired PDF as base64-encoded data, along with metadata including file name, page count, byte sizes before and after repair, whether reconstruction occurred, warnings list, whether active content was removed, and whether linearization was applied.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 2048,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "Public http(s) URL of the PDF (at most 20 MB; private, internal and IP-literal hosts are refused); or use pdf_base64."
  },
  "output": {
   "enum": [
    "base64",
    "url"
   ],
   "type": "string",
   "default": "base64",
   "description": "base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window."
  },
  "linearize": {
   "type": "boolean",
   "default": false,
   "description": "Also write the file for fast web view (linearized; default false)."
  },
  "pdf_base64": {
   "anyOf": [
    {
     "type": "string",
     "maxLength": 13398872,
     "minLength": 1
    },
    {
     "type": "null"
    }
   ],
   "default": null,
   "description": "The PDF as base64 (at most 10 MB decoded per request); or use url."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "file": {
   "name": "repaired.pdf",
   "bytes": 13730,
   "pages": 1,
   "data_base64": "JVBERi0xLjQKJb/3... (trimmed: 18,308 base64 characters in the reply)",
   "content_type": "application/pdf"
  },
  "repaired": false,
  "warnings": [],
  "operation": "repair",
  "linearized": true,
  "bytes_after": 13730,
  "input_bytes": 13264,
  "input_pages": 1,
  "bytes_before": 13264,
  "output_bytes": 13730,
  "reconstructed": false,
  "warning_count": 0,
  "untrusted_content": true,
  "active_content_removed": {}
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tanod-pdf-repair-bcbb98b5/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tanod.dev](https://www.zero.xyz/host/tanod.dev/llms.txt)
