{"slug":"tanod-dev-v1-pdf-bank-statement-c4395a","title":"pdfpeek (Tanod) bank statement","host":"tanod.dev","method":"POST","resource":"https://tanod.dev/v1/pdf/bank-statement","category":"market","description":"pdfpeek (Tanod) bank statement: a PDF statement read into dated, signed transactions with a running-balance check (JSON, CSV, XLSX, OFX or QIF).","price_listed":0.02,"price_asked":0.02,"state":"answering","state_label":"Answering","checks_7d":1,"answered_7d":1,"latency_ms_median":419,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:137","eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"url":"https://tanod.dev/samples/statement-sample.pdf"},"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":{"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: the transactions with their reconciliation), csv, xlsx (a Transactions and a Summary sheet), ofx (OFX 1.0.2) or qif (Quicken, dates as MM/DD/YYYY).","enum":["json","csv","xlsx","ofx","qif"],"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":{"account":{"properties":{"iban":{"type":["string","null"]},"number":{"type":["string","null"]}},"type":"object"},"closing_balance":{"type":["number","null"]},"closing_balance_source":{"type":"string"},"confidence":{"maximum":1,"minimum":0,"type":"number"},"currency":{"type":["string","null"]},"date_order":{"enum":["dmy","mdy",null],"type":["string","null"]},"date_order_source":{"type":["string","null"]},"decimals":{"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"},"flagged_rows":{"items":{"properties":{"date":{"type":["string","null"]},"description":{"type":"string"},"note":{"type":["string","null"]},"row":{"type":"integer"}},"required":["row"],"type":"object"},"type":"array"},"format":{"enum":["json","csv","xlsx","ofx","qif"],"type":"string"},"input_bytes":{"type":"integer"},"input_pages":{"type":"integer"},"layout":{"enum":["signed_amount","debit_credit","amount_cr_dr"],"type":"string"},"opening_balance":{"type":["number","null"]},"opening_balance_source":{"type":"string"},"operation":{"type":"string"},"order":{"enum":["oldest_first","newest_first"],"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"},"period":{"properties":{"end":{"type":["string","null"]},"start":{"type":["string","null"]}},"type":"object"},"reconciliation":{"properties":{"balance_check":{"type":["boolean","null"]},"checked":{"type":"integer"},"flagged":{"type":"integer"},"passed":{"type":"integer"},"unchecked":{"type":"integer"}},"required":["checked","passed","flagged","unchecked","balance_check"],"type":"object"},"total_in":{"type":"number"},"total_out":{"type":"number"},"transaction_count":{"type":"integer"},"transactions":{"items":{"properties":{"amount":{"type":"number"},"balance":{"type":["number","null"]},"date":{"type":["string","null"]},"description":{"type":"string"},"note":{"type":["string","null"]},"page":{"type":"integer"},"row":{"type":"integer"},"row_ok":{"type":["boolean","null"]},"value_date":{"type":["string","null"]}},"required":["row","page","date","description","amount","balance","row_ok"],"type":"object"},"type":"array"},"untrusted_content":{"type":"boolean"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["operation","input_bytes","input_pages","pages_processed","format","layout","currency","opening_balance","closing_balance","total_in","total_out","transaction_count","confidence","reconciliation","flagged_rows","warnings","untrusted_content"],"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.02,"price_match":true,"latency_ms":419,"error":null}],"description_full":"pdfpeek (Tanod) bank statement: a PDF statement read into dated, signed transactions with a running-balance check (JSON, CSV, XLSX, OFX or QIF).","last_updated":"2026-10-09T02:53:50.943Z","schemes":["exact"]}