{"uid":"cap_u87PmSkDCCpireajtRvem","slug":"tanod-docs-pdf-inspect-0f32e158","name":"Tanod Docs PDF Inspect","description":"Documents: DOCX template fill, Office to PDF, any file to Markdown, PDF to Word, OCR, PDF pipeline.","url":"https://docs.tanod.dev/v1/pdf/inspect?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."},"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."}}},"responseSchema":{"type":"json","example":{"xfa":true,"pages":[{"page":1,"paper":"Letter","images":0,"mediabox":[0,0,611.98,791.97],"rotation":0,"width_pt":611.98,"height_pt":791.97,"text_chars":5794,"annotations":23,"orientation":"portrait","looks_scanned":false,"has_text_layer":true,"image_coverage":0},{"page":2,"paper":"Letter","images":0,"mediabox":[0,0,611.98,791.97],"rotation":0,"width_pt":611.98,"height_pt":791.97,"text_chars":8392,"annotations":0,"orientation":"portrait","looks_scanned":false,"has_text_layer":true,"image_coverage":0},{"page":3,"paper":"Letter","images":0,"mediabox":[0,0,611.98,791.97],"rotation":0,"width_pt":611.98,"height_pt":791.97,"text_chars":7887,"annotations":0,"orientation":"portrait","looks_scanned":false,"has_text_layer":true,"image_coverage":0},{"page":4,"paper":"Letter","images":0,"mediabox":[0,0,611.98,791.97],"rotation":0,"width_pt":611.98,"height_pt":791.97,"text_chars":7457,"annotations":0,"orientation":"portrait","looks_scanned":false,"has_text_layer":true,"image_coverage":0},{"page":5,"paper":"Letter","images":0,"mediabox":[0,0,611.98,791.97],"rotation":0,"width_pt":611.98,"height_pt":791.97,"text_chars":6114,"annotations":0,"orientation":"portrait","looks_scanned":false,"has_text_layer":true,"image_coverage":0},{"page":6,"paper":"Letter","images":0,"mediabox":[0,0,611.98,791.97],"rotation":0,"width_pt":611.98,"height_pt":791.97,"text_chars":3147,"annotations":0,"orientation":"portrait","looks_scanned":false,"has_text_layer":true,"image_coverage":0}],"tagged":true,"has_form":true,"encrypted":false,"operation":"inspect","linearized":false,"page_count":6,"attachments":0,"form_fields":23,"has_outline":false,"input_bytes":140815,"pdf_version":"1.7","outline_depth":0,"outline_items":0,"scanned_pages":[],"signed_fields":0,"text_analysis":"complete","active_content":{"xfa":1,"javascript":1},"has_javascript":true,"has_attachments":false,"pages_with_text":6,"signature_fields":0,"untrusted_content":true,"javascript_actions":1,"scanned_page_count":0,"attachments_truncated":false}},"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_oIrQGhS9UDcPxR3jH9rIO","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":"Inspects a PDF and returns detailed structural metadata including page count, dimensions, text layers, form fields, annotations, XFA, JavaScript, encryption, and scanned-page detection.","exampleAgentPrompt":"Can you inspect this PDF at https://example.com/contract.pdf and tell me whether it has a text layer, how many pages it has, if there are any form fields, and whether it contains JavaScript or other active content?","exampleUseCases":[{"title":"Pre-processing check before OCR pipeline","prompt":"Before we run OCR on this PDF, can you inspect it and tell me which pages look scanned versus which have actual text layers? Here's the URL: https://storage.example.com/report.pdf"},{"title":"Security audit of uploaded PDF","prompt":"I need to know if this PDF we received from a vendor contains any JavaScript, XFA forms, or other active content that might be risky — can you inspect it? Here's the file as base64."},{"title":"Form field inventory for automation","prompt":"We're building an automated form-filling workflow — can you inspect this PDF at https://docs.example.com/application_form.pdf and tell me how many form fields it has, whether it uses XFA, and if it's encrypted?"}],"resultDescription":"A JSON object containing: total page count, PDF version, linearization status, encryption status, XFA and JavaScript presence flags, attachment count, form field count, signature field count, tagged/outline status, and a per-page breakdown with paper size, dimensions (mediabox), rotation, orientation, text character count, image count, image coverage percentage, annotation count, whether the page looks scanned, and whether it has a text layer.","failureModes":["URL points to a non-PDF file — returns error","PDF exceeds 20 MB via URL or 10 MB via base64 — rejected","URL resolves to a private/internal IP or non-public host — refused","Malformed or corrupted PDF — parsing error returned","Neither url nor pdf_base64 provided — validation error","Base64 string exceeds maximum length — rejected"],"whenToPreferThis":"Use this endpoint when you need to understand a PDF's structure before processing it further — for example, to decide whether OCR is needed, whether form fields can be auto-filled, whether the document contains suspicious active content, or to route documents in a pipeline based on their properties. Prefer this over full-conversion endpoints when you only need metadata, not content extraction.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T12:44:24.788Z","isFirstParty":false,"canonicalSlug":"tanod-docs-pdf-inspect-0f32e158"}