80trust / 100

Pdf Inspect

by Tanod pdfpeek in Documents & files

x402 APIPassing, checked 3 h ago

pdfpeek (Tanod) PDF inspect: page sizes, text layer or scan, forms, attachments, JavaScript, bookmarks.

POST https://tanod.dev/v1/pdf/inspect

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
275 ms typical, 1.1 s slowest 5%
Last check
3 h ago
Next check
any minute now

How to call it

# bash or zsh: see the payment challenge (nothing is charged)
curl -g -i -X POST 'https://tanod.dev/v1/pdf/inspect' \
  -H 'content-type: application/json' \
  --data-raw '{"url":"https://www.irs.gov/pub/irs-pdf/fw9.pdf"}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Ftanod.dev%2Fv1%2Fpdf%2Finspect
const res = await pay("https://tanod.dev/v1/pdf/inspect", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: "{\"url\":\"https://www.irs.gov/pub/irs-pdf/fw9.pdf\"}",
});
console.log(await res.json());

Example input

{
  "url": "https://www.irs.gov/pub/irs-pdf/fw9.pdf"
}

Example output

{
  "active_content": {
    "javascript": 1,
    "xfa": 1
  },
  "attachments": 0,
  "attachments_truncated": false,
  "encrypted": false,
  "form_fields": 23,
  "has_attachments": false,
  "has_form": true,
  "has_javascript": true,
  "has_outline": false,
  "input_bytes": 140815,
  "javascript_actions": 1,
  "linearized": false,
  "operation": "inspect",
  "outline_depth": 0,
  "outline_items": 0,
  "page_count": 6,
  "pages": [
    {
      "annotations": 23,
      "has_text_layer": true,
      "height_pt": 791.97,
      "image_coverage": 0,
      "images": 0,
      "looks_scanned": false,
      "mediabox": [
        0,
        0,
        611.98,
        791.97
      ],
      "orientation": "portrait",
      "page": 1,
      "paper": "Letter",
      "rotation": 0,
      "text_chars": 5794,
      "width_pt": 611.98
    },
    {
      "annotations": 0,
      "has_text_layer": true,
      "height_pt": 791.97,
      "image_coverage": 0,
      "images": 0,
      "looks_scanned": false,
      "mediabox": [
        0,
        0,
        611.98,
        791.97
      ],
      "orientation": "portrait",
      "page": 2,
      "paper": "Letter",
      "rotation": 0,
      "text_chars": 8392,
      "width_pt": 611.98
    },
    {
      "annotations": 0,
      "has_text_layer": true,
      "height_pt": 791.97,
      "image_coverage": 0,
      "images": 0,
      "looks_scanned": false,
      "mediabox": [
        0,
        0,
        611.98,
        791.97
      ],
      "orientation": "portrait",
      "page": 3,
      "paper": "Letter",
      "rotation": 0,
      "text_chars": 7887,
      "width_pt": 611.98
    },
    {
      "annotations": 0,
      "has_text_layer": true,
      "height_pt": 791.97,
      "image_coverage": 0,
      "images": 0,
      "looks_scanned": false,
      "mediabox": [
        0,
        0,
        611.98,
        791.97
      ],
      "orientation": "portrait",
      "page": 4,
      "paper": "Letter",
      "rotation": 0,
      "text_chars": 7457,
      "width_pt": 611.98
    },
    {
      "annotations": 0,
      "has_text_layer": true,
      "height_pt": 791.97,
      "image_coverage": 0,
      "images": 0,
      "looks_scanned": false,
      "mediabox": [
        0,
        0,
        611.98,
        791.97
      ],
      "orientation": "portrait",
      "page": 5,
      "paper": "Letter",
      "rotation": 0,
      "text_chars": 6114,
      "width_pt": 611.98
    },
    {
      "annotations": 0,
      "has_text_layer": true,
      "height_pt": 791.97,
      "image_coverage": 0,
      "images": 0,
      "looks_scanned": false,
      "mediabox": [
        0,
        0,
        611.98,
        791.97
      ],
      "orientation": "portrait",
      "page": 6,
      "paper": "Letter",
      "rotation": 0,
      "text_chars": 3147,
      "width_pt": 611.98
    }
  ],
  "pages_with_text": 6,
  "pdf_version": "1.7",
  "scanned_page_count": 0,
  "scanned_pages": [],
  "signature_fields": 0,
  "signed_fields": 0,
  "tagged": true,
  "

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
3 h agoPassed402351 ms$0.005
7 h agoPassed4021.1 s$0.005
11 h agoPassed402273 ms$0.005
15 h agoPassed402284 ms$0.005
19 h agoPassed402409 ms$0.005
22 h agoPassed402271 ms$0.005
26 h agoPassed402365 ms$0.005
29 h agoPassed402277 ms$0.005
33 h agoPassed402269 ms$0.005
36 h agoPassed402265 ms$0.005
40 h agoPassed402457 ms$0.005
44 h agoPassed402266 ms$0.005
2 days agoPassed402275 ms$0.005
2 days agoPassed4021.7 s$0.005
2 days agoPassed402269 ms$0.005