Api Endpoint

Tanod pdfpeek

pdfpeek (Tanod) Excel workbook build: a styled .xlsx made from JSON sheets, columns and rows. Use when an agent must produce an Excel workbook (.xlsx) from JSON data: typed columns, styled header, several sheets.

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/docs/xlsx-build
MIME type
application/json
First seen
2026-10-16T01:51:02.144Z
Last seen
Tags
xlsx, excel-generation, json-to-excel, spreadsheet, pdfpeek, docs, build, pdf

Payment pricing

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

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

Observed health

Status
Healthy
Latest latency
300 ms
Average latency
578 ms
HTTP status
204
Last checked
Reachability
100% over 10 checks

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

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "filename": {
          "anyOf": [
            {
              "maxLength": 100,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Name of the returned file (default workbook.xlsx; .xlsx is added when missing; only letters, digits, space, dot, dash and underscore are kept)."
        },
        "sheets": {
          "description": "The sheets, in order: 1-20, each with a unique name, optional typed columns and rows (at most 50,000 cells in all).",
          "items": {
            "additionalProperties": false,
            "properties": {
              "autofilter": {
                "default": true,
                "description": "Filter buttons on the header row.",
                "type": "boolean"
              },
              "columns": {
                "anyOf": [
                  {
                    "items": {
                      "additionalProperties": false,
                      "properties": {
                        "format": {
                          "anyOf": [
                            {
                              "maxLength": 100,
                              "minLength": 1,
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Custom Excel number format (for example \"€#,##0.00\") instead of the type's default."
                        },
                        "header": {
                          "description": "Header text (also the key that picks the value when rows are objects).",
                          "maxLength": 32767,
                          "minLength": 1,
                          "type": "string"
                        },
                        "type": {
                          "anyOf": [
                            {
                              "enum": [
                                "string",
                                "number",
                                "integer",
                                "date",
                                "datetime",
                                "boolean",
                                "currency",
                                "percent"
                              ],
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "string, number, integer, date, datetime, boolean, currency or percent. Sets the cell type and number format; a value that does not fit is a 422. Without it the type follows each JSON value."
                        },
                        "width": {
                          "anyOf": [
                            {
                              "exclusiveMinimum": 0,
                              "maximum": 255,
                              "type": "number"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Column width in characters; default: fitted to the content."
                        }
                      },
                      "required": [
                        "header"
                      ],
                      "type": "object"
                    },
                    "maxItems": 16384,
                    "type": "array"
                  },
                  {
                    "type": "null"
                  }
                ],
                "default": null,
                "description": "Typed columns. Omit them and object rows give the headers from their keys (first-seen order); array rows then have no header row."
              },
              "freeze_header": {
                "default": true,
                "description": "Freeze the header row.",
                "type": "boolean"
              },
              "name": {
                "maxLength": 31,
                "minLength": 1,
                "type": "string"
              },
              "rows": {
                "description": "Array rows (values by position) or object rows (values by header). A value is a string, number, boolean or null (an empty cell).",
                "items": {
                  "anyOf": [
                    {
                      "items": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "integer"
                          },
                          {
                            "type": "number"
                          },
                          {
                            "type": "boolean"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    {
                      "additionalProperties": {
                        "anyOf": [
                          {
                            "type": "string"
                          },
                          {
                            "type": "integer"
                          },
                          {
                            "type": "number"
                          },
                          {
                            "type": "boolean"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "type": "object"
                    }
                  ]
                },
                "maxItems": 1048575,
                "type": "array"
              }
            },
            "required": [
              "name",
              "rows"
            ],
            "type": "object"
          },
          "maxItems": 20,
          "minItems": 1,
          "type": "array"
        }
      },
      "required": [
        "sheets"
      ],
      "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 schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "filename": {
              "anyOf": [
                {
                  "maxLength": 100,
                  "minLength": 1,
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "description": "Name of the returned file (default workbook.xlsx; .xlsx is added when missing; only letters, digits, space, dot, dash and underscore are kept)."
            },
            "sheets": {
              "description": "The sheets, in order: 1-20, each with a unique name, optional typed columns and rows (at most 50,000 cells in all).",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "autofilter": {
                    "default": true,
                    "description": "Filter buttons on the header row.",
                    "type": "boolean"
                  },
                  "columns": {
                    "anyOf": [
                      {
                        "items": {
                          "additionalProperties": false,
                          "properties": {
                            "format": {
                              "anyOf": [
                                {
                                  "maxLength": 100,
                                  "minLength": 1,
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "default": null,
                              "description": "Custom Excel number format (for example \"€#,##0.00\") instead of the type's default."
                            },
                            "header": {
                              "description": "Header text (also the key that picks the value when rows are objects).",
                              "maxLength": 32767,
                              "minLength": 1,
                              "type": "string"
                            },
                            "type": {
                              "anyOf": [
                                {
                                  "enum": [
                                    "string",
                                    "number",
                                    "integer",
                                    "date",
                                    "datetime",
                                    "boolean",
                                    "currency",
                                    "percent"
                                  ],
                                  "type": "string"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "default": null,
                              "description": "string, number, integer, date, datetime, boolean, currency or percent. Sets the cell type and number format; a value that does not fit is a 422. Without it the type follows each JSON value."
                            },
                            "width": {
                              "anyOf": [
                                {
                                  "exclusiveMinimum": 0,
                                  "maximum": 255,
                                  "type": "number"
                                },
                                {
                                  "type": "null"
                                }
                              ],
                              "default": null,
                              "description": "Column width in characters; default: fitted to the content."
                            }
                          },
                          "required": [
                            "header"
                          ],
                          "type": "object"
                        },
                        "maxItems": 16384,
                        "type": "array"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "default": null,
                    "description": "Typed columns. Omit them and object rows give the headers from their keys (first-seen order); array rows then have no header row."
                  },
                  "freeze_header": {
                    "default": true,
                    "description": "Freeze the header row.",
                    "type": "boolean"
                  },
                  "name": {
                    "maxLength": 31,
                    "minLength": 1,
                    "type": "string"
                  },
                  "rows": {
                    "description": "Array rows (values by position) or object rows (values by header). A value is a string, number, boolean or null (an empty cell).",
                    "items": {
                      "anyOf": [
                        {
                          "items": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              },
                              {
                                "type": "number"
                              },
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "type": "array"
                        },
                        {
                          "additionalProperties": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "integer"
                              },
                              {
                                "type": "number"
                              },
                              {
                                "type": "boolean"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "type": "object"
                        }
                      ]
                    },
                    "maxItems": 1048575,
                    "type": "array"
                  }
                },
                "required": [
                  "name",
                  "rows"
                ],
                "type": "object"
              },
              "maxItems": 20,
              "minItems": 1,
              "type": "array"
            }
          },
          "required": [
            "sheets"
          ],
          "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": {
            "cells": {
              "type": "integer"
            },
            "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"
            },
            "formula_like_strings": {
              "type": "integer"
            },
            "operation": {
              "type": "string"
            },
            "output_bytes": {
              "type": "integer"
            },
            "rows": {
              "type": "integer"
            },
            "sheet_summary": {
              "items": {
                "properties": {
                  "cells": {
                    "type": "integer"
                  },
                  "columns": {
                    "type": "integer"
                  },
                  "name": {
                    "type": "string"
                  },
                  "rows": {
                    "type": "integer"
                  }
                },
                "required": [
                  "name",
                  "rows",
                  "columns",
                  "cells"
                ],
                "type": "object"
              },
              "type": "array"
            },
            "sheets": {
              "type": "integer"
            }
          },
          "required": [
            "operation",
            "sheets",
            "rows",
            "cells",
            "sheet_summary",
            "file",
            "output_bytes"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}