# Tanod Docs > Documents: DOCX template fill, Office to PDF, any file to Markdown, PDF to Word, OCR, PDF pipeline. A focused part of Tanod (https://tanod.dev/llms.txt covers every family), over HTTP and MCP. > > Pay per call in USDC on Base or Polygon or Solana with x402, or on Tempo with MPP; no account or API key. Free tier: a small daily per-IP > pool per family; over HTTP add the header `X-Tanod-Free: 1` to an unpaid call (without it every unpaid call gets the 402); over MCP > the free tier is automatic. > Every result is automated and heuristic, not an audit: findings can be false positives, and a clean result is not proof that code or a package is free of risk. > Tanod is operated by an autonomous AI agent on behalf of its owner. Scans run automatically; no person reviews individual results. ## API - [OpenAPI spec](https://docs.tanod.dev/openapi.json): machine-readable description of this family's 39 routes. - [x402 resources](https://docs.tanod.dev/.well-known/x402) - MCP: `https://tanod.dev/mcp/docs` (server `tanod-docs`) ## Routes - `POST https://docs.tanod.dev/v1/docs/to-markdown` (convert_pdf_to_markdown): Convert a document to Markdown: PDF, DOCX, Excel, PowerPoint, HTML, EPUB or CSV to Markdown (pdfpeek) Use when an agent must read a Word, Excel, PowerPoint, PDF, HTML or EPUB file as Markdown text. - `POST https://docs.tanod.dev/v1/pdf/tables` (extract_tables_from_pdf): Extract tables from a PDF: PDF table to CSV, JSON or Excel (pdfpeek) Use when an agent must pull the tables out of a PDF as JSON, CSV or XLSX for analysis. - `POST https://docs.tanod.dev/v1/pdf/bank-statement` (convert_bank_statement_to_csv): Convert a bank statement to CSV: parse a bank statement PDF to Excel, OFX or QIF (pdfpeek) Use when an agent must turn a PDF bank statement into dated transactions for bookkeeping or import. - `POST https://docs.tanod.dev/v1/pdf/to-docx` (convert_pdf_to_word): Convert a PDF to a Word document: PDF to DOCX (pdfpeek) Use when an agent must convert a PDF to Word (.docx) for editing. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/merge` (merge_pdf_files): Merge PDF files: combine or join 2-20 PDFs (with page selections) into one PDF (pdfpeek) Use when an agent must combine several PDFs into one file, optionally taking only selected pages of each. - `POST https://docs.tanod.dev/v1/pdf` (extract_pdf_text): PDF to text: read a PDF from a URL and extract its text and metadata (sitepeek) Use when an agent needs PDF to text: the text of a public PDF given only its URL. - `POST https://docs.tanod.dev/v1/ocr` (ocr_image): Image to text: OCR an image URL and extract text from the image (sitepeek) Use when an agent needs image to text: extract text from an image such as a scan, screenshot or photo. - `POST https://docs.tanod.dev/v1/pdf/split` (split_pdf): Split a PDF by page ranges or every N pages: separate PDF pages into files (pdfpeek) Use when a long PDF must be cut into separate files or page ranges before further processing. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/extract-pages` (extract_pdf_pages): Extract pages from a PDF (in the order given) (pdfpeek) Use when only certain pages of a PDF are needed as a new, smaller PDF. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/remove-pages` (remove_pdf_pages): Remove pages from a PDF (pdfpeek) Use when unwanted pages such as blanks or cover sheets must be deleted from a PDF. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/rotate` (rotate_pdf_pages): Rotate the pages of a PDF by 90, 180 or 270 degrees (pdfpeek) Use when scanned or mis-oriented PDF pages must be turned by 90, 180 or 270 degrees. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/compress` (compress_pdf): Compress a PDF to reduce its file size: shrink a PDF file (lossless, recommended or extreme) (pdfpeek) Use when a PDF is too large to email or upload and its file size must be reduced. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/to-images` (convert_pdf_to_images): Convert PDF to images: PDF to PNG or PDF to JPG, one image per page (pdfpeek) Use when PDF pages must be turned into PNG or JPEG images, for example to show or send to a vision model. - `POST https://docs.tanod.dev/v1/pdf/rasterize` (flatten_pdf_to_image_only): Rasterize a PDF: every page rendered to an image, rebuilt as one PDF (pdfpeek) Use when a PDF must become image-only pages, so no text layer, form, link or script survives. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/from-images` (convert_images_to_pdf): Convert images to PDF: JPG to PDF, or combine 1-30 images (PNG, JPEG, WebP) into one PDF (pdfpeek) Use when a set of images, such as photographed pages, must be combined into one PDF. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/watermark` (add_watermark_to_pdf): Add a watermark to a PDF: stamp text on its pages (pdfpeek) Use when a PDF must be stamped with a text mark such as DRAFT or CONFIDENTIAL on its pages. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/page-numbers` (add_pdf_page_numbers): Add page numbers to a PDF (pdfpeek) Use when a PDF needs page numbers added, for example after merging files. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/protect` (password_protect_pdf): Password protect a PDF: encrypt it (AES-256), add a password to a PDF (pdfpeek) Use when a PDF must be encrypted with a password and restricted permissions before sharing. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/unlock` (unlock_pdf): Unlock a PDF: remove the password and decrypt a password-protected PDF (pdfpeek) Use when an agent holds the password of a protected PDF and needs an unprotected copy to process. - `POST https://docs.tanod.dev/v1/pdf/metadata` (edit_pdf_metadata): Read, edit or strip the metadata of a PDF (pdfpeek) Use when a PDF's title, author or other document metadata must be read, changed or removed. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/html-to-pdf` (convert_html_to_pdf): URL to PDF: convert a web page or HTML to PDF (headless Chromium) (pdfpeek) Use when a URL or web page must be converted to a PDF document. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/ocr` (ocr_pdf): OCR a PDF: OCR a scanned PDF and make the PDF searchable (tesseract) (pdfpeek) Use when a scanned PDF has no text layer and needs OCR so its text can be searched or read. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/inspect` (inspect_pdf_document): Inspect a PDF: page sizes, text layer or scan, forms, attachments, JavaScript, bookmarks (pdfpeek) Use when an agent must learn what a PDF contains before processing it: page sizes, scan or text, forms, scripts. - `POST https://docs.tanod.dev/v1/pdf/reorder` (reorder_pdf_pages): Reorder, repeat or drop the pages of a PDF from a list of page numbers (pdfpeek) Use when the pages of a PDF must be put in a different order. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/crop` (crop_pdf_pages): Crop the margins of a PDF (points or percent, all pages or a selection) (pdfpeek) Use when margins must be trimmed from the pages of a PDF. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/resize` (resize_pdf_pages): Resize PDF pages to A4, Letter, Legal or a custom size (fit, fill or stretch) (pdfpeek) Use when PDF pages must be scaled to a standard size such as A4 or Letter. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/outline` (read_pdf_bookmarks): Read the bookmarks of a PDF as a nested tree (pdfpeek) Use when an agent needs the bookmark tree of a PDF to navigate its chapters by page. - `POST https://docs.tanod.dev/v1/pdf/set-outline` (write_pdf_bookmarks): Write the bookmarks of a PDF from a nested tree (replacing the existing ones) (pdfpeek) Use when a PDF needs bookmarks written from a nested list of titles and pages. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/form-fields` (list_pdf_form_fields): List the form fields of a PDF (names, types, values, options) (pdfpeek) Use when an agent must list the fillable fields of a PDF form before filling it. - `POST https://docs.tanod.dev/v1/pdf/fill-form` (fill_pdf_form): Fill a PDF form: complete the form fields of a PDF from a JSON object (optionally flatten it) (pdfpeek) Use when a PDF form must be filled from JSON values, with an option to flatten it afterwards. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/flatten` (flatten_pdf_forms): Flatten the form fields and annotations of a PDF into the page content (pdfpeek) Use when form fields and annotations of a PDF must be burned into the page so they can no longer be edited. - `POST https://docs.tanod.dev/v1/pdf/repair` (repair_damaged_pdf): Repair a damaged PDF (rebuild its structure; optional fast web view) (pdfpeek) Use when a PDF will not open or parse and needs to be rebuilt from its damaged file. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/pdf/attachments` (manage_pdf_attachments): List, extract or add the file attachments of a PDF (pdfpeek) Use when files embedded in a PDF must be listed or extracted, or a file must be attached to it. - `POST https://docs.tanod.dev/v1/pdf/pipeline` (run_pdf_pipeline): Run up to 10 PDF operations in sequence on one PDF in a single call (pdfpeek) Use when several PDF edits (up to 10) should run in sequence on one file in a single call. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/docs/to-pdf` (convert_word_to_pdf): Convert Word to PDF: DOCX to PDF, also Excel, PowerPoint, OpenDocument or RTF to PDF (pdfpeek) Use when a Word, Excel, PowerPoint, OpenDocument or RTF file must be delivered as a PDF. Add output=url for a 24 h link. - `POST https://docs.tanod.dev/v1/docs/fill-template` (fill_docx_template_with_json_data): Fill the {{placeholders}} of a Word (DOCX) template with JSON data, as DOCX or PDF (pdfpeek) Use when an agent must fill a Word template's {{placeholders}} with data and return a DOCX or PDF. - `POST https://docs.tanod.dev/v1/docs/pptx-build` (build_pptx_from_json_slides): Generate a PowerPoint (PPTX) deck from JSON slides: titles, bullets, speaker notes (pdfpeek) Use when an agent must generate a PowerPoint (.pptx) deck from JSON slides (titles, bullets, notes). - `POST https://docs.tanod.dev/v1/docs/xlsx-to-json` (convert_excel_xlsx_to_json_or_csv): Read an Excel workbook (.xlsx/.xlsm) into structured rows as JSON, or one CSV file per sheet (pdfpeek) Use when an agent must read an Excel (.xlsx) workbook into JSON rows or formula-guarded CSV. - `POST https://docs.tanod.dev/v1/docs/xlsx-build` (build_xlsx_workbook_from_json): Build a styled Excel (.xlsx) workbook from JSON sheets, columns and rows (pdfpeek) Use when an agent must produce an Excel workbook (.xlsx) from JSON data: typed columns, styled header, several sheets.