{"slug":"tanod-dev-v1-docs-xlsx-build-0fcd30","title":"pdfpeek (Tanod) Excel workbook build","host":"tanod.dev","method":"POST","resource":"https://tanod.dev/v1/docs/xlsx-build","category":"other","description":"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.","price_listed":0.005,"price_asked":0.005,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":218,"reported_calls_30d":2,"reported_payers_30d":2,"networks":["eip155:137","eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"filename":"sales-q3.xlsx","sheets":[{"columns":[{"header":"Region"},{"header":"Units","type":"integer"},{"header":"Revenue","type":"currency"},{"header":"Share","type":"percent"},{"header":"Closed","type":"date"}],"name":"Sales","rows":[["North",120,4800.5,0.42,"2026-09-30"],["South",85,3400,0.31,"2026-10-01"]]}]},"bodyType":"json","method":"POST","type":"http"},"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"},"history":[{"day":"2026-10-10","reachable":true,"status":402,"valid_402":true,"asked_usdc":0.005,"price_match":true,"latency_ms":218,"error":null}],"description_full":"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.","last_updated":"2026-10-09T20:13:24.033Z","schemes":["exact"]}