{"uid":"cap_A0Chf9FhbHBYYpNHdCM1R","slug":"tanod-pdfpeek-pdf-protect-8bec1c29","name":"Tanod pdfpeek PDF Protect","description":"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.","url":"https://tanod.dev/v1/pdf/protect?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"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."},"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."},"permissions":{"type":"object","properties":{"print":{"type":"boolean","default":true},"modify":{"type":"boolean","default":true},"annotate":{"type":"boolean","default":true},"assemble":{"type":"boolean","default":true},"copy_text":{"type":"boolean","default":true},"fill_forms":{"type":"boolean","default":true},"accessibility":{"type":"boolean","default":true},"print_high_quality":{"type":"boolean","default":true}},"description":"What a user-password holder may do (default: everything).","additionalProperties":false},"user_password":{"type":"string","maxLength":127,"minLength":1,"description":"Needed to open the PDF; never logged."},"owner_password":{"anyOf":[{"type":"string","maxLength":127,"minLength":1},{"type":"null"}],"default":null,"description":"Lifts the restrictions; default: a random one nobody knows."}}},"responseSchema":{"type":"json","example":{"file":{"name":"protected.pdf","bytes":14183,"pages":1,"data_base64":"JVBERi0xLjcKJb/3... (trimmed: 18,912 base64 characters in the reply)","content_type":"application/pdf"},"operation":"protect","encryption":"AES-256","input_bytes":13264,"input_pages":1,"permissions":{"print":true,"modify":true,"annotate":true,"assemble":true,"copy_text":true,"fill_forms":true,"accessibility":true,"print_high_quality":true},"output_bytes":14183,"untrusted_content":true,"owner_password_set":false,"active_content_removed":{}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_teRYE7bDYDTmqGMD87etC","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Applies AES-256 password protection and granular permission restrictions to a PDF document, returning the encrypted file as base64.","exampleAgentPrompt":"Can you password-protect this PDF for me — the file is at https://example.com/report.pdf — set the user password to 'MySecret123', and disable copying and printing so recipients can't do either of those?","exampleUseCases":[{"title":"Lock confidential contract before sharing","prompt":"I need to protect this confidential contract PDF before emailing it to the client — here's the URL: https://storage.example.com/contract.pdf. Set the user password to 'Client2024!' and turn off the ability to copy text or modify the document."},{"title":"Restrict student exam PDF permissions","prompt":"Please encrypt this exam PDF so students can open it with the password 'ExamDay2025' but cannot print it, copy text from it, or annotate it — the file is at https://school.example.com/exam_final.pdf."},{"title":"Protect invoice PDF with owner controls","prompt":"I want to lock down this invoice PDF with AES-256 encryption. The PDF is base64-encoded — here's the data: [base64string]. Set the user password to 'InvoiceOpen' and the owner password to 'AdminOverride99' so only I can lift the restrictions later."}],"resultDescription":"Returns a JSON object containing the AES-256 encrypted PDF as a base64-encoded string, along with the file name, byte size, page count, content type, the permissions that were applied, input/output byte sizes, and flags indicating whether an owner password was set and whether active content was removed.","failureModes":["PDF URL is inaccessible, private, or IP-literal host — returns error refusing the URL","PDF exceeds 20 MB via URL or 10 MB via base64 — rejected with size error","Neither url nor pdf_base64 provided — missing required input error","Invalid base64 encoding in pdf_base64 — parse error","user_password not provided — required field missing error","Password exceeds 127 characters — validation error","Malformed or non-PDF file submitted — processing error"],"whenToPreferThis":"Choose this endpoint when you need server-side AES-256 PDF encryption with fine-grained permission controls (print, copy, annotate, assemble, fill forms, accessibility) without setting up local PDF tooling. Ideal for AI agents that need to secure documents on the fly before delivery. Prefer this over client-side solutions when the PDF is already hosted at a public URL and you want a pay-per-call model with no infrastructure overhead.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-11T18:41:49.387Z","isFirstParty":false,"canonicalSlug":"tanod-pdfpeek-pdf-protect-8bec1c29"}