Api Endpoint

Tanod pdfpeek

Use when an agent must pull the tables out of a PDF as JSON, CSV or XLSX for analysis. pdfpeek (Tanod) PDF tables: the tables of up to 200 pages of a text PDF read as JSON, CSV or XLSX.

Open interactive test console

Offering

Provider
tanod.dev
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Data
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://tanod.dev/v1/pdf/tables
MIME type
application/json
First seen
2026-10-16T01:51:02.144Z
Last seen
Tags
pdfpeek, pdf, tables, pdf-tools, ocr, documents

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.01 USDC
Atomic price: 10000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 3
0.01 USDC
Atomic price: 10000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Payment option 4
0.01 USDC
Atomic price: 10000000000000000 · Network: eip155:56 · Asset: USDC · Scheme: exact
Payment option 5
0.01 USDC
Atomic price: 10000 · Network: eip155:42161 · Asset: USDC · Scheme: exact
Payment option 6
0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 7
0.01 USDC
Atomic price: 10000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "10000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "10000",
    "payTo": "RMk9k3VC8dr4hhjgFh88rGhjAbzfBzHxJJ5n2fTcqus"
  },
  {
    "scheme": "exact",
    "network": "eip155:56",
    "asset": "0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
    "amount": "10000000000000000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:42161",
    "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
    "amount": "10000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "10000",
    "payTo": "0x593857A4a4F619543ea12394137C3004ce841720"
  }
]

Observed health

Status
Healthy
Latest latency
309 ms
Average latency
787 ms
HTTP status
204
Last checked
Reachability
100% over 11 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "POST"
      ]
    },
    "bodyType": {
      "type": "string",
      "enum": [
        "json",
        "form-data",
        "text"
      ]
    },
    "body": {
      "additionalProperties": false,
      "properties": {
        "url": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "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 file_base64."
        },
        "file_base64": {
          "anyOf": [
            {
              "maxLength": 13398872,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "The PDF as base64 (at most 10 MB decoded); or use url."
        },
        "pages": {
          "anyOf": [
            {
              "maxLength": 200,
              "minLength": 1,
              "pattern": "^[0-9a-zA-Z ,\\-]+$",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Pages to read (default all; at most 200 per call): N, N-M, N- (to the end), -M, last; comma separated, e.g. 1-5,9."
        },
        "format": {
          "default": "json",
          "description": "json (default: every table with its page, box, header and rows), csv (one CSV file per table) or xlsx (one workbook, a sheet per table).",
          "enum": [
            "json",
            "csv",
            "xlsx"
          ],
          "type": "string"
        },
        "output": {
          "default": "base64",
          "description": "base64 (default): inline. url: stored for 24 hours; link, metadata.",
          "enum": [
            "base64",
            "url"
          ],
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "additionalProperties": false
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "file_base64": {
              "anyOf": [
                {
                  "maxLength": 13398872,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "The PDF as base64 (at most 10 MB decoded); or use url."
            },
            "format": {
              "default": "json",
              "description": "json (default: every table with its page, box, header and rows), csv (one CSV file per table) or xlsx (one workbook, a sheet per table).",
              "enum": [
                "json",
                "csv",
                "xlsx"
              ],
              "type": "string"
            },
            "pages": {
              "anyOf": [
                {
                  "maxLength": 200,
                  "minLength": 1,
                  "pattern": "^[0-9a-zA-Z ,\\-]+$",
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Pages to read (default all; at most 200 per call): N, N-M, N- (to the end), -M, last; comma separated, e.g. 1-5,9."
            },
            "url": {
              "anyOf": [
                {
                  "maxLength": 2048,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "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 file_base64."
            }
          },
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "properties": {
            "file": {
              "properties": {
                "bytes": {
                  "type": "integer"
                },
                "content_type": {
                  "type": "string"
                },
                "data_base64": {
                  "type": "string"
                },
                "dpi": {
                  "type": "integer"
                },
                "first_page": {
                  "type": "integer"
                },
                "height": {
                  "type": "integer"
                },
                "last_page": {
                  "type": "integer"
                },
                "name": {
                  "type": "string"
                },
                "page": {
                  "type": "integer"
                },
                "pages": {
                  "type": "integer"
                },
                "width": {
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "content_type",
                "bytes",
                "data_base64"
              ],
              "type": "object"
            },
            "file_count": {
              "type": "integer"
            },
            "files": {
              "items": {
                "properties": {
                  "bytes": {
                    "type": "integer"
                  },
                  "content_type": {
                    "type": "string"
                  },
                  "data_base64": {
                    "type": "string"
                  },
                  "dpi": {
                    "type": "integer"
                  },
                  "first_page": {
                    "type": "integer"
                  },
                  "height": {
                    "type": "integer"
                  },
                  "last_page": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "page": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  },
                  "width": {
                    "type": "integer"
                  }
                },
                "required": [
                  "name",
                  "content_type",
                  "bytes",
                  "data_base64"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "format": {
              "enum": [
                "json",
                "csv",
                "xlsx"
              ],
              "type": "string"
            },
            "input_bytes": {
              "type": "integer"
            },
            "input_pages": {
              "type": "integer"
            },
            "operation": {
              "type": "string"
            },
            "output_bytes": {
              "type": "integer"
            },
            "pages_failed": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            "pages_processed": {
              "type": "integer"
            },
            "pages_without_text": {
              "items": {
                "type": "integer"
              },
              "type": "array"
            },
            "table_count": {
              "type": "integer"
            },
            "tables": {
              "items": {
                "properties": {
                  "bbox": {
                    "items": {
                      "type": "number"
                    },
                    "type": "array"
                  },
                  "columns": {
                    "type": "integer"
                  },
                  "header": {
                    "items": {
                      "type": "string"
                    },
                    "type": [
                      "array",
                      "null"
                    ]
                  },
                  "index": {
                    "type": "integer"
                  },
                  "method": {
                    "enum": [
                      "lines",
                      "text"
                    ],
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "page": {
                    "type": "integer"
                  },
                  "row_count": {
                    "type": "integer"
                  },
                  "rows": {
                    "items": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "name",
                  "page",
                  "index",
                  "method",
                  "bbox",
                  "columns",
                  "row_count"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "untrusted_content": {
              "type": "boolean"
            },
            "warnings": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "required": [
            "operation",
            "input_bytes",
            "input_pages",
            "pages_processed",
            "format",
            "table_count",
            "tables",
            "untrusted_content"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}